我需要从我已部署到WSO2 App Server的AXIS2 Web服务中调用第三方服务。
我想在Carbon注册表中存储第三方服务的用户名和密码,但是,我想保护敏感数据(例如,密码密码),因此DBA的访问者无法清楚地看到它到注册表数据。
SomeService= new SomeService(
new URL("https://some-server:9443/service"), "admin", "secretpassword");
理想情况下,敏感数据会被加密。
问题:注册表是否支持加密数据?
有人提出了类似的问题here,但我无法找到更多信息。
答案 0 :(得分:2)
要加密资源的某些属性,可以通过将以下配置添加到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所述的安全保管库。