You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by in...@apache.org on 2009/05/12 07:24:41 UTC

svn commit: r773784 - in /synapse/trunk/java: modules/core/src/main/java/org/apache/synapse/security/definition/ modules/core/src/main/java/org/apache/synapse/security/definition/factory/ modules/core/src/main/java/org/apache/synapse/security/secret/ m...

Author: indika
Date: Tue May 12 05:24:40 2009
New Revision: 773784

URL: http://svn.apache.org/viewvc?rev=773784&view=rev
Log:
remove password provider from secret manager
add password providers for keystore configurations 
update property file and document

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/IdentityKeyStoreInformation.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/KeyStoreInformation.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/factory/KeyStoreInformationFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/secret/SecretManager.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/tool/CipherTool.java
    synapse/trunk/java/repository/conf/synapse.properties
    synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/IdentityKeyStoreInformation.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/IdentityKeyStoreInformation.java?rev=773784&r1=773783&r2=773784&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/IdentityKeyStoreInformation.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/IdentityKeyStoreInformation.java Tue May 12 05:24:40 2009
@@ -18,6 +18,8 @@
 */
 package org.apache.synapse.security.definition;
 
+import org.apache.synapse.commons.util.secret.SecretInformation;
+
 import javax.net.ssl.KeyManagerFactory;
 import java.security.KeyStore;
 
@@ -27,10 +29,10 @@
 public class IdentityKeyStoreInformation extends KeyStoreInformation {
 
     /* Password for access private key*/
-    private String keyPassword;
+    private SecretInformation keyPasswordProvider;
 
-    public void setKeyPassword(String keyPassword) {
-        this.keyPassword = keyPassword;
+    public void setKeyPasswordProvider(SecretInformation keyPasswordProvider) {
+        this.keyPasswordProvider = keyPasswordProvider;
     }
 
     /**
@@ -48,7 +50,7 @@
             KeyStore keyStore = this.getIdentityKeyStore();
             KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(
                     KeyManagerFactory.getDefaultAlgorithm());
-            keyManagerFactory.init(keyStore, keyPassword.toCharArray());
+            keyManagerFactory.init(keyStore, keyPasswordProvider.getResolvedPassword().toCharArray());
 
             return keyManagerFactory;
         } catch (Exception e) {
@@ -67,4 +69,7 @@
         return super.getKeyStore();
     }
 
+    public SecretInformation getKeyPasswordProvider() {
+        return keyPasswordProvider;
+    }
 }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/KeyStoreInformation.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/KeyStoreInformation.java?rev=773784&r1=773783&r2=773784&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/KeyStoreInformation.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/KeyStoreInformation.java Tue May 12 05:24:40 2009
@@ -21,6 +21,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.SynapseException;
+import org.apache.synapse.commons.util.secret.SecretInformation;
 import org.apache.synapse.security.enumeration.KeyStoreType;
 import org.apache.synapse.security.interfaces.ICACertsLoader;
 import org.apache.synapse.security.interfaces.IKeyStoreLoader;
@@ -49,7 +50,7 @@
     /* KeyStore location */
     private String location;
     /* KeyStore Password to unlock KeyStore */
-    private String keyStorePassword;
+    private SecretInformation keyStorePasswordProvider;
     /* KeyStore provider */
     private String provider;
 
@@ -97,8 +98,8 @@
         this.provider = provider;
     }
 
-    public void setKeyStorePassword(String keyStorePassword) {
-        this.keyStorePassword = keyStorePassword;
+    public void setKeyStorePasswordProvider(SecretInformation keyStorePasswordProvider) {
+        this.keyStorePasswordProvider = keyStorePasswordProvider;
     }
 
     public void addParameter(String name, String value) {
@@ -119,7 +120,7 @@
         if (log.isDebugEnabled()) {
             log.debug("Loading KeyStore with type : " + storeType);
         }
-
+        String keyStorePassword = this.keyStorePasswordProvider.getResolvedPassword();
         switch (storeType) {
             case JKS:
                 IKeyStoreLoader jksKeyStoreLoader = new JKSKeyStoreLoader(location,
@@ -156,4 +157,7 @@
         throw new SynapseException(msg, e);
     }
 
+    public SecretInformation getKeyStorePasswordProvider() {
+        return keyStorePasswordProvider;
+    }
 }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/factory/KeyStoreInformationFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/factory/KeyStoreInformationFactory.java?rev=773784&r1=773783&r2=773784&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/factory/KeyStoreInformationFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/definition/factory/KeyStoreInformationFactory.java Tue May 12 05:24:40 2009
@@ -24,6 +24,7 @@
 import org.apache.synapse.security.definition.KeyStoreInformation;
 import org.apache.synapse.security.definition.TrustKeyStoreInformation;
 import org.apache.synapse.commons.util.MiscellaneousUtil;
+import org.apache.synapse.commons.util.secret.SecretInformationFactory;
 
 import java.util.Properties;
 
@@ -41,9 +42,9 @@
     /* Alias for private key entry KeyStore */
     private final static String IDENTITY_KEY_STORE_ALIAS = "keystore.identity.alias";
     /* Password for access keyStore*/
-    private final static String IDENTITY_KEY_STORE_PASSWORD = "keystore.identity.storePassword";
+    private final static String IDENTITY_KEY_STORE_PASSWORD = "keystore.identity.store";
     /* Password for get private key*/
-    private final static String IDENTITY_KEY_PASSWORD = "keystore.identity.keyPassword";
+    private final static String IDENTITY_KEY_PASSWORD = "keystore.identity.key";
 
     private final static String KEY_STORE_PARAMETERS = "keystore.identity.parameters";
 
@@ -54,9 +55,20 @@
     /* Alias for certificate KeyStore */
     private final static String TRUST_STORE_ALIAS = "keystore.trust.alias";
     /* Password for access TrustStore*/
-    private final static String TRUST_STORE_PASSWORD = "keystore.trust.storePassword";
+    private final static String TRUST_STORE_PASSWORD = "keystore.trust.store";
 
     private final static String TRUST_STORE_PARAMETERS = "keystore.trust.parameters";
+    /* Dot string */
+    private final static String DOT = ".";
+    /* Property key password provider */
+    private final static String PROP_PASSWORD_PROVIDER = "passwordProvider";
+    /* Prompt for trust store password*/
+    private final static String TRUSTSTORE_PASSWORD_PROMPT = "Trust Store Password > ";
+    /* Prompt for identity store password*/
+    private final static String IDENTITYSTORE_PASSWORD_PROMPT = "Identity Store Password > ";
+    /* Prompt for identity store private key password*/
+    private final static String IDENTITYSTORE_PRIVATE_KEY_PASSWORD_PROMPT
+            = "Identity Store Private Key Password > ";
 
     /**
      * Creates a KeyStoreInformation using synapse properties
@@ -84,12 +96,17 @@
         keyStoreInformation.setStoreType(
                 MiscellaneousUtil.getProperty(properties,
                         IDENTITY_KEY_STORE_TYPE, null));
-        keyStoreInformation.setKeyStorePassword(
-                MiscellaneousUtil.getProperty(
-                        properties, IDENTITY_KEY_STORE_PASSWORD, null));
-        keyStoreInformation.setKeyPassword(
-                MiscellaneousUtil.getProperty(
-                        properties, IDENTITY_KEY_PASSWORD, null));
+
+        keyStoreInformation.setKeyStorePasswordProvider(
+                SecretInformationFactory.createSecretInformation(properties,
+                        IDENTITY_KEY_STORE_PASSWORD + DOT,
+                        IDENTITYSTORE_PASSWORD_PROMPT));
+
+        keyStoreInformation.setKeyPasswordProvider(
+                SecretInformationFactory.createSecretInformation(
+                        properties, IDENTITY_KEY_PASSWORD + DOT,
+                        IDENTITYSTORE_PRIVATE_KEY_PASSWORD_PROMPT));
+
         String parameterString = MiscellaneousUtil.getProperty(
                 properties, KEY_STORE_PARAMETERS, null);
 
@@ -124,8 +141,11 @@
         trustInformation.setStoreType(
                 MiscellaneousUtil.getProperty(properties,
                         TRUST_STORE_TYPE, null));
-        trustInformation.setKeyStorePassword(
-                MiscellaneousUtil.getProperty(properties, TRUST_STORE_PASSWORD, null));
+
+        trustInformation.setKeyStorePasswordProvider(
+                SecretInformationFactory.createSecretInformation(
+                        properties, TRUST_STORE_PASSWORD + DOT, TRUSTSTORE_PASSWORD_PROMPT));
+
         String parameterString = MiscellaneousUtil.getProperty(
                 properties, TRUST_STORE_PARAMETERS, null);
 

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/secret/SecretManager.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/secret/SecretManager.java?rev=773784&r1=773783&r2=773784&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/secret/SecretManager.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/secret/SecretManager.java Tue May 12 05:24:40 2009
@@ -8,7 +8,6 @@
 import org.apache.synapse.SynapseException;
 import org.apache.synapse.commons.util.MiscellaneousUtil;
 import org.apache.synapse.commons.util.jmx.MBeanRegistrar;
-import org.apache.synapse.commons.util.secret.*;
 import org.apache.synapse.security.definition.IdentityKeyStoreInformation;
 import org.apache.synapse.security.definition.TrustKeyStoreInformation;
 import org.apache.synapse.security.definition.factory.KeyStoreInformationFactory;
@@ -35,24 +34,6 @@
     private final static String PROP_SECRET_REPOSITORIES = "secretRepositories";
     /* Type of the secret repository */
     private final static String PROP_PROVIDER = "provider";
-    /* Property key secret manager */
-    private final static String PROP_SECRET_MANAGER = "secretManager";
-    /* Property key password provider */
-    private final static String PROP_PASSWORD_PROVIDER = "passwordProvider";
-    /* Prompt for trust store password*/
-    private final static String TRUSTSTORE_PASSWORD_PROMPT = "Trust Store Password > ";
-    /* Prompt for identity store password*/
-    private final static String IDENTITYSTORE_PASSWORD_PROMPT = "Identity Store Password > ";
-    /* Prompt for identity store private key password*/
-    private final static String IDENTITYSTORE_PRIVATE_KEY_PASSWORD_PROMPT
-            = "Identity Store Private Key Password > ";
-    /* ID for trust store password*/
-    private final static String TRUSTSTORE_PASSWORD_ID = "trust.store.pass";
-    /* ID for identity store password*/
-    private final static String IDENTITYSTORE_PASSWORD_ID = "identity.store.pass";
-    /* ID for identity store private key password*/
-    private final static String IDENTITYSTORE_PRIVATE_KEY_PASSWORD_ID
-            = "identity.key.pass";
     /* Dot string */
     private final static String DOT = ".";
 
@@ -121,52 +102,22 @@
             return;
         }
 
-        SecretCallbackHandler secretCallbackHandler =
-                SecretCallbackHandlerFactory.createSecretCallbackHandler(properties,
-                        PROP_SECRET_MANAGER + DOT + PROP_PASSWORD_PROVIDER);
 
-        if (secretCallbackHandler == null) {
-            if (log.isDebugEnabled()) {
-                log.debug("Unable to find a SecretCallbackHandler and so " +
-                        " cannot get passwords required for " +
-                        "root level secret repositories - trust store password or  identity " +
-                        "store password and it's private key password");
-            }
-            return;
-        }
+        //Create a KeyStore Information  for private key entry KeyStore
+        IdentityKeyStoreInformation identityInformation =
+                KeyStoreInformationFactory.createIdentityKeyStoreInformation(properties);
+
+        // Create a KeyStore Information for trusted certificate KeyStore
+        TrustKeyStoreInformation trustInformation =
+                KeyStoreInformationFactory.createTrustKeyStoreInformation(properties);
+
 
-        String identityStorePass;
-        String identityKeyPass;
-        String trustStorePass;
-
-        // Creating required password class backs
-        SingleSecretCallback trustStorePassSecretCallback
-                = new SingleSecretCallback(TRUSTSTORE_PASSWORD_PROMPT,
-                TRUSTSTORE_PASSWORD_ID);
-        SingleSecretCallback identityStorePassSecretCallback
-                = new SingleSecretCallback(IDENTITYSTORE_PASSWORD_PROMPT,
-                IDENTITYSTORE_PASSWORD_ID);
-        SingleSecretCallback identityKeyPassSecretCallback
-                = new SingleSecretCallback(IDENTITYSTORE_PRIVATE_KEY_PASSWORD_PROMPT,
-                IDENTITYSTORE_PRIVATE_KEY_PASSWORD_ID);
-
-        // Group all as a one callback
-        MultiSecretCallback callback = new MultiSecretCallback();
-        callback.addSecretCallback(trustStorePassSecretCallback);
-        callback.addSecretCallback(identityStorePassSecretCallback);
-        callback.addSecretCallback(identityKeyPassSecretCallback);
-        SecretCallback[] secretCallbacks = new SecretCallback[]{callback};
-
-        // Create and initiating SecretLoadingModule
-        SecretLoadingModule secretLoadingModule = new SecretLoadingModule();
-        secretLoadingModule.init(new SecretCallbackHandler[]{secretCallbackHandler});
-
-        //load passwords
-        secretLoadingModule.load(secretCallbacks);
-
-        identityKeyPass = identityKeyPassSecretCallback.getSecret();
-        identityStorePass = identityStorePassSecretCallback.getSecret();
-        trustStorePass = trustStorePassSecretCallback.getSecret();
+        String identityKeyPass = identityInformation
+                .getKeyPasswordProvider().getResolvedPassword();
+        String identityStorePass = identityInformation
+                .getKeyStorePasswordProvider().getResolvedPassword();
+        String trustStorePass = trustInformation
+                .getKeyStorePasswordProvider().getResolvedPassword();
 
         if (!validatePasswords(identityStorePass, identityKeyPass, trustStorePass)) {
             if (log.isDebugEnabled()) {
@@ -176,18 +127,8 @@
             return;
         }
 
-        //Create a KeyStore Information  for private key entry KeyStore
-        IdentityKeyStoreInformation keyStoreInformation =
-                KeyStoreInformationFactory.createIdentityKeyStoreInformation(properties);
-        keyStoreInformation.setKeyStorePassword(identityStorePass);
-
-        // Create a KeyStore Information for trusted certificate KeyStore
-        TrustKeyStoreInformation trustInformation =
-                KeyStoreInformationFactory.createTrustKeyStoreInformation(properties);
-        trustInformation.setKeyStorePassword(trustStorePass);
-
         IdentityKeyStoreWrapper identityKeyStoreWrapper = new IdentityKeyStoreWrapper();
-        identityKeyStoreWrapper.init(keyStoreInformation, identityKeyPass);
+        identityKeyStoreWrapper.init(identityInformation, identityKeyPass);
 
         TrustKeyStoreWrapper trustKeyStoreWrapper = new TrustKeyStoreWrapper();
         trustKeyStoreWrapper.init(trustInformation);

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/tool/CipherTool.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/tool/CipherTool.java?rev=773784&r1=773783&r2=773784&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/tool/CipherTool.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/security/tool/CipherTool.java Tue May 12 05:24:40 2009
@@ -22,6 +22,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.SynapseException;
+import org.apache.synapse.commons.util.secret.SecretInformation;
 import org.apache.synapse.security.definition.CipherInformation;
 import org.apache.synapse.security.definition.IdentityKeyStoreInformation;
 import org.apache.synapse.security.definition.TrustKeyStoreInformation;
@@ -278,7 +279,9 @@
         information.setStoreType(getArgument(cmd, STORE_TYPE, KeyStoreType.JKS.toString()));
         String storePass = getArgument(cmd, STORE_PASS, null);
         assertEmpty(storePass, STORE_PASS);
-        information.setKeyStorePassword(storePass);
+        SecretInformation secretInformation = new SecretInformation();
+        secretInformation.setAliasPassword(storePass);
+        information.setKeyStorePasswordProvider(secretInformation);
 
         return information;
     }
@@ -299,7 +302,9 @@
         information.setStoreType(getArgument(cmd, STORE_TYPE, KeyStoreType.JKS.toString()));
         String storePass = getArgument(cmd, STORE_PASS, null);
         assertEmpty(storePass, STORE_PASS);
-        information.setKeyStorePassword(storePass);
+        SecretInformation secretInformation = new SecretInformation();
+        secretInformation.setAliasPassword(storePass);
+        information.setKeyStorePasswordProvider(secretInformation);
 
         return information;
     }

Modified: synapse/trunk/java/repository/conf/synapse.properties
URL: http://svn.apache.org/viewvc/synapse/trunk/java/repository/conf/synapse.properties?rev=773784&r1=773783&r2=773784&view=diff
==============================================================================
--- synapse/trunk/java/repository/conf/synapse.properties (original)
+++ synapse/trunk/java/repository/conf/synapse.properties Tue May 12 05:24:40 2009
@@ -47,7 +47,6 @@
 #synapse.passwordProvider=org.apache.synapse.security.secret.handler.JlineSecretCallbackHandler
 #synapse.passwordProvider=org.apache.synapse.security.secret.handler.JBossEncryptionSecretCallbackHandler
 #
-#secretManager.passwordProvider=<any implementation of org.apache.synapse.commons.util.secret.SecretCallbackHandler>
 #secretRepositories=file
 #secretRepositories.file.provider=org.apache.synapse.security.secret.repository.filebased.FileBaseSecretRepositoryProvider
 #secretRepositories.file.location=cipher-text.properties
@@ -55,15 +54,17 @@
 #keystore.identity.location=lib/identity.jks
 #keystore.identity.type=JKS
 #keystore.identity.alias=synapse
-#keystore.identity.storePassword=password
-#keystore.identity.keyPassword=password
-#keystore.identity.parameters=enableHostnameVerifier=false;keyStoreCertificateFilePath=/home/esb.cer
+#keystore.identity.store.password=password
+#keystore.identity.store.passwordProvider=<any implementation of org.apache.synapse.commons.util.secret.SecretCallbackHandler>
+#keystore.identity.key.password=password
+#keystore.identity.key.passwordProvider=<any implementation of org.apache.synapse.commons.util.secret.SecretCallbackHandler>
+##keystore.identity.parameters=enableHostnameVerifier=false;keyStoreCertificateFilePath=/home/esb.cer
 #
 #keystore.trust.location=lib/trust.jks
 #keystore.trust.type=JKS
 #keystore.trust.alias=synapse
-#keystore.trust.storePassword=password
-#keystore.trust.parameters=enableHostnameVerifier=false;keyStoreCertificateFilePath=/home/esb.cer
+#keystore.trust.store.password=password
+#keystore.trust.store.passwordProvider=<any implementation of org.apache.synapse.commons.util.secret.SecretCallbackHandler>
 #
 ################################################################################
 # DataSources Configuration
@@ -97,7 +98,7 @@
 #synapse.datasources.reportds.driverClassName=org.apache.derby.jdbc.ClientDriver
 #synapse.datasources.reportds.url=jdbc:derby://localhost:1527/reportdb;create=false
 # Optionally you can specifiy a specific password provider implementation which overrides any globally configured provider
-#synapse.datasources.lookupds.passwordProvider=org.apache.synapse.security.secret.handler.JBossEncryptionSecretCallbackHandler
+#synapse.datasources.reportds.passwordProvider=org.apache.synapse.security.secret.handler.JBossEncryptionSecretCallbackHandler
 #synapse.datasources.reportds.username=synapse
 # Depending on the password provider used, you may have to use an encrypted password here!
 #synapse.datasources.reportds.password=synapse

Modified: synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml
URL: http://svn.apache.org/viewvc/synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml?rev=773784&r1=773783&r2=773784&view=diff
==============================================================================
--- synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml (original)
+++ synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml Tue May 12 05:24:40 2009
@@ -798,14 +798,14 @@
         keystore.identity.location=lib/identity.jks
         keystore.identity.type=JKS
         keystore.identity.alias=synapse
-        keystore.identity.storePassword=password
-        keystore.identity.keyPassword=password
+        keystore.identity.store.password=password
+        keystore.identity.key.password=password
         #keystore.identity.parameters=enableHostnameVerifier=false;keyStoreCertificateFilePath=/home/esb.cer
 
         keystore.trust.location=lib/trust.jks
         keystore.trust.type=JKS
         keystore.trust.alias=synapse
-        keystore.trust.storePassword=password
+        keystore.trust.store.password=password
         #keystore.trust.parameters=enableHostnameVerifier=false;keyStoreCertificateFilePath=/home/esb.cer
 
     </pre>
@@ -822,30 +822,24 @@
     Those are arranged in a cascade manger. Secrets can be accessed by providing alias for those.
 
     Key Stores needed for Secret Manager and secret repositories need to be configured according to
-    the <strong>Key Stores Configurations</strong>. In this case, all the passwords in the key store configuration
+    the<strong>Key Stores Configurations</strong>. In this case, all the passwords in the key store
+    configuration
     contains only alias to refer actual password. For example
     keystore.identity.storePassword=password
-    Here <strong>password</strong> is an alias and to be used to get actual password
+    Here
+    <strong>password</strong>
+    is an alias and to be used to get actual password
 
     In order to resolve above passwords (i.e. to get actual passwords); it is needed to provide a
-    <strong>password provider</strong> for secret manager. In future, this will be moved into key store
-    configurations itself .This can be done by adding property to <strong>synapse.properties</strong>
-
-</p>
-
-<div>
-    <p>
-        <strong>Secret manager password provider
-            <br/>
-        </strong>
-    </p>
+    <strong>password provider</strong>
+    for each keystore.
+    This can be done by adding property called
+    <strong>passwordProvider= any implementation of org.apache.synapse.commons.util.secret.SecretCallbackHandler
+    </strong>
+    Example
     <pre>
-        secretManager.passwordProvider=org.apache.synapse.security.secret.handler.JMXSecretCallbackHandler
+        keystore.identity.store.passwordProvider=org.apache.synapse.security.secret.handler.JMXSecretCallbackHandler
     </pre>
-</div>
-<p>Note: In the case where use for configuring key store for secret manager, the passwords in the
-    above configurations act as only just alias. There are some mechanisms that can be used to
-    provide actual password for these aliases. Those are described under <strong>Securing Password</strong>.
 </p>
 <p>
     The  <strong>password provider</strong> should be an implementation of
@@ -862,6 +856,9 @@
         <li>
             org.apache.synapse.security.secret.handler.HardCodedSecretCallbackHandler
         </li>
+        <li>
+            org.apache.synapse.security.secret.handler.JBossEncryptionSecretCallbackHandler
+        </li>
     </ul>
     <p>
         When use <strong>org.apache.synapse.security.secret.handler.JMXSecretCallbackHandler</strong>
@@ -1036,11 +1033,11 @@
         </strong>
     </p>
     <p>
-        <strong>ciphertool.bat -source testpass -keystore lib\identity.jks -storepass password -alias synapse -keypass password
+        <strong>ciphertool.bat -source testpass -keystore lib\identity.jks -storepass password -alias synapse -keypass password -outencode base64
             <br/>
         </strong>
     </p>
-    <pre>ciphertool.bat -source testpass -keystore lib\identity.jks -storepass password -alias synapse -keypass password
+    <pre>ciphertool.bat -source testpass -keystore lib\identity.jks -storepass password -alias synapse -keypass password -outencode base64
 
         Using SYNAPSE_HOME: C:\Project\apache\synapse\synapse4\modules\distribution\ta
         rget\synapse-SNAPSHOT