-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Issue #12428 - ALPN Processor for Bouncy Castle FIPS #12658
base: jetty-12.0.x
Are you sure you want to change the base?
Conversation
@lucarota my understanding is that the API used are those of the JDK, so the configuration of BouncyCastle FIPS is orthogonal. What I mean is that I would prefer this PR to have dependencies on BC FIPS code also does not appear to be in a public repository (I could not find it), so I'd stick with what's in GitHub. @lachlan-roberts, on top of this PR we should refresh @jmcc0nn3ll I assume there is no problem with the BouncyCastle license? It is a MIT license, and we should have already cleared it for |
We would need to put the license block for BouncyCastle into the jetty-keystore.mod file, and have users accept it. (like all other non-eclipse licensed modules we have now) |
Ciao @sbordet, sorrry but the FIPS and non-FIPS versions of BouncyCastle aren’t compatible with each other. The reason we went with the FIPS version here is to ensure compliance with federal standards. This is not just about preference it’s a requirement for certain environments. If you’d rather avoid tying this PR to FIPS-specific dependencies, we can definitely talk about other options. But for now, FIPS was chosen to meet our compliance needs.
You're right, the BC FIPS source isn’t on GitHub, but it’s on Maven central or, as stated on README of the BC repository, you can request it from BouncyCastle by email. Let me know if that makes sense. Ciao, |
In what sense? What FIPS APIs do you use in this PR that are not available in non-FIPS? Actually, unless I missed something, you are not even using BC APIs, but just the JDK APIs. If that's the case, then you can externally configure the providers, and you can choose FIPS or non-FIPS as you like, and everything will work anyway. To be clear:
Given the above, it is left to the test setup, or application setup, to install the BC providers externally. Am I missing something? |
Ciao Simone, Oh OK now I see what you mean. I have modified the code accordingly. Regards, |
Ciao,
I added a new ALPNProcessor for Bouncy Castle TLS FIPS version, both client and server, based on the JDK9ServerALPNProcessor that resolves the issue #12428.
Now all the tests should be correct.
Regards,
Luca Rota