Chapter 19. Using LdapExtLoginModule with JaasSecurityDomain

download PDF
This chapter provides guidance on how the LdapExtLoginModule can be used with an encrypted password to be decrypted by a JaasSecurityDomain. This chapter assumes that the LdapExtLoginModule is already running correctly with a non-encrypted password.

Procedure 19.1. 

  1. Define JaasSecurityDomain MBean

    Define the JaasSecurityDomain MBean used to decrypt the encrypted version of the password. You can add the MBean to $JBOSS_HOME/server/$PROFILE/conf/jboss-service.xml, or to a *-service.xml deployment descriptor in the $JBOSS_HOME/server/$PROFILE/deploy folder.
             
      <mbean code="org.jboss.security.plugins.JaasSecurityDomain"
          name="jboss.security:service=JaasSecurityDomain,domain=jmx-console">
          <constructor>
             <arg type="java.lang.String" value="jmx-console"></arg>
          </constructor>
          <attribute name="KeyStorePass">some_password</attribute>
          <attribute name="Salt">abcdefgh</attribute>
          <attribute name="IterationCount">66</attribute>
       </mbean>
    

    Note

    The default cipher algorithm used by the JaasSecurityDomain implementation is PBEwithMD5andDES. Other cipher algorithms include DES, TripleDES, Blowfish, and PBEWithMD5AndTripleDES. All algorithms are symmetric algorithms. You specify a cipher algorithm by appending an <attribute> element with the CypherElement attribute set to one of these values.
  2. Adjust password, salt, and iteration count

    Step One contains a simple configuration where the required password, Salt, and Iteration Count used for the encryption or decryption are contained within the MBean definition.
    Ensure you change the KeyStorePass, Salt, and IterationCount values suitable for your own deployment.
After this MBean has been defined, start the JBoss Enterprise Application Platform. Navigate to the JMX Console (http://localhost:8080/jmx-console/ by default) and select the org.jboss.security.plugins.JaasSecurityDomain MBean.
On the org.jboss.security.plugins.JaasSecurityDomain page, look for the encode64(String password) method. Pass the plain text version of the password being used by the LdapExtLoginModule to this method, and invoke it. The return value should be the encrypted version of the password encoded as Base64.
Within the login module configuration, the following module-options should be set:
 <module-option name="jaasSecurityDomain">jboss.security:service=JaasSecurityDomain,domain=jmx-console</module-option>
  <module-option name="bindCredential">2gx7gcAxcDuaHaJMgO5AVo</module-option>
The first option is a new option to specify that the JaasSecurityDomain used previously should be used to decrypt the password.
The bindCredential is then replaced with the encrypted form as Base64.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.