Notification Push - Causé par: java.io.IOException: toDerInputStream rejette type de balise 45
J'ai eu cette erreur lors de mon serveur d'essayer de pousser une notification à un dispositif spécifique, basé sur le dispositif de jeton et ck.pem (combinaison entre les deux .fichier pem, cert et clé).
Caused by: java.io.IOException: toDerInputStream rejects tag type 45
C'est plein de message d'erreur apparaissent dans mon eclipse console.
initial
starting push notification sending
2014/03/20 14:28:00:252 INFO net.penril.notification.Initializer: ====Start Push Notification Sending====
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2014/03/20 14:28:04:737 INFO net.penril.notification.Initializer: Total of record data(1)
SMS OID: 465
IOS test
reg id =x769571d187c15cec398c5a02f196249456e8b73f763754fa17060658f87f6f6
com.notnoop.exceptions.InvalidSSLConfig: java.io.IOException: toDerInputStream rejects tag type 45
2014/03/20 14:28:05:374 INFO net.penril.notification.Initializer: Failed send notification to APN
2014/03/20 14:28:05:374 INFO net.penril.notification.Initializer: ====Complete Push Notification Sending====
2014/03/20 14:28:05:374 INFO net.penril.notification.Initializer: =====End=====
starting..
at com.notnoop.apns.internal.Utilities.newSSLContext(Utilities.java:101)
at com.notnoop.apns.ApnsServiceBuilder.withCert(ApnsServiceBuilder.java:170)
at com.notnoop.apns.ApnsServiceBuilder.withCert(ApnsServiceBuilder.java:133)
at net.penril.notification.Initializer.notificationWorker(Initializer.java:156)
at net.penril.notification.Initializer.Initial(Initializer.java:46)
at net.penril.notification.PushNotificationCron$Job.run(PushNotificationCron.java:12)
at EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run(Unknown Source)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.io.IOException: toDerInputStream rejects tag type 45
at sun.security.util.DerValue.toDerInputStream(DerValue.java:847)
at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1221)
at java.security.KeyStore.load(KeyStore.java:1214)
at com.notnoop.apns.internal.Utilities.newSSLContext(Utilities.java:85)
... 7 more
Je soupçonne que cette cause d'erreur par le présent code
System.out.println("reg id =" + record.getRegId());
ApnsService service = APNS.newService().withCert("/Applications/MAMP/htdocs/xxxxx-mobile/ck.pem", "xxxxxx").withSandboxDestination().build();
String payload = APNS.newPayload().alertBody("This for testing").build();
String token = record.getRegId();
service.push(token, payload);
Avez-vous une idée à propos de ce toDerInputStream rejects tag type 45
?
J'ai déjà fait mes recherches sur ce problème ici:
- https://community.oracle.com/thread/1534340?start=0&tstart=0
- Java APNS (Apple Push Notification Service) erreur
Pourquoi?
OriginalL'auteur Mohammad Nurdin | 2014-03-20
Vous devez vous connecter pour publier un commentaire.
Comme indiqué ici java-apns attend la .p12 clé privée, pas la .fichier pem.
Les instructions pour la création d'un .p12 fichier sur un mac sont dans le premier lien, mais si vous êtes à l'aide de l'outil openssl sur linux, vous pouvez le créer avec:
OriginalL'auteur DeRauk
Je viens de trouver la réponse. Lorsque j'essaie de générer une P12 clé, j'ai besoin de sélectionner à la fois, une clé privée et le certificat dans le trousseau d'accès.
comment faire sous windows ou linux?
OriginalL'auteur Mohammad Nurdin