Skip to content
This repository has been archived by the owner on Apr 12, 2024. It is now read-only.

CA: Use openssl extensions instead of manually creating #27

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

Conversation

utopiabound
Copy link

Use openssl::X509::extension::* where available instead of manually building X509Extension.

Add ClientAuth to ExtendedKeyUsage

@erikh
Copy link
Contributor

erikh commented Apr 24, 2023

looks good (glad they finally got around to supporting these in rust-openssl), but I'd encourage you to test the results with zlint and other cert checkers (like the apple one on macs) to ensure they're compatible. I ran into some issues with this.

@erikh
Copy link
Contributor

erikh commented Apr 24, 2023

I think coyote still depends on a fork of rust-openssl too, you can probably eliminate that in Cargo.toml if this is supported by the core library now.

@erikh
Copy link
Contributor

erikh commented Apr 24, 2023

also, you're not going to want client auth for all certs. just the ones that specify client authentication. just making sure you're aware of this as it's a part of the ACME specification.

I'll be quiet now.

@utopiabound
Copy link
Author

looks good (glad they finally got around to supporting these in rust-openssl), but I'd encourage you to test the results with zlint and other cert checkers (like the apple one on macs) to ensure they're compatible. I ran into some issues with this.

Recent openssl (0.10.51) actually deprecates X509Extension::new() in favor of openssl::x509::extension::*. (This change post-dates this PR)

I think coyote still depends on a fork of rust-openssl too, you can probably eliminate that in Cargo.toml if this is supported by the core library now.

It looks like Cargo.toml uses the stock openssl crate.

also, you're not going to want client auth for all certs. just the ones that specify client authentication. just making sure you're aware of this as it's a part of the ACME specification.

All of my letsencrypt certs are good for both Server and Client Auth, and there's nothing in the CSR that would specify one way or the other. Do you have a citation? I can't find anything in RFC8555 one way or the other.

@erikh
Copy link
Contributor

erikh commented Apr 26, 2023 via email

@utopiabound
Copy link
Author

I ran a generated cert through zlint and the only complaints were lack of "Authority Information Access" and "Certificate Policies"

@erikh
Copy link
Contributor

erikh commented Apr 26, 2023 via email

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

Successfully merging this pull request may close these issues.

None yet

2 participants