Following code can help to create SSLSocketfactory for trusted cert by reading custom JKS (If you don't want to put cert in default trust store(cacrets) or don't want to set java system property).
This piece of code will be specific to your application and will not affect other applications if running in same JVM ...
private static String trustStorePasswd = "pass123";
private static String keyfactoryAlgorithm = "SunX509";
private static String sslContextProtocol = "SSL";
SSLContext sslCtx = SSLContext.getInstance(sslContextProtocol);
String sslTrustStore = "./setup/mytrust.jks"; // trust store file
// Create TrustManager
KeyStore trustKs = KeyStore.getInstance("JKS");
trustKs.load(new FileInputStream(sslTrustStore),
trustStorePasswd.toCharArray());
trustKs.load(is,
trustStorePasswd.toCharArray());
TrustManagerFactory tmf = TrustManagerFactory
.getInstance(keyfactoryAlgorithm);
tmf.init(trustKs);
sslCtx.init(null ,tmf.getTrustManagers(), null);
SSLSocketFactory socketFactory = sslCtx.getSocketFactory();
Now next step is to set socket factory into HttpsURLconnection :
HttpsURLconnection httpsconnections;
URL url = new URL("https://mysite.com:3434");
httpsconnections = (HttpsURLConnection) url.openConnection();
httpsconnections.setSSLSocketFactory(socketFactory);
now ur java code is ready to open connection to site and to use .. :)
cheers
This blog is dedicated to share my experience during my development as a purpose of notes and explorer various web / enterprise technologies like JAVA , JEE , Spring ,hybris, Portal , Jquery , RAI , JMS, Weblogic , SSL , Security, CS, MAC< Linux, Windows, Search, IOT, Arduino, Machine Learning, Tips, Angular, Node JS, React, Mac, Windows, Stack, Exception, Error etc. with examples.
Search This Blog
Subscribe to:
Post Comments (Atom)
Popular Posts
-
Communication of nodes in SAP commerce(Hybris) environment was failing in cluster with following error: INFO | jvm 1 | main | 2020/0...
-
I had encountered issue while added theme-chalk into scss. It was not loading on the browser. Following line added in scss file and it...
-
If each of your microservices is containerized using Docker, you can use Docker Compose to define and run all of your services in one go. T...
-
< c:if test="${param.name != null}">< /c:if> The above tag is to check whether parameter name is null or not. If i...
No comments:
Post a Comment
Thanks for your comment, will revert as soon as we read it.