2011-12-05 22 views
6

iPhone'lara push bildirimlerini göndermek için Java APNS - açık kaynaklı bir proje kullanmaya çalışıyorum. Yine de bir hata alıyorum.Java APNS (Apple Push Bildirim Hizmeti) hatası

Sertifika olarak bir .pem dosyası kullandım. Bu bir .p12 dosyası olsaydı? Farkın ne olduğundan emin değilim, ancak çevrimiçi bir yerde bu dosya formatları arasında bir fark olduğunu okudum. İşte

kodudur:

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); 

Ve burada hatadır:

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 

cevap

10

Java APNS .p12 dosya olarak sertifikayı bekliyor.

Anahtarlık zincirinizde hem özel hem de sertifikayı kontrol etmeniz gerekir. sonra sağ Click> "ihracat 2 dosya" ve bunu bir şifre vermek zorunda bunları ihraç sen

iyi şanslar XXXX olarak burada

.withCert("gpk.pem", "XXXX") 

yazmak zorunda bu şifre

DÜZENLEME:

.p12 - # 12, sertifika şifre .PEM ile kaydedilen bir özel anahtarlar içeren PKCS - olan Base64 kodlu belgesi, lockedby „-----BEGIN CERTIFICATE-----“ and „-----END CERTIFICATE-----“

İlgili konular