Skip to content

Commit 97b0dd1

Browse files
kcorman0ojasvajain
andauthored
DGS-22768 Update FIPS documentation for 140-3 compliance (#2119)
* fips 140-3 for SR checks * . * comments * Address comments * remove unnecessary files * remove unnecessary files * address comments --------- Co-authored-by: Ojasva Jain <ojain@confluent.io>
1 parent 25973e0 commit 97b0dd1

1 file changed

Lines changed: 22 additions & 5 deletions

File tree

examples/fips/README.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
# FIPS Compliance
22

3-
We tested FIPS compliance for the client using OpenSSL 3.0. To use the client in FIPS-compliant mode, use OpenSSL 3.0. Older versions of OpenSSL have not been verified (although they may work).
3+
4+
This client supports both FIPS 140-2 and FIPS 140-3 compliance. Use the version mapping below to ensure compliance:
5+
6+
| Compliance Standard | OpenSSL Version | FIPS Provider Version |
7+
| :--- | :--- |:------------------------------------------------------------------------------|
8+
| **FIPS 140-2** | 3.x | [3.0.8](https://github.com/openssl/openssl/blob/openssl-3.0.8/README-FIPS.md) |
9+
| **FIPS 140-3** | 3.x | [3.1.2](https://github.com/openssl/openssl/blob/openssl-3.1.2/README-FIPS.md) |
10+
11+
For new deployments, we recommend **FIPS 140-3** as FIPS 140-2 certificates issued after September 21, 2026 will no longer be accepted for federal procurement.
412

513
## Communication between client and Kafka cluster
614

@@ -26,12 +34,15 @@ You configure OpenSSL to use the FIPS provider using the FIPS configuration in O
2634

2735
#### Steps to build FIPS provider module
2836

29-
You can find steps to generate the FIPS provider module in the [README-FIPS doc](https://github.com/openssl/openssl/blob/openssl-3.0.8/README-FIPS.md)
37+
Follow the version-specific READMEs below to build the FIPS provider:
38+
39+
* For FIPS 140-2 (v3.0.8): [Build Guide](https://github.com/openssl/openssl/blob/openssl-3.0.8/README-FIPS.md)
40+
* For FIPS 140-3 (v3.1.2): [Build Guide](https://github.com/openssl/openssl/blob/openssl-3.1.2/README-FIPS.md)
3041

3142
In short, you need to perform the following steps:
3243

3344
1) Clone OpenSSL from [OpenSSL Github Repo](https://github.com/openssl/openssl)
34-
2) Checkout the correct version. (v3.0.8 is the current FIPS compliant version for OpenSSL 3.0 at the time of writing this doc.)
45+
2) Checkout the correct version. (v3.1.2 for FIPS 140-3 and v3.0.8 for FIPS 140-2)
3546
3) Run `./Configure enable-fips`
3647
4) Run `make install_fips`
3748

@@ -82,9 +93,15 @@ To make client (consumer, producer or admin client) FIPS compliant, you must ena
8293

8394
## Communication between client and Schema Registry
8495

85-
The communication between client and Schema Registry is also FIPS compliant if the underlying python is using FIPS compliant OpenSSL. This depends on the system level OpenSSL if the python is installed in default way. To know more on how to use FIPS provider with OpenSSL, check [How to use FIPS Module](https://www.openssl.org/docs/man3.0/man7/fips_module.html) and [Generating FIPS module and config file](https://github.com/openssl/openssl/blob/openssl-3.0.8/README-FIPS.md) links. The steps are briefly described above as well.
96+
The communication between client and Schema Registry is also FIPS compliant if the underlying python is using FIPS compliant OpenSSL. This depends on the system level OpenSSL if the python is installed in default way. To know more on how to use FIPS provider with OpenSSL, check
97+
* [How to use FIPS Module](https://www.openssl.org/docs/man3.0/man7/fips_module.html)
98+
* [Generating FIPS module and config file for FIPS 140-2](https://github.com/openssl/openssl/blob/openssl-3.0.8/README-FIPS.md)
99+
* [Generating FIPS module and config file for FIPS 140-3](https://github.com/openssl/openssl/blob/openssl-3.1.2/README-FIPS.md)
100+
86101

87102
## References
88-
* [Generating FIPS module and config file](https://github.com/openssl/openssl/blob/openssl-3.0.8/README-FIPS.md)
103+
* [Generating FIPS module and config file for FIPS 140-2](https://github.com/openssl/openssl/blob/openssl-3.0.8/README-FIPS.md)
104+
* [Generating FIPS module and config file for FIPS 140-3](https://github.com/openssl/openssl/blob/openssl-3.1.2/README-FIPS.md)
105+
* [OpenSSL 3.1.2: FIPS 140-3 Validated](https://openssl-library.org/post/2025-03-11-fips-140-3/)
89106
* [How to use FIPS Module](https://www.openssl.org/docs/man3.0/man7/fips_module.html)
90107
* [librdkafka SSL Information](https://github.com/confluentinc/librdkafka/blob/master/INTRODUCTION.md#ssl)

0 commit comments

Comments
 (0)