2017-07-10 4 views
1

Was ist eine empfohlene Methode zur Implementierung checkServerTrusted Methode für X509TrustManager? Ich brauche zu verwenden, die ssl-Pinning für reimplementieren, aber ich sehe nur diese Implementierung die ganze Zeit:Korrekte Art der Implementierung checkServerTrusted für X509TrustManager

public void checkServerTrusted(X509Certificate[] certificates, String authType) 
    throws CertificateException { 
    if ((certificates != null) && (certificates.length == 1)) { 
     certificates[0].checkValidity(); 
    } else { 
     standardTrustManager.checkServerTrusted(certificates, authType); 
    } 
} 

von diesem response genommen. Aber es scheint meiner Meinung nach falsch zu sein. Es prüft nur, ob das Zertifikat gültig ist (nicht abgelaufen), aber sonst nichts.

Gibt es irgendeine Implementierung, die Sie mir bitte empfehlen könnten?

Antwort

0

Ok, die Lösung war nicht benutzerdefinierte TrustManagers zu verwenden, sondern nur KeyStore mit meinem fixierten SSL-Zertifikat zu initialisieren.

+0

Normalerweise möchten Sie den Schlüssel, nicht das Zertifikat anheften. Mithilfe der Pinning-Funktion können Sie Zertifikate wie alle 30 Tage häufig rotieren und die CRLs klein halten. Kleine CRLs sind wichtig für mobile Kunden. Abhängig davon, wie groß Ihre PKI ist, kann sie auch für Desktop-Clients wichtig sein. – jww

+0

Sie meinen, initialisieren Sie Ihren * Trust * Store mit dem Zertifikat. – EJP

Verwandte Themen