2013-09-24 79 views
-1

我在创建一个放置在我的Windows服务器上的p12文件方面存在一些严重问题。如何使用openssl创建P12文件

我用了两个不同的网站,以便能够帮助我找出我需要做的:

http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1

第二个网站,我使用的是从网站中发布的评论如下:

http://arashnorouzi.wordpress.com/2011/06/19/sending-apple-push-notifications-in-asp-net-and-c-–-part-4-apns-sharp-c-wrapper-class/

首先我创建一个证书签名请求。 然后我上传到我的应用程序ID,这让我可以生成ape_dev证书。 然后我转到我的钥匙链并导航到“钥匙”,我导出了我刚刚创建的.p12证书。

我现在有三个不同的文件

我的P12文件,我的发展证书和我的证书签名请求。

我然后打开终端和i型如下:

$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem 

这就创建一个新的PEM证书。

我输入的是以下

$ openssl pkcs12 -nocerts -out PushChatKey.pem -in PushChatKey.p12 

它提示我输入密码,我用的是相同的密码之一,当我创建的证书。

我完成这些工作后,我剩下两个新文件,这两个文件都是PEM文件。

我需要将这两个PEM文件合并到一个p12文件中,以便它能够在我的Windows服务器上工作。

我曾尝试使用以下行

openssl pkcs12 -export \ 
-in aps_developer_identity.pem \ 
-out aps_developer_identity.p12 \ 
-inkey APSCertificates.pem 

这实际上工程相结合,并给了我一个P12文件。 我再切换回他raywenderlich网站,我输入以下内容:

$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 
-cert PushChatCert.pem -key PushChatKey.pem 

它加载,但我收到以下错误:

error:num=20:unable to get local issuer certificate 

请没有任何一个知道我在做什么错IM受够围绕着圈子走。

当我上传证书到服务器,并把临时关闭版本的设备IM仍然没有收到我在提前发送

感谢任何通知的应用程序。

回答

0

看看这个答案可以帮助Creating .pem file for APNS?

简而言之:openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts

+0

我需要它有两个单独的PEM文件更改为一个组合的P12文件。这条线是否仍然具有相同的效果? –

0

当您第一次生成您的CSR,你用私钥做到了。这可能是不透明的,取决于你是如何做到的。我要做的就是生成与OpenSSL的键,然后使用该密钥使企业社会责任。那么当你制作p12时,这个关键是'关键'。

这里是我的步骤

  1. 的第一步是生成一个证书签名请求。这与任何SSL证书都是一样的。你将需要一个私人密钥。

openssl genrsa -out aps_development.key -passout pass:foobar 2048

然后你可以使用你刚才创建

openssl req -new -key aps_development.key -out CertificateSigningRequest.certSigningRequest -subj "/[email protected], CN=John Doe, C=US"

该键使CSR
  • 从这里,你会去开发。 apple.com和撤销当前APN证书,使一个新的。它会询问你的企业社会责任,并对其做时,它会给你一个.CER文件。

  • 将.cer文件转换为DER格式的.pem文件(假设aps_development.cer是从Apple开发人员站点下载的文件)。

  • openssl x509 -in aps_development.cer -inform DER -outform PEM -out aps_development.pem

  • 转换的.PEM到的.p12。你会注意到你提供你在步骤1的开始做你需要你提供有密码的密钥文件。
  • openssl pkcs12 -export -in aps_development.pem -inkey aps_development.key -out aps_development.p12

    相关问题