gpt4 book ai didi

java - 在 KeyStore.load() 中使用日语密码会导致 java.io.IOException : Keystore was tampered with, 或密码不正确

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:40 25 4
gpt4 key购买 nike

我使用以下方法创建了一个 keystore :

keytool -genkey -keystore myKeyStore -alias myself

我给的密码是日文的,即“myPasswordは”我正在使用以下代码加载 keystore 文件

String KEYSTORE_FILE="C:/myKeyStore";//Path to the keystore file on disk.
PASSWORD="myPasswordは";//Password

KeyStore.getInstance("JKS").load(new FileInputStream(KEYSTORE_FILE),PASSWORD.toCharArray());

以上抛出以下异常:java.io.IOException: Keystore 被篡改,或者密码不正确。

如果我使用英文密码创建 keystore 并在代码中使用相同的密码,那么它就可以正常工作。

最初我使用以下命令创建了 keystore :keytool -genkey -keystore myKeyStore -alias mks这将提示我输入我的密码,然后我输入后续详细信息。在这种情况下,代码会生成上述异常。

有趣的是,如果我使用以下方法创建 keystore :keytool -genkey -keystore myKeyStore -alias mks -storepass myPasswordは那么我上面给出的代码就可以正常工作。我正在使用 Linux。

最佳答案

好吧,根据描述,我猜控制台不会按预期处理 unicode 字符。您可以尝试使用 PowerShell 或尝试通过执行 chcp 65001 命令将 cmd.exe 的代码页更改为 UTF-8(请注意,这会扭曲控制台显示行为,但它会正确接受输入)。

关于java - 在 KeyStore.load() 中使用日语密码会导致 java.io.IOException : Keystore was tampered with, 或密码不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12811950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com