tengo una clave pública RSA en formato + PKCS PEM # 1 (supongo):Cómo leer una clave pública RSA en PEM + PKCS # 1 formato
-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBAJNrHWRFgWLqgzSmLBq2G89exgi/Jk1NWhbFB9gHc9MLORmP3BOCJS9k
onzT/+Dk1hdZf00JGgZeuJGoXK9PX3CIKQKRQRHpi5e1vmOCrmHN5VMOxGO4d+zn
JDEbNHODZR4HzsSdpQ9SGMSx7raJJedEIbr0IP6DgnWgiA7R1mUdAgMBAAE=
-----END RSA PUBLIC KEY-----
que desea obtener el SHA1 de su versión codificada ASN1 en Python. El primer paso debe ser para leer esta clave, pero no pudo hacerlo en PyCrypto:
>> from Crypto.PublicKey import RSA
>> RSA.importKey(my_key)
ValueError: RSA key format is not supported
la documentation of PyCrypto dice PEM + PKCS # 1 es compatible, así que estoy confundido. También probé M2Crypto, pero resulta que M2Crypto no es compatible con PKCS # 1 sino solo con X.509.
Se genera a través de PEM_write_bio_RSAPublicKey en OpenSSL. Creo que es una clave válida de PEM, y logré leerla usando python-rsa. –
A partir de la versión 2.6, PyCrypto también puede importar objetos clave RsaPublic, por lo que el código anterior ya no es necesario. – SquareRootOfTwentyThree
Usando Python 3, la decodificación ASN1 devuelve bytes, mientras que 'construct' necesita entradas. ¿Qué orden de bytes se usa? –