Skip to content

Conversation

@Sorixelle
Copy link
Contributor

Previously, when supplying an EdDSA key to functions in X509.Certificate that create certificates, the resulting certificate would contain AlgorithmIdentifiers for ECDSA signatures (eg. ecdsa-with-sha256), despite containing an EdDSA signature.

Instead, we now check for Edwards curves being used in an ECPrivateKey in X509.SignatureAlgorithm.new, and return a proper AlgorithmIdentifier for that curve as specified by RFC 8410.

I've also added some unit tests to validate behaviour when working with EdDSA certificates and CRLs.

@voltone
Copy link
Owner

voltone commented Jun 26, 2025

Thanks, yes, I forgot about SignatureAlgorithm. Nice job with the test coverage!

Previously, when supplying an EdDSA key to functions in `X509.Certificate` that create certificates, the resulting
certificate would contain AlgorithmIdentifiers for ECDSA signatures (eg. `ecdsa-with-sha256`), despite containing an
EdDSA signature.

Instead, we now check for Edwards curves being used in an ECPrivateKey in `X509.SignatureAlgorithm.new`, and return a
proper AlgorithmIdentifier for that curve as specified by RFC 8410.
@voltone voltone merged commit 90e63e7 into voltone:master Jun 27, 2025
6 checks passed
@voltone
Copy link
Owner

voltone commented Jun 27, 2025

Thanks!

@Sorixelle Sorixelle deleted the eddsa-signatures branch June 27, 2025 06:57
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