// Load available keys
KeyManager[] keyManagers;
File keyStoreFile = new File(keyStorePath);
if (!keyStoreFile.canRead())
throw new FFMQException("Cannot read keystore file : "+keyStoreFile.getAbsolutePath(),"FS_ERROR");
KeyStore ks = KeyStore.getInstance(keyStoreType);
log.debug("Created keystore : type=["+ks.getType()+"] provider=["+ks.getProvider()+"]");
char ksPass[] = keyStorePass.toCharArray();
char ctPass[] = keyPass.toCharArray();
log.debug("Loading keystore from "+keyStoreFile.getAbsolutePath());
InputStream kis = new FileInputStream(keyStoreFile);
ks.load(kis, ksPass);
kis.close();
KeyManagerFactory kmf = KeyManagerFactory.getInstance(keyManagerAlgorithm);
log.debug("Created KeyManagerFactory : algorithm=["+kmf.getAlgorithm()+"] provider=["+kmf.getProvider()+"]");
log.debug("Initializing KeyManagerFactory with keystore ...");
kmf.init(ks, ctPass);
keyManagers = kmf.getKeyManagers();
sslContext.init(keyManagers, null, null);
return sslContext;
}
catch (JMSException e)
{
throw e;
}
catch (Exception e)
{
throw new FFMQException("Cannot create SSL context","NETWORK_ERROR",e);
}
}