health_cards
health_cards copied to clipboard
OpenSSL v3 Support
This allows usage of JWKs with OpenSSL v3, which is the default in Ubuntu 22.04. OpenSSL v1.1.1 (the current default in many OSes) is EOL later in 2023.
rake test
successfully executes with OpenSSL v1.1.1, so this should be fully backwards compatible. None of that code has changed, but instead it's routed to if the OpenSSL version matches.
I haven't been able to make an isolated environment with OpenSSL v3; I think it would be much easier to do once PR 106 is merged.
That said, I did pull in this branch to my service which is running Ubuntu 22.04 with OpenSSL v3, and I was able to successfully generate QR codes once again.
The Ruby OpenSSL support for parameters is currently lacking, so using the ASN data to manually create keys seems to be "state of the art". See https://github.com/ruby/openssl/issues/369#issuecomment-818583949 and https://github.com/ruby/openssl/issues/369#issuecomment-1365448588 for specifically using ASNs.
Once https://github.com/ruby/openssl/pull/555 is merged it's likely that a lot of the "ugly" code with ASNs can be cleaned up and made simpler, but this gets everything working in the mean time.