2013-06-27 4 views
1

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

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

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

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

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

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

ответ

2

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

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