天天看点

IBM Key Management工具(iKeyMan)脚本吃掉%*$*无法接收命令行参数之解

<a href="http://www.java2class.net/bbs/viewthread.php?tid=230">http://www.java2class.net/bbs/viewthread.php?tid=230</a>

ikeyman工具是一个图形化用户界面的数字证书管理工具。通过它可以创建一个新的密钥库、测试数字证书、增加ca根到密钥库、从一个密钥库拷贝证书到另一个密钥库,以及从ca机构请求和接收数字证书、设置默认的密钥、更改密码等等。

但是由于ibm产品中所附带的脚本中对接收命令行的参数没有进行有效的处理,以致于想通过命令行进行传递定制的参数无法顺利进行。

对于aix、linux、solaris可以通过在 ikeyman.sh 中的 -classpath $cp 前增加 $* 来接收命令行参数

而在windows下则可以通过在 ikeyman.bat(was 4.0版本)、ikeyman_old.bat(was 5.1及以上版本) 文件中的 -classpath %cp% 前加上 %* 来接收命令行参数

当然,也可以直接将参数写死在脚本里面,比如,想启动英文界面,则

1、对于 was 8.0/8.5 打开 was_home\bin 目录下的 ikeyman_old.bat 文件,在第 18 行

start "ikeyman" "%java_home%\jre\bin\javaw" -djava.endorsed.dirs="%was_endorsed_dirs%" -classpath %cp% com.ibm.gsk.ikeyman.ikeyman

加上 -duser.language=en

start "ikeyman" "%java_home%\jre\bin\javaw" -djava.endorsed.dirs="%was_endorsed_dirs%" -duser.language=en -classpath %cp% com.ibm.gsk.ikeyman.ikeyman

2、对于 was 6.1/7.0 打开 was_home\bin 目录下的 ikeyman_old.bat 文件,在第 18 行

start "ikeyman" "%java_home%\jre\bin\javaw" -classpath %cp% com.ibm.gsk.ikeyman.ikeyman

start "ikeyman" "%java_home%\jre\bin\javaw" -duser.language=en -classpath %cp% com.ibm.gsk.ikeyman.ikeyman

3、对于 was 5.1/6.0 打开 was_home\bin 目录下的 ikeyman_old.bat 文件,在第 11 行

start "ikeyman" "%java_home%\bin\javaw" -classpath %cp% com.ibm.gsk.ikeyman.ikeyman

start "ikeyman" "%java_home%\bin\javaw" -duser.language=en -duser.language=en -classpath %cp% com.ibm.gsk.ikeyman.ikeyman

4、对于 was 4.0 打开 was_home\bin 目录下的 ikeyman.bat 文件,在第 12 行

start %java_home%\bin\javaw -classpath %cp% com.ibm.gsk.ikeyman.ikeyman

start %java_home%\bin\javaw -classpath %cp% -duser.language=en com.ibm.gsk.ikeyman.ikeyman

修改保存后,再启动之就可以显示英文界面了。