我有个问题。我正在用python测试一些关于applespassbook的提示。我用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')
代码应该能正常工作并生成签名内容,问题出在“密钥”和“证书”上。在
这两个变量的名称是证书.pem以及密钥.pem但我只装了合格证书来自苹果开发者门户的文件。在
如何使用openssl或类似的方法获得这两个文件?在
已解决:
我已经用这个链接解决了
http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12
您需要从第三方证书颁发机构(CA)获取证书,或者使用openSSL中描述的过程创建自签名证书。如果您只是测试一些代码,一个自签名的证书可以工作,但是CA颁发的证书会向其他用户提供一些指示,表明您是证书所说的您。您可以创建一个自签名证书,声明Tim_Cook@apple.com,但是没有一个有信誉的CA会给你颁发这样的证书
相关问题 更多 >
编程相关推荐