Hi all,

Using a link to Sun code that a few people have posted before, I have client authentication working using HttpClient by creating my own SecureProtocolSocketFactory.

The problem i'm having is that it seems to automatically choose a certificate without asking me which one to use. Does anyone know how to modify the following code to retrieve a cert by name? Even a way to work out which client cert is loaded would be great.

Thanks

Tim

SSLSocketFactory factory = null;
SSLSocket socket = null;
try {
   SSLContext ctx;
   KeyManagerFactory kmf;
   KeyStore ks;
   char[] passphrase = "password".toCharArray();

   ctx = SSLContext.getInstance("TLS");
   kmf = KeyManagerFactory.getInstance("SunX509");
   ks = KeyStore.getInstance("JKS");

   File f = new File(".keystore");
   FileInputStream fis = new FileInputStream(f);
   ks.load(fis, passphrase);

   kmf.init(ks, passphrase);
   ctx.init(kmf.getKeyManagers(), null, null);
   factory = ctx.getSocketFactory();

   socket = (SSLSocket) factory.createSocket(host, port);

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

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to