【发布时间】: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;
}
我是否应该采取其他措施来反映更新后的密钥库。
【问题讨论】: