[jboss-svn-commits] JBossWS SVN: r792 - trunk/src/main/java/org/jboss/ws/wsse
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Aug 20 16:08:25 EDT 2006
Author: mageshbk
Date: 2006-08-20 16:08:22 -0400 (Sun, 20 Aug 2006)
New Revision: 792
Modified:
trunk/src/main/java/org/jboss/ws/wsse/SecurityStore.java
Log:
Fixed code which was directly updating keyStorePassword
Modified: trunk/src/main/java/org/jboss/ws/wsse/SecurityStore.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/wsse/SecurityStore.java 2006-08-20 20:04:40 UTC (rev 791)
+++ trunk/src/main/java/org/jboss/ws/wsse/SecurityStore.java 2006-08-20 20:08:22 UTC (rev 792)
@@ -104,49 +104,12 @@
private KeyStore loadStore(String property, String type, URL storeURL, String storeType, String storePassword) throws WSSecurityException
{
- if (storeURL==null)
- {
- String defaultStore = System.getProperty(property);
- if (defaultStore==null)
- {
- return null;
- }
-
- File storeFile = new File(defaultStore);
- try
- {
- storeURL = storeFile.toURL();
- }
- catch (MalformedURLException e)
- {
- throw new WSSecurityException("Problems loading " + type + ": " + e.getMessage(), e);
- }
- }
-
if (storeType == null)
storeType = System.getProperty(property + "Type");
if (storeType == null)
storeType = "jks";
- if( storePassword.charAt(0) == '{' )
- {
- StringTokenizer tokenizer = new StringTokenizer(storePassword, "{}");
- String keyStorePasswordCmdType = tokenizer.nextToken();
- String keyStorePasswordCmd = tokenizer.nextToken();
- if( keyStorePasswordCmdType.equals("EXT") )
- {
- storePassword = execPasswordCmd(keyStorePasswordCmd);
- }
- else if( keyStorePasswordCmdType.equals("CLASS") )
- {
- storePassword = invokePasswordClass(keyStorePasswordCmd);
- }
- else
- {
- throw new WSSecurityException("Unknown keyStorePasswordCmdType: "+keyStorePasswordCmdType);
- }
- }
- keyStorePassword = storePassword;
+ storePassword = getPassword(storePassword);
try
{
if (storeURL == null)
@@ -162,7 +125,7 @@
log.debug("loadStore: " + storeURL);
InputStream stream = storeURL.openStream();
KeyStore keyStore = KeyStore.getInstance(storeType);
- keyStore.load(stream, keyStorePassword.toCharArray());
+ keyStore.load(stream, storePassword.toCharArray());
return keyStore;
}
@@ -171,6 +134,35 @@
throw new WSSecurityException("Problems loading " + type + ": " + e.getMessage(), e);
}
}
+
+ /**
+ * This method examines the password for the presence of a encryption algorithm, if found
+ * decrypts and returns the password, else returns the password as is.
+ */
+ private String getPassword(String password) throws WSSecurityException
+ {
+ 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);
+ }
+ }
+
+ return password;
+ }
+
private String execPasswordCmd(String keyStorePasswordCmd) throws WSSecurityException
{
log.debug("Executing command: "+keyStorePasswordCmd);
@@ -359,7 +351,7 @@
PrivateKey key;
try
{
- key = (PrivateKey) keyStore.getKey(alias, keyStorePassword.toCharArray());
+ key = (PrivateKey) keyStore.getKey(alias, getPassword(keyStorePassword).toCharArray());
}
catch (Exception e)
{
More information about the jboss-svn-commits
mailing list