Использование реестра углерода 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 вы можете использовать безопасное хранилище, как описано здесь.