在我的 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)
问题的原因可能是什么? 感谢您的帮助!
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