python m2crypt 和 load_key,但我只有一个 .cert 文件

标签 python openssl pem passbook

我有一个问题。我正在用 python 测试一些关于 Apple 存折的技巧。我正在使用 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')

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

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

如何使用 openssl 或类似工具获取这两个文件?

已解决:

我已经用这个链接解决了

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

最佳答案

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

关于python m2crypt 和 load_key,但我只有一个 .cert 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12563730/

相关文章:

amazon-web-services - scp(安全复制)到 ec2 实例,无需密码

ssh - scp 到 Amazon EC2 失败,但 ssh 有效

python - 将字典列表转换为字典集列表

python - 基于一维唯一元素过滤numpy结构化数组

shell - 如何检查公共(public) RSA key 文件

c++ - GRPC C++ 中的相互身份验证?

ios - 我如何从 CER 中获取一些信息(例如序列号)?

encryption - 如何从 RSA JWK 中提取公钥和私钥?

Python argparse 静态参数

python - 检查数据框组是否包含列表中的值