in plugins/core/src/main/java/org/apache/cxf/fediz/core/config/FedizContext.java [368:410]
private Properties createCryptoProperties(KeyManagersType km) {
String keyStoreFile = null;
String keyType = "jks";
KeyStoreType ks = km.getKeyStore();
String keyStorePw = ks.getPassword();
if (ks.getFile() != null && !ks.getFile().isEmpty()) {
keyStoreFile = ks.getFile();
} else if (ks.getResource() != null && !ks.getResource().isEmpty()) {
URL resource = Loader.getResource(ks.getResource());
if (resource != null) {
// WSS4J will re-load the resource anyway
keyStoreFile = ks.getResource();
}
}
if (keyStoreFile == null) {
throw new IllegalStateException("No certificate store configured");
}
File f = new File(keyStoreFile);
if (!f.exists() && getRelativePath() != null && !getRelativePath().isEmpty()) {
keyStoreFile = getRelativePath().concat(File.separator + keyStoreFile);
}
if (keyStoreFile == null || keyStoreFile.isEmpty()) {
throw new IllegalConfigurationException("truststoreFile not configured");
}
if (keyStorePw == null || keyStorePw.isEmpty()) {
throw new IllegalConfigurationException("trustStorePw not configured");
}
if (ks.getType() != null) {
keyType = ks.getType();
}
Properties p = new Properties();
p.put("org.apache.ws.security.crypto.provider",
"org.apache.ws.security.components.crypto.Merlin");
p.put("org.apache.ws.security.crypto.merlin.keystore.type", keyType);
p.put("org.apache.ws.security.crypto.merlin.keystore.password",
keyStorePw);
p.put("org.apache.ws.security.crypto.merlin.keystore.file",
keyStoreFile);
return p;
}