技术CTO-关注编程入门知识,提供编程入门教程

您的位置: 首页 > 移动开发 > ios > 正文

小白在用java做服务端做ios推送出现了问题

来源: 技术CTO 阅读:

public static void main(String[] args) {
try {
String certificatePath="C:/Users/Administrator/Desktop/ios_distribution.p12" ;

//终端获得的DeviceToken
  String deviceToken = "02d01fc03f8392b489ad1c1441fa42056ee7186083abed6c3deb93434538c3f6";

  PayLoad payLoad = new PayLoad();
  //发送内容
  payLoad.addAlert("我的push推送");
  //消息推送标记数,小红圈中显示的数字
  payLoad.addBadge(100);
  //消息声音
  payLoad.addSound("default");

 PushNotificationManager pushManager = PushNotificationManager.getInstance();

  pushManager.addDevice("iPhone", deviceToken);

  //连接开发 APNs
  String host= "gateway.sandbox.push.apple.com";
  //连接产品 APNs
  //String host= "gateway.push.apple.com";
  
  int port = 2195;
  //push证书导出的p12文件
  
  
  System.out.println(certificatePath);
  //p12文件密码
  String certificatePassword= "123456";
  pushManager.initializeConnection(host,port, certificatePath,certificatePassword, SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);

  //发送推送
 Device client = pushManager.getDevice("iPhone");
  pushManager.sendNotification(client, payLoad);
  //删除deviceToken
  pushManager.removeDevice("iPhone");
  //停止连接APNS
  pushManager.stopConnection();
 
 }
 catch (Exception e) {
  e.printStackTrace();
 }
}


javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1959)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:702)
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
at java.io.OutputStream.write(OutputStream.java:75)
at javapns.back.PushNotificationManager.sendNotification(Unknown Source)
at com.vo.Test.main(Test.java:149)


求大神
证书的问题,分两步检查一下:
1. 检查你的证书path正不正确
2. 看证书(p12文件)是不是有效的
引用 1 楼 zhangao0086 的回复:
证书的问题,分两步检查一下:
1. 检查你的证书path正不正确
2. 看证书(p12文件)是不是有效的
一定是证书的问题咯
引用 2 楼 qq1018789167 的回复:
Quote: 引用 1 楼 zhangao0086 的回复:

证书的问题,分两步检查一下:
1. 检查你的证书path正不正确
2. 看证书(p12文件)是不是有效的
一定是证书的问题咯

恩,应该比较好验证
引用 3 楼 zhangao0086 的回复:
Quote: 引用 2 楼 qq1018789167 的回复:

Quote: 引用 1 楼 zhangao0086 的回复:

证书的问题,分两步检查一下:
1. 检查你的证书path正不正确
2. 看证书(p12文件)是不是有效的
一定是证书的问题咯

恩,应该比较好验证
哦哦,谢谢大神

^_^ 如果您热爱技术、热爱编程,想与更多的朋友一起交流学习,欢迎加入本站官方QQ群:345733473 ^_^