Apple Store Server 通知:Python OpenSSL 证书加载因“标头太长”而失败

问题描述 投票:0回答:1

在我的 django 服务器上,我尝试使用 Apple 的包来解码 Apple Store Server 通知发送的 JWT 内容

app-store-server-library-python

官方文档下,当开始进行验证和解码时,我们发现这一行:

root_certificates = load_root_certificates()

不幸的是,没有提供实现。通过到处查看,我尝试了几种总是失败的实现:

OpenSSL.crypto.Error: [('asn1 编码例程', '', ' 标头 长')]

这是我的实现:

def load_root_certificates():
    in_file = open("AppleRootCA-G3.cer", "rb")
    data = in_file.read()
    in_file.close()
    return load_certificate(FILETYPE_ASN1, data)

问题的原因可能是什么? 感谢您的帮助!

python django cryptography decoding
1个回答
0
投票
def load_root_certificates():
cert_paths = [
    'certs/AppleRootCA-G3.cer',
    'certs/AppleRootCA-G2.cer',
    'certs/AppleIncRootCertificate.cer',
]   
certs = []
for path in cert_paths:
    file = open(path, 'rb')
    cert = file.read()
    file.close()
    certs.append(cert)

return certs

参考:https://github.com/apple/app-store-server-library-python/issues/41

© www.soinside.com 2019 - 2024. All rights reserved.