Wednesday, May 16, 2018

How to make DB connection string encrypted in wildfly 10?



How to make DB connection string encrypted?


Go inside wildfly directory on your machine.

cd /wildfly

then run below command with your own password


sudo java -cp modules/system/layers/base/org/picketbox/main/picketbox-4.9.6.Final.jar org.picketbox.datasource.security.SecureIdentityLoginModule <password>

you will get something encrypted password string like below.

ufqewbrqeqewcn4398790291kjxfe



Put Datasource Change in standalone.xml:

                  <security>
                        <security-domain>encrypted-ds-WASM2</security-domain>
                    </security>
                    <validation>
                        <validate-on-match>false</validate-on-match>
                        <background-validation>false</background-validation>
                        <background-validation-millis>1</background-validation-millis>
                    </validation>
                    <statement>
                        <prepared-statement-cache-size>0</prepared-statement-cache-size>
                        <share-prepared-statements>false</share-prepared-statements>
                    </statement>


Added Security Domain and updated data source being used in application for DB encrypted string in standalone.xml.

<security-domain name="encrypted-ds-WASM2" cache-type="default">
                    <authentication>
                        <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
                            <module-option name="username" value="admin"/>
                            <module-option name="password" value="ufqewbrqeqewcn4398790291kjxfe"/>
                            <module-option name="managedConnectionFactoryName" value="jboss.jca:service=LocalTxCM,name=MySqlDS_Pool"/>
                        </login-module>
                    </authentication>
                </security-domain>


Fixing yum command on linux

You may find yourself having to fix more packages. So you can just remove everything you had installed via  pip and reinstall everythin...