WSO2 Identity Server ciphertool.bat脚本抛出InvalidPathException

时间:2018-12-19 21:56:11

标签: wso2 wso2is

我正在尝试运行ciphertool.bat脚本来加密WSO2服务器中的字符串。我正在使用-Dconfigure标志运行脚本并收到一个InvalidPathException

我尚未编辑ciphertool.bat脚本,cipher-text.propertiesciper-tool.properties文件。

我正在Windows计算机上运行WSO2 Identity Server的5.7.0版本。

我正在运行的命令和控制台输出

C:\Program Files\WSO2\Identity Server\5.7.0\bin>ciphertool.bat -Dconfigure

BUILD SUCCESSFUL
Total time: 7 seconds
Using CARBON_HOME:   C:\Program Files\WSO2\Identity Server\5.7.0
Using JAVA_HOME:    C:\Program Files\Java\jdk1.8.0_181
Exception in thread "main" java.nio.file.InvalidPathException: Illegal char 
<:> at index 45: C:\Program Files\WSO2\Identity Server\5.7.0\C:\Program 
Files\WSO2\Identity Server\5.7.0\/repository/resources/security/wso2carbon.jks
    at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
    at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
    at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
    at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
    at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
    at java.nio.file.Paths.get(Paths.java:84)
    at org.wso2.ciphertool.utils.Utils.getConfigFilePath(Utils.java:98)
    at org.wso2.ciphertool.utils.Utils.setSystemProperties(Utils.java:289)
    at org.wso2.ciphertool.CipherTool.initialize(CipherTool.java:93)
    at org.wso2.ciphertool.CipherTool.main(CipherTool.java:52)

我希望脚本可以正确运行,特别是如果我没有编辑任何内容时,但是会引发此异常。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

已识别出此issue,并且已发送PR here。不幸的是,它尚未合并。

作为快速解决方案,您可以按照以下步骤操作。

  1. 克隆repo
  2. 签出到分支“ v1.0.0-wso2v8”
  3. PR
  4. 中进行建议的修复
  5. 构建JAR
  6. 用新的JAR覆盖<IS_HOME>/lib/org.wso2.ciphertool-1.0.0-wso2v8.jar
  7. 尝试ciphertool命令

答案 1 :(得分:1)

您可以在<PRODUCT_HOME>/repository/conf/carbon.xml文件中按如下所示提供密钥库文件的位置

   <Location>${carbon.home}\repository\resources\security\wso2carbon.jks</Location>

(请注意反斜杠)

    <KeyStore>
        <!-- Keystore file location-->
        <Location>${carbon.home}\repository\resources\security\wso2carbon.jks</Location>
        <!-- Keystore type (JKS/PKCS12 etc.)-->
        <Type>JKS</Type>
        <!-- Keystore password-->
        <Password svns:secretAlias="Carbon.Security.KeyStore.Password">password</Password>
        <!-- Private Key alias-->
        <KeyAlias>wso2carbon</KeyAlias>
        <!-- Private Key password-->
        <KeyPassword svns:secretAlias="Carbon.Security.KeyStore.KeyPassword">password</KeyPassword>
    </KeyStore>