Como codificar uma chave RSA usando PKCS12 em Python?
-
22-07-2019 - |
Pergunta
Eu estou usando Python (sob o Google App Engine), e eu tenho algumas chaves privadas RSA que eu preciso para exportação no formato PKCS # 12. Existe alguma coisa lá fora que vai me ajudar com isso? Estou usando PyCrypto / KeyCzar, e eu descobri como importação / exportação chaves RSA no formato PKCS8, mas eu realmente precisar dele no PKCS12.
Alguém pode me apontar na direção certa? Se isso ajuda, a razão de eu precisar deles no formato PKCS12 é para que eu possa importá-los no iPhone, que parece só permitir-chave de importação nesse formato.
Solução
Se você pode lidar com alguma geração ASN.1, você pode de forma relativamente fácil converter um # 8 arquivo PKCS em um nº 12-arquivo PKCS. A PKCS # 12-arquivo é basicamente um invólucro em torno de um PKCS # 8 e um certificado, de modo a fazer uma PKCS # 12-arquivo, você apenas tem que adicionar alguns dados adicionais em torno de seus PKCS # 8 de arquivos e seu certificado.
Normalmente, um PKCS # 12-arquivo conterá o certificado (s) em uma estrutura criptografada, mas todos os analisadores compatíveis deve ser capaz de lê-lo a partir de uma estrutura não-criptografada. Além disso, PKCS # 12-arquivos geralmente contêm uma MacData-estrutura para a integridade-check, mas isso é opcional e um analisador compatível deve funcionar bem sem ele.
Outras dicas
A ferramenta padrão para o trabalho é normalmente OpenSSL .
Veja a href="http://www.openssl.org/docs/apps/pkcs12.html#" rel="nofollow noreferrer"> comando openssl pkcs12 .
Esta lista postagem tende a sugerir que PKCS12 não é planejado para um recurso futuro desse pacote, e não é implementado atualmente.
http://lists.dlitz.net/pipermail/pycrypto/2009q2 /000104.html