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

Prepare for OpenSSL 3 compatibility #360

Merged
merged 2 commits into from
Jul 14, 2022

Conversation

ClearlyClaire
Copy link
Contributor

This is not enough for OpenSSL 3 compatibility as various dependencies still need fixing, but as far as I know, it should fix all incompatible code from the webauthn-ruby gem itself without breaking compatibility with the 2.2 version of the openssl gem.

Actual compatibility with OpenSSL 3 would require at least the following to be merged:

@lokst
Copy link

lokst commented May 11, 2022

Thank you for raising this, I am also keen on OpenSSL 3 support 🙂

@itay-grudev
Copy link

itay-grudev commented Jun 15, 2022

@ClearlyClaire I am unsure why the additional changes are required. All tests pass with openssl v3.0.0 with just the gemspec change. I created an MR simply with that unaware of your work:

PR: #361
Test results: https://github.com/itay-grudev/webauthn-ruby/runs/6905678939

Have I missed something really important?
I also don't see any deprecation notices.

@ClearlyClaire
Copy link
Contributor Author

@ClearlyClaire I am unsure why the additional changes are required. All tests pass with openssl v3.0.0 with just the gemspec change. I created an MR simply with that unaware of your work:

PR: #361 Test results: https://github.com/itay-grudev/webauthn-ruby/runs/6905678939

Have I missed something really important? I also don't see any deprecation notices.

If I remember correctly, the code will run just fine with no deprecation notice on the openssl gem 3.0.0 built against OpenSSL 1.1, but will fail when built against OpenSSL 3.

@itay-grudev
Copy link

I understand. I will close my PR and will upvote yours. Thank you!

@itay-grudev
Copy link

itay-grudev commented Jun 15, 2022

Is your work backwards compatible with openssl < v3? If so there is really no reason not to merge it.

@ClearlyClaire
Copy link
Contributor Author

Is your work backwards compatible with openssl v2? If so there is really no reason not to merge it.

I ran tests with OpenSSL 1.1 and had no issue.

@senid231
Copy link

senid231 commented Jul 1, 2022

@ClearlyClaire thanks for your work

any news about this?

@brauliomartinezlm
Copy link
Member

@ClearlyClaire sorry for the delay. If you can update the dependencies and add openssl 3 to Appraisal we can get this in shortly. Thanks!

@ClearlyClaire
Copy link
Contributor Author

This gems does not seem to be using Appraisal, it does not come with a Gemfile.lock, and the webauthn.gemspec seems to not forbid openssl 3 or cose 1.2.1. Whether it will need any more change therefore seems to rely entirely on which version tpm-key_attestation will be released as next.

@brauliomartinezlm
Copy link
Member

This gems does not seem to be using Appraisal, it does not come with a Gemfile.lock, and the webauthn.gemspec seems to not forbid openssl 3 or cose 1.2.1. Whether it will need any more change therefore seems to rely entirely on which version tpm-key_attestation will be released as next.

You're right. There's no appraisal here. I was thinking about the conformance tests when I wrote that. I won't block this on that tho, we can fix bump conformance tests to latest version in a separate issue/PR.

I just release tpm-key_attestation v0.11.0 so we need to bump it here in webauthn-ruby

@ClearlyClaire
Copy link
Contributor Author

Seems like tpm-key_attestation has some other breaking changes introduced by cedarcode/tpm-key_attestation@e3e014d

@ClearlyClaire
Copy link
Contributor Author

Pushed a commit changing use of TPM::KeyAttestation to accomodate for the aforementioned breaking changes. The tests run but I'm not 100% sure I haven't missed something. Also, I haven't changed webauthn-ruby's terminology so there is a discrepancy between it and tpm-key_attestation wrt. root certificates vs. trusted certificates.

@ClearlyClaire
Copy link
Contributor Author

Is there anything blocking a merge?

@brauliomartinezlm brauliomartinezlm merged commit f7e17bd into cedarcode:master Jul 14, 2022
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.

None yet

5 participants