【发布时间】:2018-09-06 11:32:02
【问题描述】:
我编写了一个 TLS 代码,它在 Java 中进行相互身份验证,因此客户端在服务器发送其证书后发送其证书。我想通过从客户端到服务器端的 OCSP 验证证书链中的所有证书。
我已经编写了我的循环逻辑,假设最后一个证书是链中的根 (CA) 证书,并且不发送任何 OCSP 查询;
int certificateChainSize= x509Certificates.length;
// Verifies certificate chain respectively (issuer certificate required).
CertificateResult response = null;
try {
for (int i = 0; i < certificateChainSize-1 ; i++) {
response = client.verify(x509Certificates[i], x509Certificates[i+1]);
}
} catch (OcspException e) {
e.printStackTrace();
}
当我测试 TLS 并获得 Wireshark 捕获时,我意识到 Google Chrome 作为客户端一直在发送没有 root 的证书链。因此;由于循环逻辑,没有查询中间证书,因为我的代码假设中间证书是根证书。
如何强制客户端发送证书链的所有节点?
谢谢
【问题讨论】:
标签: ssl certificate ssl-certificate ocsp