我遇到了这个问题,并发现问题truststore.p12
实际上是在JKS
或已损坏。
keytool
测试信任库是否符合 PKCS12的命令是:
keytool.exe -keystore truststore.p12 -storepass passwordText -list -storetype pkcs12
keytool error: java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.
我可以通过强制 JKS 到 PKCS12 转换来纠正这个问题。
使用以下说明:
keytool.exe -importkeystore -srckeystore truststore.jks -destkeystore truststore1.p12 -srcstoretype JKS -deststoretype PKCS12
比成功的测试会提供类似的东西:
keytool.exe -keystore truststore.p12 -storepass passwordText -list -storetype pkcs12
Keystore type: PKCS12
Keystore provider: SunJSSE
Your keystore contains 3 entries
certificates-4, 9 Jul, 2019, trustedCertEntry,
Certificate fingerprint (SHA1): CF:E3:01:1F:A3:30:C5:B1:B9:2B:C5:28:1B:8C:66:71:EA:B8:67:0D
certificates-3, 9 Jul, 2019, trustedCertEntry,
Certificate fingerprint (SHA1): 62:52:DC:40:F7:11:43:A2:2F:DE:9E:F7:34:8E:06:42:51:B1:81:18
certificates-2, 9 Jul, 2019, trustedCertEntry,
Certificate fingerprint (SHA1): FA:5F:98:E8:02:2E:81:05:DB:DF:24:48:65:6A:E5:76:C1:31:CB:28