iOS:苹果推送(APNS)-pem/p12证书的生成

   
pem文件是服务器向苹果服务器做推送时候需要的文件,主要是做服务器的小伙伴们要用,下面介绍一下pem文件的生成。
  • 打开KeychainAccess,在Certificates里面找到上篇文章中介绍的包含推送的证书。分别将certificate和privatekey导出得到.p12文件。例如:AppleDevelopment Push Services > Export “Apple Development PushServices ID123”,保存为 apns-dev-cert.p12。对“PrivateKey”做同样操作,保存为 apns-dev-key.p12 文件。
  • 需要通过终端命令将这些文件转换为PEM格式:
    opensslpkcs12 -clcerts -nokeys -out apns-dev-cert.pem -inapns-dev-cert.p12
    openssl pkcs12 -nocerts-out apns-dev-key.pem -in apns-dev-key.p12
    此处要求输入一个密码,输入123456.
  • 移除密码(上面的123456)
    opensslrsa -in apns-dev-key.pem -out apns-dev-key.pem
  • 最后,你需要将键和许可文件合成为apns-dev.pem文件,此文件在连接到APNS时需要使用:
    cat apns-dev-cert.pem apns-dev-key.pem >apns-dev.pem

同样 Distribution Certificate 的pem文件生成方式一样。
opensslpkcs12 -clcerts -nokeys -out apns-dis-cert.pem -inapns-dis-cert.p12
opensslpkcs12 -nocerts -out apns-dis-key.pem -inapns-dis-key.p12
openssl rsa -inapns-dis-key.pem -out apns-dis-key.pem
cat apns-dis-cert.pemapns-dis-key.pem > apns-dis.pem


>>>>>>>>>>>>>>.net
http://blog.csdn.net/dingxingmei/article/details/8632455
http://blog.sina.com.cn/s/blog_83c2dd090101k0ie.html
生成java/c#用的p12文件过程为:
 
       openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
       openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
       openssl pkcs12 -export -in apns-dev-cert.pem -inkey apns-dev-key.pem -certfile CertificateSigningRequest.certSigningRequest -name "push" -out push.p12

//////////////////////////////////////////////////////////////////////////////

使用OpenSSL    推送证书.cer、certSigningRequest请求文件、推送证书导出的私钥.p12

1、将aps_developer_identity.cer转换成 aps_developer_identity.pem格式。

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

2、将p12格式的私钥转换成pem,需要设置4次密码,密码都设置为:abc123。

openssl pkcs12 -nocerts -out PushChat_Noenc.pem -in PushChat.p12

3、用certificate和the key 创建PKCS#12格式的文件。

openssl pkcs12 -export -in aps_developer_identity.pem -inkey PushChat_Noenc.pem -certfile PushChat.certSigningRequest -name "aps_developer_identity" -out aps_developer_identity.p12

这样我们就得到了在.net应用程序中使用的证书文件:aps_developer_identity.p12


>>>>>>>>>>>>>>>>java apns

转载自:http://zhang8mss.blog.163.com/blog/static/1104637562012260250222/

javapns地址:http://code.google.com/p/javapns/

生成p12需要3个文件:

1,本机在https://developer.apple.com/ios/manage/certificates/team/index.action生成certifacates时上传的本机证书:CertificateSigningRequest.certSigningRequest

2,从https://developer.apple.com/ios/manage/overview/index.action的app IDs里拿到的Push SSL Certificate,命名为:aps.cer

3,在本机双击aps.cer会自动加载到本机的Keychain中,在keychain中找到该证书,展开,导出其下的private key为:key.p12

将以上3个文件放在同一个文件夹中,并用terminal打开,一次输入下面命令(需要输入密码时均填写123456):

1,openssl x509 -in aps.cer -inform DER -out aps.pem -outform PEM

2,openssl pkcs12 -nocerts -out key.pem -in key.p12

3,openssl pkcs12 -export -in aps.pem -inkey key.pem -certfile CertificateSigningRequest.certSigningRequest -name "push" -out push.p12

即可生成需要的p12

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>



你可能感兴趣的:(iOS:苹果推送(APNS)-pem/p12证书的生成)