获取" java.io.IOException:无效的密钥库"将.jks文件流转换为utf-8编码的字符串并返回流后的格式

时间:2014-03-19 08:39:55

标签: java encoding utf-8

我将上传的.jks文件作为输入流格式的输入。我将它转换为UTF-8编码的字符串并将其存储在String变量中,我打算将其存储在DB中 要将输入流转换为UTF-8编码的字符串,我使用:keyStoreString = IOUtils.toString(inputstream, "UTF-8")

当我再次将其转换为输入流以在密钥库中加载相同时我得到异常

    KeyStore ks = null;
    ks = KeyStore.getInstance("JKS");
    char[] passwordArray = password.toCharArray();
    ks.load(IOUtils.toInputStream(keyStoreString, Constants.UTF_ENCODING),
            passwordArray);

当我直接使用输入流然后代码正常工作时,意味着我得到的输入流是正确的 任何人都可以告诉我,如果我在这里做错了什么。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

  

我将其转换为UTF-8编码的字符串并将其存储在String变量

不要这样做!

某些字节序列无法转换为字符。相反,存储为明确设计用于表示二进制的字符串格式,例如Base64。