当前位置: 首页 > 面试题库 >

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

池砚文
2023-03-14
问题内容

当我尝试使用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);

谢谢。


问题答案:

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

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

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

<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



 类似资料:
  • 尝试为在Tomcat上运行的Web应用程序安装SSL证书。 当我运行这个命令时,我得到下面的错误: D:\jdk1。6.0_30\bin KeyTools错误:java.security.cert.证书异常:无法初始化, java.io.IOExc0019: DerInputStream.getL长度():长度标签=94,太大。

  • null 但我想知道有没有办法解决这个问题...

  • 我正在建设一个真正简单的物联网项目,我被困在nodeMCU TLS问题上。我的Raspberry pi上有MQTT broker,所有证书都正确插入(在同一Raspberry上使用Paho客户端或在远程PC上使用MQTT.fx客户端时一切正常),但当我尝试从ESP8266与nodeMCU连接时,我收到SSL握手错误(是的,我对所有提到的客户端使用相同的证书文件)。我的ESP8266代码如下所示:

  • 当我想要在cPanel上安装证书时,我会看到以下错误: 错误证书验证失败! 已执行/usr/bin/openssl verify-capath/var/cpanel/ssl/installed/cabundles: stdin:CN=example.com 0深度查找时错误20:无法获取本地颁发者证书

  • 主要内容:自签名证书错误,Maven依赖关系,接受自签名证书通常,开发人员将在本地机器上或项目的开发阶段使用自签名证书。 默认情况下,HttpClient(和Web浏览器)不会接受不可信的连接。 但是,可以配置以允许不可信的自签名证书。 注意:这是一个可能存在安全风险,因为您将其用于生产时,基本上会禁用所有的认证检查,这可通导致受到攻击。 在这个例子中,我们演示了如何忽略Apache HttpClient 4.5中的SSL / TLS证书错误。 自签名证书

  • 我有一个简单的网络界面,在这里我可以为交易所的个人加密货币交易选择特定的市场、价格、目标和止损点。 我添加了一些默认的laravel验证规则,其中一些显示在Web界面上,就像它们应该的那样,但其中一个特别是在它确实触发时没有,因为当我检查错误时,它确实显示在响应中。 在这里,表单显示错误,除了在停顿部分,但停顿错误没有显示在网络界面上: 我已经简化了规则,只有“要求”用于测试目的,也有更多的规则它