Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CRL (revocation list) checking option to client cert check #124

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

rainisto
Copy link

CRL checking is essential part of safe PKI.

Revocation list can be appended to end of pure-ftpd.pem file.

Use case: trusted CA generates server and client certs, and at some point CA revocates the client cert (server should start rejecting the client, which it currently doesn't do). This patch fixes a bug that revoked client cert could still login.

By adding -R:-C: options to chipherlist, it starts checking the CRL list which has been appended to end of pure-ftpd.pem

@jedisct1
Copy link
Owner

Can you update the documentation (README.TLS) as well as the example configuration file, and explain that this should be only used with internal CAs?

@jedisct1
Copy link
Owner

X509_VERIFY_PARAM_new() returns NULL on allocation failure.

X509_VERIFY_PARAM_set_flags() and SSL_CTX_set1_param() return 1 for success or 0 for failure.

All these functions can fail. Can we check for these conditions?

@rainisto
Copy link
Author

rainisto commented May 1, 2019

NULL checking would be useful if memory allocated by OPENSSL_malloc would fail, so I'll add NULL checking to pull request tomorrow. Set flags always returns 1, so no need to check it.

@jedisct1
Copy link
Owner

jedisct1 commented May 1, 2019

Set flags always returns 1, so no need to check it.

It's OpenSSL. You can't expect internals not to change without prior notice, even in a minor revision.

Revocation list can be appended to end of pure-ftpd.pem file.

Fixes a bug that revoked client cert can still login.
@racke
Copy link
Contributor

racke commented Jan 20, 2020

There is a typo in the README.TLS patch (genereted instead of generated).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants