allow setting FIPS mode at runtime and build against frozen go/crypto#37
Open
SimonTheLeg wants to merge 1 commit intoopenmcp-project:mainfrom
Open
allow setting FIPS mode at runtime and build against frozen go/crypto#37SimonTheLeg wants to merge 1 commit intoopenmcp-project:mainfrom
SimonTheLeg wants to merge 1 commit intoopenmcp-project:mainfrom
Conversation
9d1f32c to
619fd92
Compare
3c24b01 to
68a1b7f
Compare
reshnm
previously approved these changes
Apr 15, 2025
Contributor
|
/LGTM |
68a1b7f to
265aec3
Compare
00e8c98 to
89973d4
Compare
On-behalf-of: SAP <simon.bein@sap.com> Signed-off-by: Simon Bein <simontheleg@gmail.com>
89973d4 to
c7188d9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes internal-backlog number 34
Special notes for your reviewer:
A short explanation of how FIPS in Go 1.24 works in general (from here https://go.dev/doc/security/fips140):
Passing the
GOFIPS140=v1.0.0flag togo buildensures that a frozen version of the Go crypto lib from early 2025 is linked into the binary. This is important as this version is currently being certified for FIPS. Furthermore, theGODEBUG=fips140=onlysetting ensures that the program is going to panic or return an error if a fips incompliant crypto lib function is being called (e.g.crypto/sha1.Sum). Without it the program would just continue running.Things that need to be discussed where we have some leeway:
Currently my implementation follows the motto: FIPS first, no FIPS possible
Update Apr 15th: Was decided to keep as proposed
Release note: