¿Cómo codificar una clave RSA usando PKCS12 en Python?
-
22-07-2019 - |
Pregunta
Estoy usando Python (en Google App Engine), y tengo algunas claves privadas RSA que necesito exportar en formato PKCS # 12. ¿Hay algo por ahí que me ayude con esto? Estoy usando PyCrypto / KeyCzar, y he descubierto cómo importar / exportar claves RSA en formato PKCS8, pero realmente lo necesito en PKCS12.
¿Alguien puede señalarme en la dirección correcta? Si ayuda, la razón por la que los necesito en formato PKCS12 es para poder importarlos en el iPhone, lo que parece permitir solo la importación de claves en ese formato.
Solución
Si puede manejar alguna generación ASN.1, puede convertir relativamente fácilmente un archivo PKCS # 8 en un archivo PKCS # 12. Un archivo PKCS # 12 es básicamente una envoltura alrededor de un PKCS # 8 y un certificado, por lo que para hacer un archivo PKCS # 12, solo tiene que agregar algunos datos adicionales alrededor de su archivo PKCS # 8 y su certificado.
Por lo general, un archivo PKCS # 12 contendrá los certificados en una estructura cifrada, pero todos los analizadores compatibles deberían poder leerlo desde una estructura no cifrada. Además, los archivos PKCS # 12 generalmente contendrán una estructura MacData para la verificación de integridad, pero esto es opcional y un analizador compatible debería funcionar bien sin él.
Otros consejos
La herramienta estándar para el trabajo suele ser OpenSSL .
Vea el comando openssl pkcs12
.
Esta publicación en la lista de correo tiende a sugerir que PKCS12 no está planificado para una característica futura de ese paquete, y actualmente no está implementado.
http://lists.dlitz.net/pipermail/pycrypto/2009q2 /000104.html