14 Haziran 2019 Cuma

TrustManagerFactory Sınıfı

Giriş
Şu satırı dahil ederiz.
import javax.net.ssl.TrustManagerFactory;
TrustManager dizisi döner. Bu dizi X509 sertifikalarını doğrulamak için kullanılır.

getDefaultAlgorithm metodu
Şöyle yaparız
String tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
getInstance metodu
Vendor specific başka kodlar olabilir. getDefaultAlgorithm() ile PKIX (Public Key Infrastructure X.509) olanı alırız. Açıklaması şöyle.
SunX509: A factory for X509ExtendedTrustManager instances that validate certificate chains according to the rules defined by the IETF PKIX working group in RFC 3280 or its successor. This TrustManagerFactory supports initialization using a Keystore object, but does not currently support initialization using the class javax.net.ssl.ManagerFactoryParameters.
PKIX: A factory for X509ExtendedTrustManager instances that validate certificate chains according to the rules defined by the IETF PKIX working group in RFC 3280 or its successor. This TrustManagerFactory currently supports initialization using a KeyStore object or javax.net.ssl.CertPathTrustManagerParameters.
Şöyle yaparız.
TrustManagerFactory tmf = TrustManagerFactory
            .getInstance(TrustManagerFactory.getDefaultAlgorithm());
getTrustManagers metodu
Örnek
TrustManager arayüzü dizisi döner. Şöyle yaparız.
 TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
Örnek
Şöyle yaparız.
SSLContext sslContext = ...;
sslContext.init(null, tmf.getTrustManagers(), null);
init metodu
Eğer PKIX kullanılırsa açıklaması şöyle.
1. system property javax.net.ssl.trustStore
2. java-home/lib/security/jssecacerts
3. java-home/lib/security/cacerts (shipped by default)
Örnek
Şöyle yaparız.
KeyStore k = ...;
tmf.init(k);
Örnek - PKIX
Şöyle yaparız
TrustManagerFactory factory = TrustManagerFactory.getInstance("PKIX");
factory.init((KeyStore)null);
TrustManager[] trustManagers = factory.getTrustManagers();


Hiç yorum yok:

Yorum Gönder