Skip to content

Add support for OpenSSL3+ URIs (via serf) #31

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

Open
wants to merge 5 commits into
base: trunk
Choose a base branch
from

Conversation

minfrin
Copy link

@minfrin minfrin commented Jun 19, 2025

  • Adds the config option ssl-client-cert-uri to specify the URI of a certificate store.

  • OpenSSL URIs point at files, or pkcs11 smartcards, or TPMs, or native platform certificate stores.

  • Maintains existing ssl-client-cert-file as fallback.

  • Depends on Support OpenSSL3 providers / cert store URLs serf#8

  • Example configuration:

[apachegroup]
ssl-trust-default-ca = yes
ssl-client-cert-uri = /home/minfrin/.my-cert.p12
ssl-client-cert-password = supersecret

  • Smartcard example:

[apachegroup]
ssl-trust-default-ca = yes
ssl-client-cert-uri = pkcs11:token=Venus%20%28Smartcard%20PIN%29;
ssl-client-cert-password-prompt = yes

minfrin added 2 commits June 19, 2025 15:28
- Adds the config option ssl-client-cert-uri to specify the
  URI of a certificate store.

- OpenSSL URIs point at files, or pkcs11 smartcards, or TPMs,
  or native platform certificate stores.

- Maintains existing ssl-client-cert-file as fallback.

- Depends on apache/serf#8

- Example configuration:

[apachegroup]
ssl-trust-default-ca = yes
ssl-client-cert-uri = /home/minfrin/.my-cert.p12
ssl-client-cert-password = supersecret
@dsahlberg-apache-org
Copy link
Collaborator

Please note that the build failures are somewhat expected since the code depends on features from apache/serf#8. Let's work with Serf to get it merged, it is on my todolist for the weekend to review.

Anyway, we need to protect the code above with #ifdefs if Subversion isn't built with a compatible Serf.

@minfrin
Copy link
Author

minfrin commented Jun 27, 2025

Please note that the build failures are somewhat expected since the code depends on features from apache/serf#8. Let's work with Serf to get it merged, it is on my todolist for the weekend to review.

Anyway, we need to protect the code above with #ifdefs if Subversion isn't built with a compatible Serf.

I think I figured out the magic autoconf and magic cmake to detect the symbol, the builds are both good. The failed builds are all what appear to be unrelated test failures.

@minfrin
Copy link
Author

minfrin commented Jul 5, 2025

apache/serf#8 has landed in serf, this patch should work against trunk.

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

Successfully merging this pull request may close these issues.

2 participants