pem文件是服务器向苹果服务器做推送时候需要的文件,主要是给php向苹果服务器验证时使用,下面介绍一下pem文件的生成。
2、通过钥匙串生成 .p12证书,注意不要打开
将文件保存为 .p12 格式,输入密码,如图所示:
3.转为pem文件 最后进入终端,到证书目录下,运行以下命令将p12文件转换为pem证书文件:
提示需要输入密码,输入刚才导出 p12 时的密码即可。
这样就可以把pem文件导入到第三方平台了。
生成成功会有提示:如图
原文链接:https://blog.csdn.net/minjing_lin/article/details/51201857
生成证书过程参看链接:https://www.jianshu.com/p/2777e3cf6bf8
php实现ios推送的方法:首先把要发送的消息以及iPhone标识打包,并发送给APNS;然后查找有相应标识的iPhone,并把消息发送到iPhone;最后把发来的消息传递给相应的应用程序,并且按照设定d出Push通知即可。 可以分为三个阶段:第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。
第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone。
第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设定d出Push通知。
推送服务极光还不错,极光多种消息类型,开发者可以轻松地通过极光发送各个移动平台的系统通知,还可以在控制台编辑多种富文本展示模板; 极光还提供自定义消息的透传,客户端接到消息内容后根据自己的逻辑自由处理。
(1)certSigningRequest文件,该文件在MAC系统中生成,用于在Apple网站上申请推送证书文件。生成过程:
打开应用程序中的“钥匙串访问”软件,从菜单中选择 “钥匙串访问”-》“证书助理”-》“从证书颁发机构请求证书”,邮箱和名称随便填写,然后选择保存到磁盘,就可以在本地生成一个CertificateSigningRequest.certSigningRequest文件。
(2)注册一个支持push的app id,后面会用到。
生成过程:
进入developer.apple.com,选择member center - Certificates, Identifiers &Profiles - Identifiers- App Ids,然后选择注册app id,设置appid名称,同时,app id suffix一栏必须选择explicit app id,然后设置bundle id,最后勾选 App Services中的 Push Notifications,这样就可以注册一个支持push的aphid。
(3) 推送证书cer文件,该文件在developer.apple.com中生成,用于生成服务端需要的文件。
生成过程:
进入developer.apple.com,选择member center - Certificates, Identifiers &Profiles - Certificates,然后选择创建certificate,类型分为Development和Product。这里以Development为例,选择Apple Push Notification service SSL (Sandbox) ,然后下一步,选择之前生成的支持push的AppId,然后下一步,提交之前创建的CSR文件,再下一步就可以生成cer文件,然后保存到本地。
(4)生成服务端使用的证书文件。如果是使用网上的mac 版PushMeBaby工具,在mac机器上进行推送消息的发送,那么有上面的cer文件就够了。如果是使用PHP、java/c#开发自己的服务端,那么还需要将上面的cer文件做一个转换,生成pem文件或者p12文件。
生成php用的pem文件过程为:
首先双击前面保存的cer文件,此时会打开“钥匙串访问”软件,里面会出现一个Apple Development IOS push services证书,一个公用密钥和一个专用秘钥,秘钥的名称与证书助理中填写的名称一致。
选中证书,导出为 apns-dev-cert.p12 文件
选中专有秘钥,导出为apns-dev-key.p12文件
通过终端命令将这些文件转换为PEM格式:
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
最后, 需要将两个pem文件合并成一个apns-dev.pem文件,此文件在连接到APNS时需要使用:
cat apns-dev-cert.pem apns-dev-key-noenc.pem >apns-dev.pem
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)