使用apache common-codec库获取解码时的无效数据

问题描述 投票:0回答:2

我有一个场景,我将我的pkcs12证书内容作为编码字符串(appache common-codec库)。现在我必须解码该字符串并且必须存储它。但是在将其解码为字符串时,我收到的证书内容无效。

当我尝试在文件中写入字节时,它工作正常。请找到我在下面尝试过的片段。

对于编码:

Base64.encodeBase64String(certcontentInBytes[])

对于解码:

new String(Base64.decodeBase64(certstringContent));
java ssl encode pkcs#12
2个回答
0
投票

new String(bytes)实际上使用new String(bytes, defaultCharset)将字节的字符集转换为Unicode字符串。非便携式和可能的错误字符集。

对于字节作为二进制数据不起作用。字符串不应用于二进制数据。我打赌字节写入文件。


0
投票

也许你必须使用new String(byte[], Charset charset)和正确的字符集(可能是UTF-8),否则它将使用平台字符集,它在Windows和Linux / Unix之间有所不同。我想知道为什么你不能简单地使用字节数组作为参数?

© www.soinside.com 2019 - 2024. All rights reserved.