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

Handle builds of OpenSSL 1.0.2 without P-224 curve (Fedora) #118

Open
dagood opened this issue Sep 18, 2023 · 0 comments
Open

Handle builds of OpenSSL 1.0.2 without P-224 curve (Fedora) #118

dagood opened this issue Sep 18, 2023 · 0 comments

Comments

@dagood
Copy link
Collaborator

dagood commented Sep 18, 2023

Mentioned in #44 (comment): some OpenSSL 1.0.2 builds don't include P-224. I initially noticed this while running the x/crypto wycheproof tests on my Fedora dev machine with 1.0.2o-fips, but it makes this repo's TestECDSAKeyGeneration test fail too.

I'm not sure what the best thing to do would be. For my own sake, it would be nice if at least the golang-fips/openssl tests succeeded on my main dev machine. Exporting an API that lists supported NIDs and using that to decide to skip tests seems like it would be fine for that. (If we did that, in CI, we should make sure to expect the full set of curves to be supported and test all of them, in case the "get supported curves" API makes a mistake.)

However, I'm only using Fedora out of familiarity/convenience, and I don't need to use the distro's OpenSSL 1.0.2 build. This isn't something we're expecting to happen inside Microsoft either. So: I don't know if it's worth doing anything about this. Either way, here's an issue to track it. 🙂


I tried making an openssl API for EC_get_builtin_curves (doc) to see what my OpenSSL 1.0.2 supports:

nid 714, comment "SECG curve over a 256 bit prime field"
nid 715, comment "NIST/SECG curve over a 384 bit prime field"
nid 716, comment "NIST/SECG curve over a 521 bit prime field"
nid 415, comment "X9.62/SECG curve over a 256 bit prime field"

My machine also has OpenSSL 1.1 and 3, and when I change the override to use those versions, P-224 is added to the returned list as expected.

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

No branches or pull requests

1 participant