推送通知 - 产生的原因:java.io.IOException异常:toDerInputStream拒绝标签类型45 [英] Push notification - Caused by: java.io.IOException: toDerInputStream rejects tag type 45

查看:15613
本文介绍了推送通知 - 产生的原因:java.io.IOException异常:toDerInputStream拒绝标签类型45的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的服务器尝试将通知推送到基于设备令牌和ck.pem(.pem文件,证书和密钥的组合)的特定设备我得到这个错误。

I got this error when my server try to push a notification to a specific device based on device token and ck.pem (combination between .pem file, cert and key).

Caused by: java.io.IOException: toDerInputStream rejects tag type 45

这是完全错误信息出现在我的Eclipse控制台。

This is full error message appear in my 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

我怀疑这个错误的原因由该code

I suspect this error cause by this 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);

你有这个什么想法 toDerInputStream拒绝标签类型45

我已经做了我的研究这个问题在这里:

I already doing my research about this problem here:


  1. https://community.oracle.com/thread/1534340?启动= 0&​​安培; TSTART = 0

  2. Java APNS(苹果推送通知服务)错误

  1. https://community.oracle.com/thread/1534340?start=0&tstart=0
  2. Java APNS (Apple Push Notification Service) error

为什么?

推荐答案

我刚刚找到了答案。当我尝试生成一个P12的关键,我需要选择两个,在钥匙串访问的私钥和证书。

I just found the answer. When I try to generate a P12 key, I need to select both, a private key and certificate in keychain access.

这篇关于推送通知 - 产生的原因:java.io.IOException异常:toDerInputStream拒绝标签类型45的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆