【问题标题】:certificate_unknown exception in sslssl 中的证书未知异常
【发布时间】:2016-04-06 13:35:44
【问题描述】:

我有一个服务器和一个客户端,它们都使用 ssl 相互通信。以前的自签名 sslkeystore 在服务器上过期,所以我生成了一个新的,具有相同的详细信息和扩展的有效性。但是现在当我尝试从客户端与服务器通信时,出现以下异常。

javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1991)

在我更新密钥库之前它一直有效。

它从以下代码块创建异常。当我尝试从BufferedInputStream bis阅读时。

    private byte[] readBytesFromStream(BufferedInputStream bis) throws IOException {

    byte[] lengthBytes = new byte[4];
    bis.read(lengthBytes);
    int length = ByteBuffer.wrap(lengthBytes).getInt();
    System.out.print("length : " + length);

    byte[] data = new byte[length];
    bis.read(data);

    return data;
}

我是否应该采取其他措施来反映更新后的密钥库。

【问题讨论】:

    标签: java ssl


    【解决方案1】:

    我必须让客户端中的密钥库信任服务器的公钥。然后开始工作。我还在网上找到了一个很棒的工具,它可以通过密钥库和证书来帮助处理这类事情,它叫做 portecle (https://sourceforge.net/projects/portecle/)

    【讨论】:

      猜你喜欢
      • 2011-03-01
      • 2015-04-21
      • 1970-01-01
      • 2021-04-04
      • 2019-03-23
      • 2015-11-11
      • 1970-01-01
      • 2017-12-05
      • 1970-01-01
      相关资源
      最近更新 更多