मैं जावा एपीएनएस - एक ओपन सोर्स प्रोजेक्ट - आईफोन को पुश नोटिफिकेशन भेजने के लिए उपयोग करने की कोशिश कर रहा हूं। मुझे एक त्रुटि मिल रही है, यद्यपि।जावा एपीएनएस (ऐप्पल पुश अधिसूचना सेवा) त्रुटि
मैंने प्रमाण पत्र के रूप में .pem फ़ाइल का उपयोग किया है। क्या यह एक .p12 फ़ाइल होनी चाहिए? मुझे यकीन नहीं है कि अंतर क्या है, लेकिन मैंने कहीं ऑनलाइन पढ़ा है कि इन फ़ाइल स्वरूपों के बीच एक अंतर है। यहाँ
ApnsService service =
APNS.newService()
.withCert("gpk.pem", "XXXX")
.withSandboxDestination()
.build();
String payload = APNS.newPayload().alertBody("Can't be simpler than this!").build();
String token = "theTokenIsRemoveHere";
service.push(token, payload);
और त्रुटि है:
यहाँ कोड है
Exception in thread "main" com.notnoop.exceptions.InvalidSSLConfig: java.io.IOException: toDerInputStream rejects tag type 45
at com.notnoop.apns.internal.Utilities.newSSLContext(Utilities.java:102)
at com.notnoop.apns.ApnsServiceBuilder.withCert(ApnsServiceBuilder.java:161)
at com.notnoop.apns.ApnsServiceBuilder.withCert(ApnsServiceBuilder.java:124)
at com.geomobsters.cli.ApnsClient.main(ApnsClient.java:12)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.io.IOException: toDerInputStream rejects tag type 45
at sun.security.util.DerValue.toDerInputStream(DerValue.java:806)
at com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1201)
at java.security.KeyStore.load(KeyStore.java:1185)
at com.notnoop.apns.internal.Utilities.newSSLContext(Utilities.java:87)
... 8 more