指定CSR文件时OpenSSL pkcs12导出失败
我正在尝试创建一个p12文件,用于PushSharp发送iOS推送通知。一年前,我使用了这个确切的过程来更新我们的证书,它工作得很好;但现在它在最后一步失败了 以下是我正在做的:指定CSR文件时OpenSSL pkcs12导出失败,openssl,apple-push-notifications,pushsharp,Openssl,Apple Push Notifications,Pushsharp,我正在尝试创建一个p12文件,用于PushSharp发送iOS推送通知。一年前,我使用了这个确切的过程来更新我们的证书,它工作得很好;但现在它在最后一步失败了 以下是我正在做的: 在Keychain Access中创建一个名为CertificateSigningRequest.certSigningRequest 从Keychain Access导出私钥,将文件另存为private\u key.p12 转到developer.apple.com,使用步骤1中的CSR文件创建苹果推送服务生产证书,
CertificateSigningRequest.certSigningRequest
private\u key.p12
aps.cer
openssl x509-在aps.cer中-通知DER-out应用程序\u cert.pem-从pem中取出
openssl pkcs12-nocerts-out private_key.pem-in private_key.p12
openssl rsa-out private_key_noenc.pem-in private_key.pem
openssl pkcs12-导出-应用内证书.pem-inkey私钥\u noec.pem-证书文件CertificateSigningRequest.certSigningRequest-名称“MyAppName”-输出pushsharp.p12
最终的openssl命令失败,出现以下错误:
无法加载证书
我还没有弄清楚我做错了什么;这一切都在一年前运作良好的剧本中。通过删除
-certfile CertificateSigningRequest.certSigningRequest
参数,我成功地获得了openssl pkcs12-export
命令,但我相信由此生成的p12文件无法与PushSharp一起使用。不要尝试将CSR文件作为-certfile
的参数
-certfile
可用于向存储添加其他证书
例如,app_cert.pem的CA证书链:
openssl pkcs12 -export -in app_cert.pem -inkey private_key_noenc.pem \
-certfile ca_certificates.pem -name "MyAppName" -out pushsharp.p12
如果相应的证书已经存在,通常不需要使用CSR。不要尝试将CSR文件作为
-certfile
的参数
-certfile
可用于向存储添加其他证书
例如,app_cert.pem的CA证书链:
openssl pkcs12 -export -in app_cert.pem -inkey private_key_noenc.pem \
-certfile ca_certificates.pem -name "MyAppName" -out pushsharp.p12
通常,如果相应的证书已经存在,则无需使用CSR。将证书签名请求文件(
CertificateSigningRequest.certSigningRequest
)作为-certfile
的值似乎不正确。该错误似乎是适当的,因为它不是一个证书文件。包含该文件的目的是什么?这些openssl命令是脚本的一部分,我们已经使用了几年,作为更新Apple push notification services证书过程的一部分。特别是生成与.NET web服务器上的PushSharp库兼容的.p12文件。如果我没记错的话,需要这样做才能让PushSharp正常工作;我还没有机会用用-certfile
参数生成的p12测试它。对不起,打字错误:我没有机会用没有certfile参数生成的p12文件测试PushSharp。给出证书签名请求文件(CertificateSigningRequest.certSigningRequest
)看起来不正确作为-certfile
的值。该错误似乎是适当的,因为它不是一个证书文件。包含该文件的目的是什么?这些openssl命令是脚本的一部分,我们已经使用了几年,作为更新Apple push notification services证书过程的一部分。特别是生成与.NET web服务器上的PushSharp库兼容的.p12文件。如果我没记错的话,需要这样做才能让PushSharp正常工作;我还没有机会用用-certfile
参数生成的p12文件测试它。对不起,输入错误:我还没有机会用没有certfile参数生成的p12文件测试PushSharp。感谢您确认这应该如何工作。不知道这在过去怎么会对我们有用。删除certfile
参数后,PushSharp的效果很好。感谢您确认这一点。不知道这在过去怎么会对我们有用。删除certfile
参数后,PushSharp的效果很好。