iOS推送通知的证书设置:http://www.jianshu.com/p/78282e16db66
五.打包:http://www.jianshu.com/p/52020909fdae
六.为JAVA服务端制作证书
注:现在Apple的推送证书有一个很好的改变,就是只需要用produation的.cer文件来制作,就可以development和production通用,生成的p12文件,双击后在Keychain Access中显示的名称类似于Apple Push Services: com.company.yourBundleId.
Java环境 需要 的 .p12 文件步骤.
此方法假设 您的IDP 已经支持 Apple push Notification Service ,此状态在你登录 苹果开发者官网后,在Apple ID 一栏中可以查看. 如果 此状态不支持,你需要 点击Apple ID中的Config 选项来 配置启用。具体启用的方法可以在网上找到步骤.
——————————————————————————————————
生成java 版本的push 服务器需要以下3个文件。
文件一,*,cerSigningRequest.
文件二..p12 文件
文件三.aps_developer_identity.cer 文件.
————————————————————————————————
详细说明:
文件一 是你在 生成苹果开发官网上创建时Certificate,利用本机的钥匙访问程序生产的的文件。从文件一个后缀名 就可看出一二。(cer Signing Request).
文件二 是你配置好一个IDP (此IDP 需要支持 Apple push Notification Service)。下图就是一个支持了 APNS 的Apple ID 。 点击 AppID 的config 就可以看到以下界面。注意Status 是 Enabled。 点击 Dwonload 后,下载的文件就是 .cer 文件.双击.cer 文件。在mac 环境下,钥匙串会自动打开。选择钥匙串的登录选项,以及密钥。(如第二张图所示.)在右侧,找到 支持 Apple push Notification service 的私钥,如图二所示。 点击右键,导出此 私 钥.会让你输入密码。(一次是 此密钥的新密码,而后是验证。) 这样就得到了.p12 文件.
文件三 就是 在文件二中所描述的 ,你点击 download 后 的. cer 文件. (从官网上下载时,默认的名字就是 aps_developer_identity.cer)
——————————————————————————————————
我们分别 对 3个文件命名。
文件一为:CertificateSigningRequest.cerSigningRequest.//钥匙串访问---证书助理---从证书办法机构请求证书
文件二为:PushChatKey.p12//从钥匙串中找到推送证书,右键导出的.
文件三为:aps_developer_identity.cer//苹果开发者,certificates,找到对应bundleID的推送证书,download下来的.或者新创建的.
三个文件 准备好后,使用openssl 命令编译。
带开 终端. 分别输入以下命令:
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 PushChatKey.p12
3、用certificate和the key创建PKCS#12格式的文件。
openssl pkcs12 -export -in aps_developer_identity.pem -inkey PushChat_Noenc.pem -certfile CertificateSigningRequest.certSigningRequest -name "aps_developer_identity" -out aps_developer_identity.p12
这样我们就得到了在.net应用程序中使用的证书文件:aps_developer_identity.p12。
——————————————————————————————————
如此,我们已经得到 了在java 环境下使用的 .p12 文件了。 至于 php , mac 环境,网上有很多教程,具体的代码,网上也有很多例子.此不赘述。 (此方法也支持 .net 环境.)
制作后台需要的pem文件,在keychain中将已安装的aps证书导出p12格式,在终端中cd 到p12目录下,输入命令
openssl pkcs12 -in 你导出的名字.p12 -out 生成的名字.pem -nodes