Попытка реализовать x-509-аутентификацию в весенней безопасности
Я пытаюсь реализовать x509-аутентификацию в своем сервисе Spring. Метод checkServerTrusted (который проверяет доверенные сертификаты по серверным сертификатам) показывает только 2 серверных сертификата, которые уже существуют в моем хранилище доверенных сертификатов, но, похоже, каждый раз не проходит проверку.
TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
KeyStore truststore = createTrustStore(truststorePath, truststorePassword);
trustManagerFactory.init(truststore);
// Get hold of the default trust manager
X509TrustManager x509Tm = null;
for (TrustManager tm : trustManagerFactory.getTrustManagers()) {
if (tm instanceof X509TrustManager) {
x509Tm = (X509TrustManager) tm;
break;
}
}
final X509TrustManager finalTm = x509Tm;
X509TrustManager customTm = new X509TrustManager() {
@Override
public X509Certificate[] getAcceptedIssuers() {
return finalTm.getAcceptedIssuers();
}
@Override
public void checkServerTrusted(X509Certificate[] chain,String authType) throws CertificateException {
finalTm.checkServerTrusted(chain, authType);