首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jboss eap 6中的数据源加密

jboss eap 6中的数据源加密
EN

Stack Overflow用户
提问于 2017-06-19 17:36:06
回答 1查看 1.6K关注 0票数 0

我对数据源进行了加密,如下所示:

Standalone.xml:

代码语言:javascript
复制
<datasource jndi-name="java:/OracleDS" pool-name="OracleDS" enabled="true">
<connection-url>jdbc:oracle:thin:@abc.com:1001:DEV1</connection-url>
<driver>oracle</driver>
<security>
<security-domain>encrypted-ds</security-domain>
</security>   
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
<validate-on-match>true</validate-on-match>
<background-validation>false</background-validation>
<stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
</validation>
</datasource>

->added安全域标签中的安全域:

代码语言:javascript
复制
<security-domain name="encrypted-ds" cache-type="default">
<authentication>
<login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
<module-option name="username" value="308c162f7c2ec7f"/>
<module-option name="password" value="308c162f7c2ec7f"/>
<module-option name="managedConnectionFactoryName" value="jboss.jca:service=LocalTxCM,name=OracleDS"/>
</login-module>
</authentication>
</security-domain>

我希望管理控制台中的用户名密码为纯文本/‘*’(如果是密码)。有没有可能。??有没有其他加密技术可以用来做同样的事情??

EN

回答 1

Stack Overflow用户

发布于 2017-06-19 20:43:37

在Jboss EAP6中,您可以使用SecureIdentityLoginModule添加加密密码域。例如,您可以在standalone.xml或domain.xml中定义安全域:

代码语言:javascript
复制
<security-domain name="EncryptedPassword">
  <authentication>
    <login-module code="SecureIdentity" flag="required">
      <module-option name="username" value="test"/>
      <module-option name="password" value="encrypted_password"/>
    </login-module>
  </authentication>
</security-domain>

然后,您可以在standalone.xml或domain.xml中使用此userid/pwd组合的特定数据源中添加此安全域:

代码语言:javascript
复制
 <datasource ... >
       .....
       <security>
              <security-domain>EncryptedPassword</security-domain>
       </security>
  </datasource>

要加密密码本身,您可以运行此命令(请验证特定AS7下载中的picketbox jar和logging jar的版本,以替换为相应的版本):

代码语言:javascript
复制
java -cp $JBOSS_HOME/modules/org/picketbox/main/picketbox-4.0.6.<beta|final>.jar:$JBOSS_HOME/modules/org/jboss/logging/main/jboss-logging-3.1.0.<some_version>.jar:$CLASSPATH org.picketbox.datasource.security.SecureIdentityLoginModule password

这将返回您可以在安全域中使用的加密密码。

您可以阅读有关JBoss AS7安全子系统here的更多信息

由于开源的原因,您可以在SecureIdentityLogin的源代码中看到编码代码是如何工作的。您将在源代码中注意到它使用Blowfish进行加密。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44626992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档