Hi Arshad,

Thanks for the reply.

How does the code you supplied differ from the PKCS12Import tool [1] found in the Jetty distribution?

I'm using PKCS12Import to convert my .p12 file to .jks.

Ed.

[1] http://mortbay.org/apidocs/org/mortbay/jetty/security/PKCS12Import.html

On 30/08/06, Arshad Noor <[EMAIL PROTECTED]> wrote:
If the supplier gave you a PKCS12 file, then feel free to use the
following to import the key and certificate into your JKS keystore.
Not a lot of error-checking in here, since I use it for my personal
use.

Arshad Noor
StrongAuth, Inc.


------------------------

import java.security.*;
import java.io.*;

class p12jkstool
{
     static public void main(String[] args) throws Exception
     {
         if (args.length < 7)
         {
             System.err.println("Usage: java p12TOjks <pkcs12-file>
<pkcs12-password> <pkcs12-alias> <jks-keystore> <jks-password>
<jks-alias> <new-jks-keystore>");
             return;
         }

         String p12file  = args[0];
         String p12pin   = args[1];
         String p12alias = args[2];
         String jksfile  = args[3];
         String jkspin   = args[4];
         String jksalias = args[5];
         String newjks   = args[6];

         try
         {
             //pkcs12 keystore
             KeyStore pks = KeyStore.getInstance ("pkcs12");
             //jks keystore
             KeyStore jks = KeyStore.getInstance("jks");

             // load the pkcs12 file
             pks.load(new FileInputStream(p12file), p12pin.toCharArray());

             // load the jks file (have to have an existing one)
             jks.load(new FileInputStream(jksfile), jkspin.toCharArray());

             //read the p12 certificate
             java.security.cert.Certificate [] cc =
pks.getCertificateChain(p12alias);
             Key k = pks.getKey(p12alias, p12pin.toCharArray());

             // add to keystore and save
             jks.setKeyEntry(jksalias, k, jkspin.toCharArray(), cc);
             FileOutputStream out = new FileOutputStream(newjks);
             jks.store(out, jkspin.toCharArray());
             out.close();
             System.out.println("Transferred P12 key to new JKS
keystore: " + newjks);

         } catch (Exception ex) {
             ex.printStackTrace();
         }
     }
}

------------------------

Ed Sweet wrote:
>
> My main question here is what procedure should I be using to create the
> keystore from keys/certificates supplied by a thrid-party? I can use the
> test keystore supplied with the xml-security library with my code no
> problem, it's just when I try and use a keystore I've created myself I
> get this exception. What procedure do you use?
>
> Thanks for your help,
>


Reply via email to