-
Notifications
You must be signed in to change notification settings - Fork 1.8k
[fips] Add FIPS and non-FIPS implementations for allowed TLS curves #13992
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
[fips] Add FIPS and non-FIPS implementations for allowed TLS curves #13992
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #13992 +/- ##
==========================================
- Coverage 91.61% 91.60% -0.02%
==========================================
Files 655 655
Lines 42782 42786 +4
==========================================
- Hits 39195 39192 -3
- Misses 2764 2769 +5
- Partials 823 825 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
7629190 to
1b1bd95
Compare
|
@dmitryax (since you are tagged as reviewer), I see that the |
|
@ycombinator What I ve been doing in general is look at the "run tests" step in the CI, at the top you can see the make commands that have been used and you can run the same test locally. |
|
@ycombinator that failure seems to be from the time when we had the contrib out of sync. Rebasing should help |
|
I think we need to run the tests with GODEBUG=fips140=only in CI as well then |
f47e6c8 to
6ccd2be
Compare
Definitely. I'm tackling that in a separate PR here: #13926. As suggested in that PR, I created separate issues for each of the failures I found and am putting up PRs (like this one here) to address them. Once all the separate issues are addressed, I'll rebase #13926 on |
Description
This PR introduces a new Go build tag,
requirefips, that can be used (in the future) to build a FIPS-capable distribution of the OTel Collector. This PR uses this new build tag to create FIPS (//go:build requirefips) and non-FIPS (//go:build !requirefips) implementations of allowed TLS curves. The FIPS implementation contains all the TLS curves as the non-FIPS implementation exceptX25519andX25519MLKEM768.If these two curves were included in the FIPS distribution, running it with Golang >=1.24.6 and
GODEBUG=fips140=onlyto surface non-FIPS-compliant algorithm uses will result in errors like so:Link to tracking issue
Fixes #13990
Testing
Run the existing
confighttp.TestHttpReceptionunit test with Go >= 1.24.6 andGODEBUG=fips140=onlyto surface non-FIPS-compliant algorithm uses.Without the
requirefipsbuild tagWith the
requirefipsbuild tag