我收到了厂商发来的一个 .p7b
文件,里面有一个证书。我需要从中提取出这个证书。因此我在命令行上运行了以下命令:
openssl pkcs7 -inform DER -outform PEM -in in.p7b -print_certs > cer_bundle.cer
我打开了
cer_bundle.cer
文件,看到其中有三个证书。前两个证书看起来没问题。但是最后一个证书在经过Base64.getDecoder().decode(myCert)
处理后会出现错误。java.lang.IllegalArgumentException: Last unit does not have enough valid bits\n\tat
java.util.Base64$Decoder.decode0(Base64.java:734)\n\tat
java.util.Base64$Decoder.decode(Base64.java:526)\n\tat
java.util.Base64$Decoder.decode(Base64.java:549)\n\t
...
然后我将证书内容复制到终端中并执行以下操作
CERT=MIIFDj...
base64 --decode <<< $CERT
我在控制台上看到一个输出,没有错误。
Java 的 Base64 解码器正在进行什么操作?
wt35Lcw=
。 - Saturnian