He podido crear una clave RSA protegida por contraseña con DES3 (bueno ... Creo que porque soy muy nuevo en este mundo de encriptación) usando el comando :PyCrypto: Generar clave RSA protegida con contraseña DES3
openssl genrsa -out "/tmp/myKey.pem" -passout pass:"f00bar" -des3 2048
Ahora, me gustaría hacer eso dentro de un script Python, utilizando PyCrypto, si es posible. He visto this message, lo que parece desalentar el uso de PyCrypto para hacer eso. ¿Sigue siendo así?
Por supuesto que siempre se puede llamar os.execute
, y ejecutar el comando anterior, pero me gustaría tener en cuenta que "hacer trampa" :-). Estoy haciendo esto para aprender PyCrypto.
Gracias de antemano.
¡Trabajando como un encanto! Tengo casi el mismo resultado que con el comando openssl: Proc-Type: 4, ENCRYPTED DEK-Info: DES-CBC-EDE3, F7149C8E62E0854B 4fUV/FmaMmL7qZH83 + ocigFy [...] – BorrajaX
Sólo para hacer que entiendo, eso significa que el comando exportedKey = key.exportKey ('PEM', 'my secret', pkcs = 1), genera claves RSA a partir de la contraseña 'my secret'? ¿'PEM' y pkcs tienen implicaciones de seguridad? –
La clave RSA se crea cuando se llama al método 'generate'. El método 'export' lo toma y lo codifica en formato PEM. Los formatos PEM y PKCS no tienen debilidades de seguridad evidentes (para mí). Lo interesante es cómo la clave 3DES se deriva de la contraseña: que imita a 'openssl', que utiliza un algoritmo bastante desactualizado. – SquareRootOfTwentyThree