2

我有一个问题。我正在用 python 测试一些关于苹果存折的提示。我正在使用 M2Crypto 来获取签名。

代码是:

    def passwordCallback(*args, **kwds):
        return password

    smime = SMIME.SMIME()
    smime.load_key(key, certificate, callback=passwordCallback)
    pk7 = smime.sign(SMIME.BIO.MemoryBuffer(manifest), flags=SMIME.PKCS7_DETACHED | SMIME.PKCS7_BINARY)
    pem = SMIME.BIO.MemoryBuffer()
    pk7.write(pem)
    der = ''.join(l.strip() for l in pem.read().split('-----')[2].splitlines()).decode('base64')

该代码应该运行良好并生成签名内容,问题在于“密钥”和“证书”。

这两个变量是certificate.pem 和key.pem 的名称,但我只从Apple Developer 门户下载了pass.cert 文件。

如何使用 openssl 或类似的东西获得这两个文件?

解决了:

我已经用这个链接解决了

http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

4

1 回答 1

0

您需要从第三方证书颁发机构 (CA) 获取证书,或者使用类似于openSSL中描述的过程创建自签名证书。如果您只是测试一些代码,则自签名证书将起作用,但 CA 颁发的证书会向其他用户提供一些指示,表明您就是证书所说的您。您可以创建自称是 Tim_Cook@apple.com 的自签名证书,但没有信誉良好的 CA 会向您颁发这样的证书。

于 2012-09-24T11:22:57.177 回答