您的位置:首页技术文章
文章详情页

Java APNS证书错误,显示“ DerInputStream.getLength():lengthTag = 109,太大。”

【字号: 日期:2024-04-28 15:30:59浏览:29作者:猪猪
导读:如何解决Java APNS证书错误,显示“ DerInputStream.getLength():lengthTag = 109,太大。”?我遇到了同样的问题,但是只有当您使用 我的解决方案才能为您提供帮助。Maven资源过滤(让您在资源文件中包含变量)可能会使您的二进制文件混乱-并且证书对修改尤...
如何解决Java APNS证书错误,显示“ DerInputStream.getLength():lengthTag = 109,太大。”?

我遇到了同样的问题,但是只有当您使用 我的解决方案才能为您提供帮助。

Maven资源过滤(让您在资源文件中包含变量)可能会使您的二进制文件混乱-并且证书对修改尤其敏感。

通常,不应过滤二进制内容。但是我不能仅仅禁用资源过滤,因为我有一些包含变量的.properties文件。因此解决方案是 。

<build> [...] <resources><resource> <directory>src/main/resources</directory> <filtering>true</filtering> <excludes><exclude>**/*.p12</exclude> </excludes></resource><resource> <directory>src/main/resources</directory> <filtering>false</filtering> <includes><include>**/*.p12</include> </includes></resource> </resources> [...]</build>

有关Maven资源过滤的更多信息:http : //maven.apache.org/plugins/maven-resources-plugin/examples/filter.html

解决方法

当我尝试使用Java APNS将推送通知发送到iOS时,收到以下错误消息:

com.notnoop.exceptions.InvalidSSLConfig:java.io.IOException:DerInputStream.getLength():lengthTag= 109,太大。

我已经尝试将证书转换为个人信息交换(.p12),也遇到相同的错误。任何人都知道问题以及如何解决?

这是我的Java代码:

ApnsService service = APNS.newService() .withCert('src/net/notification/ck.jks','******') .withSandboxDestination() .build();String payload = APNS.newPayload().alertBody(record.getSendMsg()).build();String token = record.getToken();service.push(token,payload);

谢谢。

标签: java