3 Replies Latest reply on Jan 2, 2012 3:52 AM by Roberto Beeman

    How to configure datasource with encrypted password

    brian essen Newbie

      JBoss AS 7.1.Beta1

       

      I want to configure an Oracle datasource with an encrypted password but always receives invalid username/password error. Here is my configuration:

       

                  <datasource jndi-name="java:/oracleds" pool-name="oracleds" enabled="true" jta="false" use-ccm="false">
                      <connection-url>
                          jdbc:oracle:thin:@host:1521:sid
                      </connection-url>
                      <driver>
                          oracle
                      </driver>
                      <security>
                  <security-domain>
                      encrypted-oracleds
                  </security-domain>
                      </security>
                  </datasource>

       

      password encrypted with PicketBox's SecureIdentifyLoginModule

                  <security-domain name="encrypted-oracleds" cache-type="default">
                      <authentication>
                          <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
                              <module-option name="username" value="dbuser"/>
                              <module-option name="password" value="1db2c949438bd043ed413fe8bbfc9ec6"/>
                              <module-option name="managedConnectionFactoryName" value="jboss.jca:service=LocalTxCM,name=oracleds"/>
                          </login-module>
                      </authentication>
                  </security-domain>

       

      I keep getting the following Oracle error. I think somehow the passed-in username/password does not match the one I provided.

       

      Caused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied

       

              at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:452)

              at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:392)

              at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:384)

              at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:657)

              at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:433)

              at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:471)

              at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:199)

              at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:365)

              at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:812)

              at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)

              at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:547)

              at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:225)

              at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:29)

              at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:556)

              at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnect

      ionFactory.java:249)

              ... 139 more

       

      If I use username and password in the datasource config, everything works fine.

      Please let me know what I have done incorrectly.