这个问题与接下来几天处于 NDA 下的 Passbook 有关,但这是一个通用的 PKCS7 问题。
我有一个从我的钥匙串中导出的 .p12 文件。我可以使用以下命令将其分成 2 个 pem
openssl pkcs12 -in "mycert.p12" -clcerts -nokeys -out certificate.pem
openssl pkcs12 -in "mycert.p12" -nocerts -out key.pem
下一步是使用此密钥和证书创建签名的 PKCS7 文件。使用 openssl 很容易做到这一点:
openssl smime -binary -sign \
-signer certificate.pem -inkey key.pem \
-in <datafile> -out signature \
-outform DER
问题是,假设我有证书和密钥,在 Google App Engine 中执行此操作的最佳方法是什么?不幸的是,我对密码学有点陌生,但我一直在谷歌搜索,发现 PyCrypto 和 keyczar。在 App Engine 上是否有一种可接受的方式来执行此操作,或者我需要写一些东西吗?关于从哪个包开始有什么建议吗?
我知道 Openssl 在 AppEngine 上不可用,但如果您使用 python 2.7,PyCrypto 是可用的,对吗?我已经看到人们让 keyczar 使用它的帖子。不过,在给定密钥和证书的情况下,我还没有找到一种生成 PKCS7 编码数据的简单方法。
提前感谢您的任何指导。