Skip to content

Commit ed03eb8

Browse files
authored
docs: Add section in README.md about FIPS (#827)
Closes: SDK-2971
1 parent 38ee50e commit ed03eb8

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

README.md

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@ Getting Started Docs: <https://developer.box.com/guides/tooling/sdks/python/>
1616
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
1717
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
1818

19-
- [Versions](#versions)
20-
- [Supported Version](#supported-version)
21-
- [Version schedule](#version-schedule)
2219
- [Installing](#installing)
2320
- [Getting Started](#getting-started)
2421
- [Authorization](#authorization)
@@ -33,6 +30,10 @@ Getting Started Docs: <https://developer.box.com/guides/tooling/sdks/python/>
3330
- [Development Client](#development-client)
3431
- [Customization](#customization)
3532
- [Custom Subclasses](#custom-subclasses)
33+
- [FIPS 140-2 Compliance](#fips-140-2-compliance)
34+
- [Versions](#versions)
35+
- [Supported Version](#supported-version)
36+
- [Version schedule](#version-schedule)
3637
- [Contributing](#contributing)
3738
- [Developer Setup](#developer-setup)
3839
- [Testing](#testing)
@@ -388,6 +389,21 @@ subclass will be returned from all SDK methods that previously returned
388389
an instance of the parent. See `BaseAPIJSONObjectMeta` and `Translator`
389390
to see how the SDK performs dynamic lookups to determine return types.
390391

392+
# FIPS 140-2 Compliance
393+
394+
The Python SDK allows the use of FIPS 140-2 validated SSL libraries, such as OpenSSL 3.0.
395+
However, some actions are required to enable this functionality.
396+
397+
Currently, the latest distributions of Python default to OpenSSL v1.1.1, which is not FIPS compliant.
398+
Therefore, if you want to use OpenSSL 3.0 in your network communication,
399+
you need to ensure that Python uses a custom SSL library.
400+
One way to achieve this is by creating a custom Python distribution with the ssl module replaced.
401+
402+
If you are using JWT for authentication, it is also necessary to ensure that the cryptography library,
403+
which is one of the extra dependencies for JWT, uses OpenSSL 3.0.
404+
To enable FIPS mode for the `cryptography` library, you need to install a FIPS-compliant version of OpenSSL
405+
during the installation process of cryptography using the `pip` command.
406+
391407
# Versions
392408
We use a modified version of [Semantic Versioning](https://semver.org/) for all changes. See [version strategy](VERSIONS.md) for details which is effective from 30 July 2022.
393409

0 commit comments

Comments
 (0)