openssl - 从 .p12 和 .cer 创建 Apple PEM 证书和 RSA 私钥

标签 openssl certificate rsa pem

我正在尝试从我拥有的两个文件中检索证书和 RSA 私钥:
certificate.cer 和 key.p12

我试图用这些命令来获取它们:

证书

openssl x509 -in certificate.cer -inform der -out certificate.pem

RSA
openssl pkcs12 -in key.p12 -nocerts -nodes -passin pass:123456 | openssl rsa -out key.pem

我尝试像这样测试它:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 
-cert certificate.pem -key key.pem

我得到这个错误:
140553388308128:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch:x509_cmp.c:331:

我究竟做错了什么?

最佳答案

看看这个链接,一步一步解释了你需要做的一切。本教程是我让推送通知正常工作的唯一方法:

http://blog.serverdensity.com/how-to-build-an-apple-push-notification-provider-server-tutorial/

它解释了推送通知的工作原理,甚至向您展示了一些用于发送推送的 php 代码,但我认为证书部分正是您要找的。

祝你好运!

关于openssl - 从 .p12 和 .cer 创建 Apple PEM 证书和 RSA 私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17527345/

相关文章:

postgresql - 解决 PostgresQL 中的 "ssl handshake failure"错误

c - MPI 和变量覆盖?

openssl - 为什么签署证书需要 `-CAcreateserial` 参数?

iOS 配置和证书 - 撤销/更新会影响 App Store 应用程序吗?

java - 使用基于 Java Key Store 别名的单个证书

cryptography - 在 .Net Core 上使用非对称 key

c - OpenSSL EVP_DecryptFinal_ex 在输出缓冲区末尾生成垃圾

java - 从 PEM BASE64 编码的私钥文件获取 RSA 私钥

c# - 如何从 RSA 私钥在 jwt 中设置 kid header 声明?

java - 尝试解密 RSA 时出错