Я получил подсказку «Цепочка сертификатов этого сервера неполная. Оценка ограничена до B» при тестировании ssl, когда я использую openssl, но я получил полную цепочку сертификатов, когда использую jdkssl.
Функция openssl или моя конфигурация неверны?
Ниже приведен валидный код клиента.
SSLContext context = SSLContext.getInstance("TLS");
X509TrustManager x509m = new X509TrustManager() {
@Override
public X509Certificate[] getAcceptedIssuers() {
System.out.println("getAcceptedIssuers......");
return null;
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
System.out.println("checkServerTrusted......");
//When I use jdkssl the chain'value is all of my server configured.
//But when openssl the chain'value only one
//Why this happened? is my server configuration incorrect or this is openssl's feature?
}
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
System.out.println("checkClientTrusted......");
}
};
context.init(null, new TrustManager[] { x509m }, new SecureRandom());