Как зашифровать / расшифровать пароли в blueprint.xml? - PullRequest
0 голосов
/ 19 июня 2019

Я хочу установить имя пользователя и пароль для RedHat AMQ. Поскольку пароль не может быть простым текстом, его необходимо указать в зашифрованном виде.

<bean class="org.apache.activemq.camel.component.ActiveMQComponent" id="activemq">
        <property name="brokerURL" value="${activemq.brokerURL}"/>
        <property name="userName" value="${activemq.userName}"/>
        <property name="password" value="${activemq.password}"/>
    </bean>
activemq.userName=jboss
activemq.password=ENC(kOPUJKK141oluf4XZC91iw==)

Ответы [ 2 ]

1 голос
/ 27 июня 2019

Этого можно добиться, добавив зависимость Jasypt в файл pom.xml, например, -

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-jasypt</artifactId>
    <version>x.x.x</version> <!-- use the same version as your Camel core version -->
</dependency>

Он кодирует значения в файле свойств, например, в файле .CFG, и декодирует их при использовании внутри проекта вво время выполнения.Подробно об этом можно узнать по ссылке .

0 голосов
/ 12 июля 2019

Я сделал это возможным, добавив свойство-заполнитель, как показано ниже:
ENC (kOPUJKK141oluf4XZC91iw ==)


<enc:property-placeholder>
        <enc:encryptor class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
            <property name="config">
                <bean class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
                    <property name="algorithm" value="PBEWithMD5AndDES"/>
                    <property name="passwordEnvName" value="JASYPT_ENCRYPTION_PASSWORD"/>
                </bean>
            </property>
        </enc:encryptor>
</enc:property-placeholder>

...