Disable consistency checking of RSA keys for cryptography 42.0.0 which no longer gives access to the required function. (#702)

This commit is contained in:
Felix Fontein
2024-01-26 17:47:46 +01:00
committed by GitHub
parent da30487119
commit 87af1f2761
3 changed files with 9 additions and 1 deletions

View File

@@ -107,7 +107,10 @@ def _check_dsa_consistency(key_public_data, key_private_data):
def _is_cryptography_key_consistent(key, key_public_data, key_private_data):
if isinstance(key, cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey):
return bool(key._backend._lib.RSA_check_key(key._rsa_cdata))
# key._backend was removed in cryptography 42.0.0
backend = getattr(key, '_backend', None)
if backend is not None:
return bool(backend._lib.RSA_check_key(key._rsa_cdata))
if isinstance(key, cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey):
result = _check_dsa_consistency(key_public_data, key_private_data)
if result is not None: