Since upgrading to 45.0, it appears that valid RSA keys in PEM format are being rejected. Take the following key, code and error message as an example
Key:
-----BEGIN RSA PRIVATE KEY-----
MIICWAIBAAKBgNCO2+U/0vxcDOvI65GS1aOh67dzu6JiIQdhcMABJLnhmv9gCufU
QgbglmtCGGTyj7Cgfsp17QjMLkjHu6jVjurggyvLv0fuP4Pkx9goABg6K07e3jr4
1q3APy0hPygTUsl6BIyS7NMOccws3aAI9Pyrd/H90jCU9WmcNSAZvXynAgMBAAEC
gYAJYaO6mDhhabKbGJqgHb7GcY4s3mPeVhOuRU/REzwXsHJMcoGLFB00Of4KLRrz
z4VvKIkLimpzLtwWIgXq/lBDY6sQ2M0yN0mq5yG9XqjCBJuPBDbazbKfnNPvG3x4
yOiXoGGAKzKf2LrIdYoErmAhwCpvrpAdBRS42UsM9Vx7gQJA9RYv/MlgVnlcdn42
Ym/TiBPGIb7G6RqEvCpBHTYb9pxkCfV0g34aIiuh7A5f1SI+qHZE7/q4ncYgoT8M
UMNBUQJA2dhFdYNc9OAD7mfO5KQCO4HbbcN9ZF2Q7CdWW0H9Z0YnhjEWQ0sHIjuk
JYA1ZndgjDH4sMS/arPOiWKahdAgdwJAXaBYPK2BTAeYtvuIMxqdKILFUebbfflP
c8KAlXQyQoeD//nwxLrLqPoaJV9oZLdsUFa+Bx80n7EsjezT+5ZbwQJAaObrc85B
Si5B1mEo0RNle9BpoS69SEKCUiYTQLjDVSMET2t95APSOJrtzZ0ymdgspvY9Yqor
3y8c6y2PaZayuwJAWX/EKmrzZAT79Z8EzhiiRwiIfihpKonsniq0wxYprCqZHCww
Q3jWBSeQ/aGqp41bJDbDw7Z/raQ0WKMpN1weJg==
-----END RSA PRIVATE KEY-----
Code:
from cryptography.hazmat.primitives.serialization import load_pem_private_key
key = """-----BEGIN RSA PRIVATE KEY-----
MIICWAIBAAKBgNCO2+U/0vxcDOvI65GS1aOh67dzu6JiIQdhcMABJLnhmv9gCufU
QgbglmtCGGTyj7Cgfsp17QjMLkjHu6jVjurggyvLv0fuP4Pkx9goABg6K07e3jr4
1q3APy0hPygTUsl6BIyS7NMOccws3aAI9Pyrd/H90jCU9WmcNSAZvXynAgMBAAEC
gYAJYaO6mDhhabKbGJqgHb7GcY4s3mPeVhOuRU/REzwXsHJMcoGLFB00Of4KLRrz
z4VvKIkLimpzLtwWIgXq/lBDY6sQ2M0yN0mq5yG9XqjCBJuPBDbazbKfnNPvG3x4
yOiXoGGAKzKf2LrIdYoErmAhwCpvrpAdBRS42UsM9Vx7gQJA9RYv/MlgVnlcdn42
Ym/TiBPGIb7G6RqEvCpBHTYb9pxkCfV0g34aIiuh7A5f1SI+qHZE7/q4ncYgoT8M
UMNBUQJA2dhFdYNc9OAD7mfO5KQCO4HbbcN9ZF2Q7CdWW0H9Z0YnhjEWQ0sHIjuk
JYA1ZndgjDH4sMS/arPOiWKahdAgdwJAXaBYPK2BTAeYtvuIMxqdKILFUebbfflP
c8KAlXQyQoeD//nwxLrLqPoaJV9oZLdsUFa+Bx80n7EsjezT+5ZbwQJAaObrc85B
Si5B1mEo0RNle9BpoS69SEKCUiYTQLjDVSMET2t95APSOJrtzZ0ymdgspvY9Yqor
3y8c6y2PaZayuwJAWX/EKmrzZAT79Z8EzhiiRwiIfihpKonsniq0wxYprCqZHCww
Q3jWBSeQ/aGqp41bJDbDw7Z/raQ0WKMpN1weJg==
-----END RSA PRIVATE KEY-----"""
load_pem_private_key(key.encode("utf-8"), password=None)
Error:
ValueError: Could not deserialize key data. The data may be in an incorrect format, it may be encrypted with an unsupported algorithm, or it may be an unsupported key type (e.g. EC curves with explicit parameters). Details: ASN.1 parsing error: invalid value
Since upgrading to 45.0, it appears that valid RSA keys in PEM format are being rejected. Take the following key, code and error message as an example
Key:
Code:
Error:
ValueError: Could not deserialize key data. The data may be in an incorrect format, it may be encrypted with an unsupported algorithm, or it may be an unsupported key type (e.g. EC curves with explicit parameters). Details: ASN.1 parsing error: invalid value