1 Reply Latest reply on Sep 3, 2009 2:45 AM by navkalp varshney

    Trusted certificate stores used by Jboss 4.2.2 Application s

    navkalp varshney Newbie

      Which trusted certificate stored Jboss Application server uses.
      I have seen on start up, it uses Java cacerts, but later if no configuration supplied, does it changes to something else also.

      Thanks in advance.

      Regards,
      Navkalp

        • 1. Re: Trusted certificate stores used by Jboss 4.2.2 Applicati
          navkalp varshney Newbie

          I fixed this issue, I am putting the solution I tried to find,

          I created one JSP, and saw which trusted certificate store is being used. My JSP gave me the answer, I added the root certificate in the trusted keystore shown by my jsp,, and it started working:)


          <%@page import="java.net.*,java.io.*,com.sun.net.ssl.*,com.sun.net.ssl.internal.ssl.Provider,java.security.*,javax.net.ssl.*,java.util.*"%>
          <%
          String ls_resp = null;




          try {

          String surl = "https://www.samba.com/b2b/epayments/sc/SCConnectRequest.svl";
          String ls_psswd = "Ol2882666";
          String ls_cert_path = "/App1/web/install/samba/certificate/GODigitalID.pfx";

          BufferedReader lo_bufferedReader = null;
          BufferedInputStream lo_bis = null;
          com.sun.net.ssl.SSLContext ctx = null;
          com.sun.net.ssl.KeyManagerFactory kmf = null;
          KeyStore ks = null;
          java.net.URL uRL = null;

          uRL= new java.net.URL(null,new String(surl),new com.sun.net.ssl.internal.www.protocol.https.Handler());
          ctx = com.sun.net.ssl.SSLContext.getInstance("SSL");
          kmf = com.sun.net.ssl.KeyManagerFactory.getInstance("SunX509");
          ks = KeyStore.getInstance("PKCS12");

          char[] lc_psswd = ls_psswd.toCharArray();
          ks.load(new FileInputStream(ls_cert_path), lc_psswd);
          kmf.init(ks, lc_psswd);
          ctx.init(kmf.getKeyManagers(), null, null);
          SSLSocketFactory sslSocketFactory = ctx.getSocketFactory();
          Enumeration aliases = ks.aliases();
          while (aliases.hasMoreElements())
          {
          out.println(aliases.nextElement());
          }
          out.println("here 1");

          com.sun.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sslSocketFactory);
          com.sun.net.ssl.HttpsURLConnection httpsURLConnection = (com.sun.net.ssl.HttpsURLConnection)uRL.openConnection();
          httpsURLConnection.setHostnameVerifier(httpsURLConnection.getDefaultHostnameVerifier());
          out.println(System.getProperty("javax.net.ssl.trustStore"));
          System.setProperty("javax.net.ssl.trustStore", "/usr/java/jre/lib/security/cacerts");
          System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
          out.println("here 2");
          out.println(System.getProperty("javax.net.ssl.trustStore"));
          httpsURLConnection.setDoOutput(true);
          httpsURLConnection.setDoInput(true);
          httpsURLConnection.setRequestMethod("POST");
          httpsURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
          OutputStream lo_out = httpsURLConnection.getOutputStream();
          out.println("here 3");
          //lo_out.write(qstring, 0, qstring.length);
          lo_out.flush();
          int c;

          lo_bis = new BufferedInputStream(httpsURLConnection.getInputStream());
          StringBuffer lo_tmp = new StringBuffer();
          out.println("here 4");
          while((c = lo_bis.read())!= -1) {
          lo_tmp.append((char)c);
          }
          lo_bis.close();
          lo_out.close();
          ls_resp = lo_tmp.toString();
          out.println("ls_resp"+ls_resp);



          } catch(Exception e) {

          out.println(e.toString());

          }
          %>