如何在Python中使用PKCS12编码RSA密钥?
我在使用Python(在Google App Engine上),我有一些RSA私钥需要以PKCS#12格式导出。有没有什么工具可以帮我做到这一点?我正在使用PyCrypto/KeyCzar,已经搞明白了如何以PKCS8格式导入和导出RSA密钥,但我真的需要的是PKCS12格式。
有没有人能给我指个方向?如果有帮助的话,我需要PKCS12格式的原因是因为我想在iPhone上导入这些密钥,而iPhone似乎只支持这种格式的密钥导入。
3 个回答
0
这段邮件的内容表明,PKCS12这个功能在未来的版本中似乎没有计划加入,而且现在也还没有实现。
http://lists.dlitz.net/pipermail/pycrypto/2009q2/000104.html
0
这个工作的标准工具通常是 OpenSSL。
可以查看 openssl pkcs12
这个命令。
2
如果你能处理一些ASN.1的生成,那么把PKCS#8文件转换成PKCS#12文件就相对简单了。PKCS#12文件其实就是把PKCS#8文件和一个证书包裹在一起,所以要制作PKCS#12文件,你只需要在你的PKCS#8文件和证书周围添加一些额外的数据。
通常,PKCS#12文件会把证书放在一个加密的结构里,但所有符合标准的解析器都应该能从未加密的结构中读取它。此外,PKCS#12文件通常还会包含一个MacData结构,用于完整性检查,但这不是必须的,符合标准的解析器在没有它的情况下也能正常工作。