The build kept failing. The logs were clean, the code reviews passed, but the checkout pipeline stalled every time the cryptographic modules ran. The culprit was FIPS 140-3.
When you run git checkout in a FIPS 140-3 enforced environment, the rules are different. This standard — the latest from NIST for cryptographic modules — has no patience for algorithms that aren’t approved. If your Git client, SSH, or transport layer uses non-compliant cryptographic primitives, the operation will break without mercy.
FIPS 140-3 is not just a checkbox. It changes how dependencies behave. In a strict mode environment, even the hash function Git uses to verify commits, or the TLS negotiation with your remote, must meet the approved list. That means older algorithms like SHA-1 become a threat to your pipeline — not in a security sense, but in a compliance sense.
The key to getting git checkout to work under FIPS 140-3 is controlling your toolchain. You need a Git build and OpenSSL library that are both compiled with FIPS-approved modules. You must align the SSH client and any credential helpers the same way. One mismatched dependency and the cryptographic check fails.