-
-
Notifications
You must be signed in to change notification settings - Fork 9.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change auth.py to be used in a FIPS system #6810
Comments
Could I work on this ticket ? |
that seems ok for me. We use already python 3.10/3.11 in our environment and i believe most cases also |
We support all supported Python versions, which still includes 3.9 |
After giving this a thought, I am hesitant on adding the
Recommendation:
In my experience working with customers requiring FIPS compliance, they typically prefer upgrading to more secure authentication methods rather than maintaining legacy MD5-based approaches. |
Expected Result
Using the requests to perform a HTTPS action is working in a FIPS environment
Actual Result
In UNIX environment with fips enabled the MD5 can't be used.
It provides this error
ValueError: [digital envelope routines: EVP_DigestInit_ex] disabled for FIPS
Solution
Apply this patch in auth.py
`
*** 145,151 ****
def md5_utf8(x):
if isinstance(x, str):
x = x.encode("utf-8")
! return hashlib.md5(x).hexdigest()
hash_utf8 = md5_utf8
elif _algorithm == "SHA":
--- 145,151 ----
def md5_utf8(x):
if isinstance(x, str):
x = x.encode("utf-8")
! return hashlib.md5(x,usedforsecurity=False).hexdigest()
hash_utf8 = md5_utf8
elif _algorithm == "SHA":
`
The text was updated successfully, but these errors were encountered: