private String decryptPassword(String password) throws WSSecurityException
{
log.trace("decrypt password: " + password);
if (password == null)
throw new WSSecurityException("Invalid null password for security store");
if (password.charAt(0) == '{')
{
StringTokenizer tokenizer = new StringTokenizer(password, "{}");
String keyStorePasswordCmdType = tokenizer.nextToken();
String keyStorePasswordCmd = tokenizer.nextToken();
if (keyStorePasswordCmdType.equals("EXT"))
{
password = execPasswordCmd(keyStorePasswordCmd);
}
else if (keyStorePasswordCmdType.equals("CLASS"))
{
password = invokePasswordClass(keyStorePasswordCmd);
}
else
{
throw new WSSecurityException("Unknown keyStorePasswordCmdType: " + keyStorePasswordCmdType);
}
}
if (password == null)
throw new WSSecurityException("Cannot decrypt password, result is null");
log.trace("decrypted password: " + password);
return password;
}