Nic*_*las 6 ssl openssl keytool
我需要创建一个 jave 密钥库,因此我下载了最新版本的 openssl 但不断收到:
keytool error: java.io.IOException: keystore password was incorrect
如果我尝试导入 .p12,Windows 也会告诉我密码错误。经过几个小时的努力,我终于下载了 v1.1.1,POW 一切正常了!
问题解决了!但为什么 - 为什么 OpenSSL v3.0.0 不像 v1.1.1 那样工作?
C:\openssl3> openssl pkcs12 -export -name tomcat -in cert.cer -inkey key -out ks300.p12
C:\openssl3> openssl pkcs12 -info -in ks300.p12
Enter Import Password:
<works fine>
...
</works fine>
C:\openssl3> keytool -list -v -keystore ks300.p12
Enter keystore password:
keytool error: java.io.IOException: keystore password was incorrect
java.io.IOException: keystore password was incorrect
...
Caused by: java.security.UnrecoverableKeyException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
... 6 more
Run Code Online (Sandbox Code Playgroud)
然后:
C:\openssl1.1.1> openssl pkcs12 -export -name tomcat -in cert.cer -inkey key -out ks111.p12
C:\openssl1.1.1> openssl pkcs12 -info -in ks111.p12
<works fine />
C:\openssl1.1.1> keytool -list -v -keystore ks111.p12
Enter keystore password:
<works fine />
C:\openssl1.1.1> C:\openssl3\openssl pkcs12 -info -in ks111.p12
Enter Import Password:
MAC: sha1, Iteration 2048
MAC length: 20, salt length: 8
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Error outputting keys and certificates
5C200000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:crypto\evp\evp_fetch.c:346:Global default library context, Algorithm (RC2-40-CBC : 0), Properties ()
C:\openssl1.1.1>openssl pkcs12 -info -in ks300.p12
<works fine>
Run Code Online (Sandbox Code Playgroud)
现在,最后一个让我感到惊讶,因为我正在收集这篇文章的输出,但是是的,openssl1.1.1 可以很好地读取 openssl3 .p12 文件,但不能以其他方式读取(openssl3 无法读取 openssl1.1.1 .p12)。keytool 和 windows 一直抱怨 openssl3 .p12 的密码——但可以读取 v1.1.1 的密码。
是否有一些我错过的向下兼容性选项。
我似乎是互联网上唯一遇到此问题的人,这通常意味着我做错了什么。
其他一些数据点:
C:\> Java --version
openjdk 11.0.2 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
C:\openssl3>openssl version
OpenSSL 3.0.0 7 sep 2021 (Library: OpenSSL 3.0.0 7 sep 2021)
C:\openssl1.1.1>openssl version
OpenSSL 1.1.1l 24 Aug 2021
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8136 次 |
| 最近记录: |