我使用以下方法阅读证书。
KeyStore ks = KeyStore.getInstance("pkcs12");
ks.load(in, password);
String alias = ks.aliases().nextElement();
Certificate[] chain = ks.getCertificateChain(alias);
...
此方法非常实用,但是我在证书中遇到了一个问题,即没有加载证书的完整字符串。
例如: When reading certificate 1 the statement below returns 4 strings
例如2: When reading certificate 2 the statement below returns only one string
有没有人知道可能会发生什么?
修改
尝试更好地解释,此证书用于连接到WS。在通信过程中,WS返回以下拒绝连接已关闭:javax.net.ssl.SSLHandshakeException:收到致命警报:unknown_ca 与此WS的连接需要完整的认证链演示。
如下所述,证书显示JAVA失败,但它在.NET中完美运行,正确显示证书链
答案 0 :(得分:0)
<强>返回:强> 证书链(首先按用户证书排序,后跟零个或多个证书颁发机构),如果给定别名不存在或不包含证书链,则为null
这意味着,或者,链中没有更多证书(自签名证书)或PKCS#12消息中不包含所需的链元素,并且不能通过其他来源获得。