Использование реестра углерода WSO2 для хранения конфиденциальных данных конфигурации

У меня есть сторонняя служба, которую мне нужно вызвать из моей веб-службы AXIS2, которую я развернул на сервере приложений WSO2.

Я хотел бы сохранить имя пользователя и пароль для сторонней службы в реестре Carbon, однако я хочу защитить конфиденциальные данные (например, секретный пароль), чтобы они не были видны в открытом виде администраторам баз данных, которые имеют доступ к реестру данные.

    SomeService= new SomeService(
         new URL("https://some-server:9443/service"), "admin", "secretpassword");

В идеале, конфиденциальные данные должны быть зашифрованы.

Вопрос: поддерживает ли реестр зашифрованные данные?

Подобный вопрос был задан здесь, но я не смог найти больше информации.

1 ответ

Решение

Для шифрования определенных свойств ресурса вы можете использовать Обработчик шифрования, добавив следующую конфигурацию в registry.xml (как описано в этой теме):

  <handler class="org.wso2.carbon.registry.extensions.handlers.EncryptionHandler"> 
    <property name="propertyNames">foo,bar</property> 
    <property name="encryptContent">true</property> 
    <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher"> 
        <property name="mediaType">application/vnd.wso2.foo</property> 
    </filter> 
</handler>

Для защиты секретной информации в файлах конфигурации WSO2 Carbon вы можете использовать безопасное хранилище, как описано здесь.

Другие вопросы по тегам