Important News:SafeLogic Announces General Availability of CryptoComply BoringCrypto! Read the announcement.
NGINX FIPS 140-3 Implementation with CryptoComply Core
Deploy NGINX TLS termination (edge / reverse proxy / gateway) on a FIPS 140-3 validated cryptographic software foundation—with a repeatable build path and auditable verification.
Developer Summary:
What it is: NGINX built so TLS operations rely on a FIPS-validated cryptographic software foundation (OpenSSL-compatible via CryptoComply Core).
What changes? Build NGINX from source using the CryptoComply-provided OpenSSL headers/libraries, and ensure the runtime configuration enables the FIPS provider.
How to verify: Use nginx -V to confirm it’s built with the CryptoComply OpenSSL version and validate the configuration with nginx -t.
What you get: Validation artifacts, build provenance, and configuration guidance for audit workflows.
Compatibility Notes
- No built-in “FIPS switch.” FIPS behavior is not enforced at the application level; it depends on OS policy and OpenSSL configuration.
- TLS is negotiated. Regulated deployments typically constrain allowed suites/groups to match program policy.
- Verification matters. Confirm the linked OpenSSL version (nginx -V) and keep build/configuration provenance for audits.
Quickstart: Build NGINX FIPS with CryptoComply Core
This workflow builds NGINX from source and links it against SafeLogic’s CryptoComply Core OpenSSL libraries, providing a validated cryptographic foundation.
Prerequisites
- NGINX source (signed tarball or official repo)
- CryptoComply Core binaries (from the SafeLogic Customer Portal)
- Build tools + deps (Debian/RHEL examples in the portal guide)
- Docker (optional)
Set environment variables
export OPENSSL_DIR=/usr/local
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export CPPFLAGS="-I/usr/local/include"
export LDFLAGS="-L/usr/local/lib"
Update the dynamic linker
export OPENSSL_CONF=/usr/local/ssl/openssl.cnf
echo "/usr/local/lib" > /etc/ld.so.conf.d/openssl.conf
ldconfig
Download NGINX source + build
wget https://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
tar -xzf nginx-${NGINX_VERSION}.tar.gz
cd nginx-${NGINX_VERSION}
./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/local/sbin/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-stream \
--with-stream_ssl_module \
--with-pcre-jit \
--with-cc-opt="-I/usr/local/include" \
--with-ld-opt="-L/usr/local/lib -Wl,-rpath,/usr/local/lib"
make -j"$(nproc)"
make install
Verify the build
Basic checks
nginx -v
nginx -t
Confirm the CryptoComply OpenSSL version is in use
nginx -V
Expected example: output shows built with OpenSSL 3.5.5+SL_CC-3.0.0 … (not the system OpenSSL).
Want the Automated Scripts?
SafeLogic provides OS-specific automated build scripts in the portal-delivered use case package to perform the same steps and automatically update openssl.cnf to ensure the FIPS provider is enabled.
Technical Overview
Validated cryptographic foundation, negotiated algorithms, and evidence requirements
| Component / Area | Default Behavior (standard NGINX) | SafeLogic-Approved Approach | Notes / Compliance Impact |
|---|---|---|---|
Cryptographic Foundation |
NGINX commonly links against system OpenSSL |
CryptoComply Core (OpenSSL-compatible) | Standardizes TLS cryptographic operations on a validated foundation. |
TLS Negotiation |
Broad suites/groups depending on defaults |
Constrain per program policy | Prevents negotiation of disallowed options in regulated contexts. |
Verification |
“It’s TLS-enabled” |
nginx -V shows CryptoComply OpenSSL + nginx -t validates config | Produces verifiable proof for audits and troubleshooting. |
Automation |
Manual steps vary by team | Portal-delivered scripts + Docker option | Improves repeatability; scripts update openssl.cnf to enable the FIPS provider. |
The Compliance Gap with Standard NGINX
NGINX does not include a built-in “FIPS switch,” and compliance isn’t enforced at the application level. In practice, whether NGINX is running in a FIPS-ready way depends on OS-level FIPS enablement, the OpenSSL cryptographic implementation it’s linked against, and correct configuration of both OpenSSL and NGINX—so simply enabling TLS does not guarantee compliance.
How SafeLogic closes the gap: Because NGINX depends on OpenSSL, the practical path is to standardize the OpenSSL layer on validated cryptographic software (CryptoComply Core) and ship with verifiable configuration and provenance for auditors.
Access, Rollout, and Evidence
How Customers Access it
Customers access required build artifacts through SafeLogic’s Customer Portal and integrate them into internal artifact repositories and CI/CD pipelines.
- Delivery formats: pre-built artifacts and/or build toolchain integration (based on workflow)
- Supported platforms (OS/architectures): Portal-provided builds across operating systems and CPU architectures (customers see what they're licensed for)
- Selecting the right build: locate artifacts by product/version/operating system/architecture and pull into internal repositories/pipelines
Need the exact OS/architecture matrix for your environment?
Typical Rollout
Proof of Concept
Confirm where NGINX terminates TLS (edge, ingress, gateway), your policy constraints, and target platforms.
Integration
Build NGINX against CryptoComply Core (manually or via scripts) and integrate it into CI/CD and runtime baselines.
Verification
Confirm build/version output and configuration validity (nginx -V, nginx -t).
Production
Deploy through standard rollout/monitoring with repeatable build pipelines.
Evidence for Auditors
- Validation artifacts for the underlying validated cryptographic software (as applicable)
- Build provenance (versions/config flags) and repeatable build description
- Configuration/operation guidance aligned to your program requirements

Frequently Asked Questions (NGINX & FIPS)
Generally, yes—TLS remains standard. Interoperability depends on the suites/groups you constrain to match regulated policy.
No. FIPS 140 validation applies to the underlying cryptographic implementation. This use case standardizes the OpenSSL layer and provides verification and provenance.
Run nginx -V and confirm it reports the CryptoComply OpenSSL version (e.g., OpenSSL 3.5.5+SL_CC-3.0.0).
They perform the same build steps and automatically update openssl.cnf to ensure the FIPS provider is enabled.
NIST will move all FIPS 140-2 certificates to the "Historical List" on September 21, 2026. For NGINX teams, this means any new procurement or major FedRAMP updates must use FIPS 140-3 validated cryptographic software. SafeLogic’s approach is designed to bridge this transition seamlessly.
Ready to Run NGINX in Regulated Environments?
Get guidance on approved TLS policy constraints, supported platforms, and the evidence your program requires. Call us at 844-436-2797 or complete the form below.
Introducing the Cryptography Maturity Action Plan (CMAP)
April 28, 2026 • Brendan Sheairs
CNSA 2.0 and the 2027 Inflection Point
April 22, 2026 • Scott Raspa
Navigating FIPS-Approved TLS Cipher Suites: Part II, TLS 1.3
April 21, 2026 • Aryeh Archer
Navigating FIPS-Approved TLS Cipher Suites: Part I, TLS 1.2
April 14, 2026 • Aryeh Archer
Enabling FIPS-Compliant TLS in Apache and NGINX
March 24, 2026 • Warrie Proffitt
