Java Apns通知不适用于开发证书

Java Apns通知不适用于开发证书,java,cordova,ios5,push-notification,apple-push-notifications,Java,Cordova,Ios5,Push Notification,Apple Push Notifications,请推荐我,因为我有development p12文件和依赖项,但通过development Certificate.p12文件发送通知时我得到了例外。异常为(javax.net.ssl.SSLException)javax.net.ssl.SSLException:收到致命警报:内部错误 package com.push.notification.server; import com.notnoop.apns.APNS; import com.notnoop.apns.ApnsService;

请推荐我,因为我有development p12文件和依赖项,但通过development Certificate.p12文件发送通知时我得到了例外。异常为(javax.net.ssl.SSLException)javax.net.ssl.SSLException:收到致命警报:内部错误

package com.push.notification.server;

import com.notnoop.apns.APNS;
import com.notnoop.apns.ApnsService;
import com.notnoop.apns.EnhancedApnsNotification;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Date;

public class ApnsTest {

    private ApnsService service;

    public ApnsTest() {
    try {

        String path = "p12 file name";

        File certFile = new File(path);
        InputStream fis = new FileInputStream(certFile);
        service = APNS.newService().withCert(fis, "pwd")
            .withSandboxDestination()
            .build();
        sendMessage();
    } catch (Exception e) {
        e.printStackTrace();
    }
    }

    public static void main(String[] args) {
    new ApnsTest();
    }

    public void sendMessage() {
    String payload = APNS.newPayload().alertBody("nnnnn").sound("default").build();
    String deviceToken = "267fe9f23984cc6d8ca7b35db3c4b829cdbe2f9f1dbd3258cbbfa8f94e3fd986";
    int now = (int) (new Date().getTime() / 1000);
    EnhancedApnsNotification notification = new EnhancedApnsNotification(EnhancedApnsNotification.INCREMENT_ID(),
        now + 60 * 60, deviceToken, payload);

    System.out.println("Sending push notification");
    try {
        service.push(deviceToken, payload);
    } catch (Exception e) {
        e.printStackTrace();
    }
    }
}

是的,通过再次创建开发证书,上述问题得以解决

这是我国第一个采用的程序 在Mac上,打开钥匙链访问

从顶部菜单中,选择

密钥链访问>证书助理>从证书颁发机构请求证书

填写您的电子邮件地址、常用名称 选中“保存到磁盘” 按Continue并将.certSigningRequest文件保存到某个位置

为应用程序ID配置推送通知 一旦应用程序ID注册完成,您需要将其配置为使用推送通知。 [在此处输入图像描述][3] 选择刚创建的应用程序ID,然后单击编辑 在推送通知中,单击创建证书,然后单击**继续 单击“选择文件…”并上载先前在Mac上生成并保存的.certSigningRequest文件。单击生成。 生成证书后,将其下载到Mac上 [在此处输入图像描述][4] 1.4创建私钥 现在,您将从下载的证书创建私钥。 [在此处输入图像描述][5] 双击下载的文件。它应该在钥匙链访问中打开 在左侧选择我的证书。您应该找到刚才添加的证书。 控件单击证书,然后选择导出“Apple Development IOS推送服务:…”… 通过在“另存为”对话框中选择“文件格式为个人信息交换(.p12)”,将其另存为..p12文件

1.5在Apple Developer portal上创建资源调配配置文件

转到资源调配配置文件

单击+以创建新的配置文件

选择iOS应用程序开发,然后继续

从下拉列表中选择正确的应用程序ID,然后继续

从列表中选择正确的证书,然后继续

选择要使用的设备,然后单击“继续”

输入设置配置文件的名称,然后生成

下载该文件

双击在Xcode中打开文件。配置文件现在应该添加到Xcode中