Search code examples
javasslsoappfx

Java SSL SOAP Client using PEM file


I would like to use a PEM file to set up a SSL Soap Connection. I don't want to use the java keystore command line as I need this application to be portable.

What is the best way of doing this?


Solution

  • The way we are doing this is by using BouncyCastle PEMReader

    Sample Code for Private Key

            Reader reader = new InputStreamReader( new FileInputStream( filename ), "US-ASCII" );
            PEMReader pemReader = new PEMReader( reader );
            PrivateKey privateKey = ( PrivateKey ) pemReader.readObject();
            pemReader.close();
    

    For X509 Certificates

            X509Certificate certificate = (X509Certificate) pemReader.readObject();
    

    Then initialize the KeyStore

            KeyStore ks = KeyStore.getInstance( "JKS" );
            ks.load( null, KSPASSWORD );
            ks.setKeyEntry( "Client: " + subject, privateKey, KSPASSWORD, [certificate] );