一、 报错代码
{
"opensslErrorStack": [
"error:0906700D:PEM routines:PEM_ASN1_read_bio:ASN1 lib",
"error:0D08303A:asn1 encoding routines:asn1_template_noexp_d2i:nested asn1 error",
"error:0D08303A:asn1 encoding routines:asn1_template_noexp_d2i:nested asn1 error",
"error:0D08303A:asn1 encoding routines:asn1_template_noexp_d2i:nested asn1 error",
"error:0D08303A:asn1 encoding routines:asn1_template_noexp_d2i:nested asn1 error",
"error:0D08303A:asn1 encoding routines:asn1_template_noexp_d2i:nested asn1 error",
"error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error",
"error:0D068066:asn1 encoding routines:asn1_check_tlen:bad object header"
]
}
二、 报错原因
- 处理 APNs 推送通知时,OpenSSL 遇到了 ASN.1 编码错误。这通常与证书或密钥文件的格式或内容有关。
三、 解决办法[检查证书和密钥文件]
- 确保证书和密钥文件的格式正确:
- 证书文件应该是 .pem 格式。
- 确保文件没有被损坏或包含额外的字符。
- 验证证书和密钥文件:
- 使用 OpenSSL 工具验证证书和密钥文件是否正确。
openssl x509 -in your_certificate.pem -text -noout
openssl rsa -in your_key.pem -check
四、 验证事例
1. cert.pem验证
- 成功事例
- 失败示例
2. key.pem验证
-
成功案例[会打印出文件密钥]
-
失败案例