Giriş
Şu satırı dahil ederiz.
Şöyle yaparız.
Şöyle yaparız.
Bu sınıftan SSLSocketFactory alınabilir.
SSLContext socket yaratmadan önce ilklendirilir ve tekrar ilklendirmenin bir yolu yoktur. Bir KeyManager verebiliriz. Böylece belli bir sertifikayı kullanabiliriz.
Bir TrustManager belirtebiliriz. Böylece hangi isim alanlarına güveneceğimiz belirtiriz.
Örnek
Şöyle yapabiliriz. Sadece TrustManager belirtiriz.
TrustManager ve ilaveten rastgele sayı üreteci de belirtebiliriz. Şöyle yaparız
Şöyle yaparız.
Şu satırı dahil ederiz.
import javax.net.ssl.SSLContext;
Bu sınıf https bağlantısı açmak için kullanılabilir. Şöyle yaparız.HttpsURLConnection con = ...;
...
con.setSSLSocketFactory (sslContext.getSocketFactory());
constructor - apacheŞöyle yaparız.
TrustStrategy acceptingTrustStrategy =
(X509Certificate[] chain, String authType) -> true;
SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom()
.loadTrustMaterial(null, acceptingTrustStrategy)
.build();
getInstance metodu - protocolŞöyle yaparız.
SSLContext sc = SSLContext.getInstance("SSL");
Şöyle yaparız.SSLContext sslContext
= SSLContext.getInstance("SSLv3");
Şöyle yaparız.SSLContext sslContext = SSLContext.getInstance("TLS");
Şöyle yaparız.SSLContext sslContext
= SSLContext.getInstance("TLSv1.2");
getSocketFactory metoduBu sınıftan SSLSocketFactory alınabilir.
sslContext.getSocketFactory()
Şöyle yapabiliriz.HttpsURLConnection.setDefaultSSLSocketFactory(sslContext
.getSocketFactory());
init metodu - KeyManager dizisiSSLContext socket yaratmadan önce ilklendirilir ve tekrar ilklendirmenin bir yolu yoktur. Bir KeyManager verebiliriz. Böylece belli bir sertifikayı kullanabiliriz.
KeyManagerFactory kmf = ...;
...
sc.init(kmf.getKeyManagers(), null, null );
init metodu - TrustManager dizisiBir TrustManager belirtebiliriz. Böylece hangi isim alanlarına güveneceğimiz belirtiriz.
Örnek
Şöyle yapabiliriz. Sadece TrustManager belirtiriz.
sslContext.init(null, new TrustManager[] { tm }, null);
ÖrnekTrustManager ve ilaveten rastgele sayı üreteci de belirtebiliriz. Şöyle yaparız
sslContext.init(null, new TrustManager[] { tm },new SecureRandom()
);
Şöyle yaparız.TrustManager[] trustAllCerts = new TrustManager[] {
new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
X509Certificate[] myTrustedAnchors = new X509Certificate[0];
return myTrustedAnchors;
}
@Override
public void checkClientTrusted(X509Certificate[] certs, String authType) {}
@Override
public void checkServerTrusted(X509Certificate[] certs, String authType) {}
}
};
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new SecureRandom());
ÖrnekŞöyle yaparız.
TrustManagerFactory tmf = ...;
sslContext.init(null, tmf.getTrustManagers(), null);
Hiç yorum yok:
Yorum Gönder