ce97
作者ce97·2015-03-31 18:26
软件开发工程师·某某某

WAS 7 密码的编码和解码

字数 1348阅读 1524评论 0赞 0

众所周知,最简单的方法就是把用户名和密码直接写到命令里面。
${PROFILE_HOME}/bin/stopServer.sh serverXYZ -username XYZ -password XYZ

但是这样做的话,就把明文的密码暴露出来了,不安全。可以使用下面介绍的方法进行编码。

1、首先设置一下环境变量
WAS_HOME=/opt/data/IBM/WebSphere/AppServer

2、编码

(1) 我们拿 dmgr 做试验,比如我的 dmgr 概要文件叫做 Dmgr01
cd ${WAS_HOME}/profiles/Dmgr01/properties/

(2) 先备份文件 soap.client.props
cp -p soap.client.props soap.client.props.original

(3) 修改文件 soap.client.props,把用户名和密码分别写到下面两行的等号后面:
com.ibm.SOAP.loginUserid=
com.ibm.SOAP.loginPassword=

比如我的:
com.ibm.SOAP.loginUserid=wasadmin
com.ibm.SOAP.loginPassword=123456

(4) 开始编码
../bin/PropFilePasswordEncoder.sh soap.client.props com.ibm.SOAP.loginPassword -noBackup

(5) 确认一下编码的结果

[properties]# diff soap.client.props soap.client.props.original
31,32c31,32
< com.ibm.SOAP.loginUserid=wasadmin
< com.ibm.SOAP.loginPassword={xor}bm1sa2pp
---
> com.ibm.SOAP.loginUserid=
> com.ibm.SOAP.loginPassword=


(6) 现在停止 dmgr 的时候就不需要手工输入密码了
../bin/stopManager.sh

3、解码

如果不小心忘记了密码,可以通过这个方法找回来。

WAS_PASS={xor}bm1sa2pp
JAR_FILE=securityimpl.jar
JAR_PATH=`find ${WAS_HOME} -type f -name ${JAR_FILE}`
JAR_FOLDER=`dirname ${JAR_PATH}`
WAS_JARS=$(dirname $(find ${WAS_HOME} -type f -name securityimpl.jar))
${WAS_HOME}/java/bin/java -Djava.ext.dirs=${JAR_FOLDER} -cp ${JAR_FILE} com.ibm.ws.security.util.PasswordDecoder ${WAS_PASS}

结果如下:
encoded password == "{xor}bm1sa2pp", decoded password == "123456"

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广