美文网首页
iOS 极光证书过期

iOS 极光证书过期

作者: puple瞳眸 | 来源:发表于2016-12-04 20:39 被阅读390次

文章源地址:http://www.xiaomeiti.com/note/3625

这里要说的是这个推送证书的有效期是1年,如果到期没有及时更新,会导致消息推送失败。那么下面就说下如何更新IOS消息推送证书:

1. 首先需要一个MAC电脑,然后打开钥匙链(Keychain),选择 证书助理/从证书颁发机构请求证书,电子邮件就填写Apple Developer的apple id,最后会生成一个CertificateSigningRequest.certSigningRequest文件,这个文件后面会用到。

2. 打开:https://developer.apple.com/account/ios/identifier/bundle 然后选择你的App ID,点击会展开一个功能列表,点击下方的Edit按钮,在Push Notifications下面会看到:Development SSL Certificate和Production SSL Certificate,如果你之前已经有推送证书,在这里也会看到有效期什么的。

3. 在Development或者Production下面点击 Create Certificate 按钮,会出现一个确认页面,点击Continue/继续,会需要上传第一步生成的文件(Select .certSigningRequest file saved on your Mac.)选择文件之后,点击下面的Continue/继续按钮,会提示创建证书成功,这个时候我们可以点击download下载一个扩展名为cer的文件(aps.cer)。

4. 在Mac机器上双击下载的aps.cer文件,会在钥匙链(Keychain)中打开,然后选中该证书,导出为一个p12证书文件,这个p12文件就是服务器端推送消息需要使用的。在导出过程中需要设置证书密码,这个密码一定要牢记,后面服务器推送也需要这个密码。

5. 拿着生成好的p12文件,然后在服务器端做好测试,确实可以用新证书推送消息到设备,我们就可以把证书更新到服务器了,把老的证书覆盖即可。

6. Apple Developer里面老的证书,这个时候可以移除了,或者就放在那里也可以,等它自动过期即可。

7.不管第一次配置极光,或极光证书过期需要更换都需要重新生成一个Provisioning Profile(描述文件)文件。

查询到的更换证书收不到推送消息的原因:

1.当前上传的p12证书密码输入有误;

2. 证书导出的时候展开了证书,把个人私钥导了出来,导证书的时候请不要展开证书;

3.当前上传的证书环境不对,如:在上传开发证书的地方上传了生产证书;

4.该证书已在本账号的其它应用使用;

5.现上传的证书与当前应用已上传成功的证书的bundle id不一致。

6.没有重新创建和添加Provisioning Profile(描述文件)

总结&注意:

前面的几步虽然也重要,但就算有一步做错了也无所谓,大不了重新再来,但是第5步测试确认新证书非常关键,一定要要确认好,不然更新一个无效的证书,服务器无法推送就会造成故障了。如果自己做消息推送,后端不用自己去写推送代码,在这里推荐一个:APNS4j,比较好用:https://github.com/RamosLi/dbay-apns-for-java

package test;

import com.dbay.apns4j.impl.ApnsServiceImpl;

import com.dbay.apns4j.IApnsService;

import com.dbay.apns4j.model.*;

import java.io.InputStream;

public class ApnsPush {

private static IApnsService apnsService;

private static IApnsService getApnsService() {

if (apnsService == null) {

ApnsConfig config = new ApnsConfig();

InputStream is = ApnsPush.class.getClassLoader().getResourceAsStream("Certificates_Pro.p12");

config.setKeyStore(is);

config.setDevEnv(false);

config.setPassword("xxxxx");

config.setPoolSize(5);

apnsService = ApnsServiceImpl.createInstance(config);

}

return apnsService;

}

public static void main(String args[]){

try

{

String token = "01e983ed 662d7184 1454dbc4 35bd2a49 f5966ada 967f7b3f c0f68f03 09d454b8";

Payload payload = new Payload();

payload.setAlert("Hello, how are you?");

payload.setBadge(3);

payload.setSound("default-sound");

getApnsService().sendNotification(token, payload);

}

catch (Exception ex)

{

ex.printStackTrace();

}

}

}

相关文章

  • iOS 极光证书过期

    文章源地址:http://www.xiaomeiti.com/note/3625 这里要说的是这个推送证书的有效期...

  • iOS极光证书过期处理

    解决方案: 1、删除MAC上钥匙串访问中对应的推送证书2、去开发者中心删掉过期推送证书,重新按着上面的步骤重新来一...

  • iOS-iOS10极光推送的使用

    1、首先先配置好推送证书,传到极光。极光推送->iOS证书设置指南极光推送->iOS SDK集成指南(XCode8...

  • iOS-极光推送的使用

    1、首先先配置好推送证书,传到极光。极光推送->iOS证书设置指南极光推送->iOS SDK集成指南(XCode8...

  • 极光证书过期处理

    最近收到极光推送发来的邮件 快过期了,只能重新配置。 1,登录苹果开发者网站https://developer.a...

  • IOS极光推送证书过期重配笔记

    最近因为程序中原来配置的极光推送证书过期了,导致程序无法收到推送,受组长命令,排查一下,当时第一想到的也是证书可能...

  • iOS --JPush推送证书的创建及过期处理

    我们在开发过程中,难免有些证书有过期的情况,这不接到极光推送证书的过期邮件(如图1),需要重新上传一下证书才不影响...

  • iOS "this certificate has a

    证书详解iOS签名与证书 2016.2.14 苹果的WWDRCA 证书过期 导致无法提交AppStore并且显示 ...

  • iOS已上线应用的推送证书过期的处理

    极光提醒推送证书快过期,替换重新生成 处理方法: 删除MAC上钥匙串访问中对应的推送证书。 为对应App ID生成...

  • IOS集成极光推送遇到的一些坑及解决办法

    iOS SDK集成、证书设置什么的,极光官网上都有,不再说了,参考极光文档 docs.jiguang.cn/jpu...

网友评论

      本文标题:iOS 极光证书过期

      本文链接:https://www.haomeiwen.com/subject/egohmttx.html