所输入的不是 X.509 证书

问题描述:项目调用外部https接口,因为证书是自签证书,所以需要把证书导入到信任库。
1、执行以下命令报错:

C:\Users\User\Desktop\security>keytool -import -alias lckfzzx -file keystore.p12 -keystore client-truststore.jks -storepass lc2020
keytool 错误: java.lang.Exception: 所输入的不是 X.509 证书

2、解决办法:
顺序执行以下两条命令
p12格式转pem格式:
openssl pkcs12 -clcerts -nokeys -out gly_pub.pem -in keystore.p12
pem格式转der:
openssl x509 -outform der -in gly_pub.pem -out lckfzzx.der

[root@wuhan-enshi-indata tools]# openssl pkcs12 -clcerts -nokeys -out gly_pub.pem -in keystore.p12
Enter Import Password:
MAC verified OK
[root@wuhan-enshi-indata tools]# openssl x509 -outform der -in merchant-publickKey.pem -out lckfzzx.der
[root@wuhan-enshi-indata tools]# ll

执行完成后,当前目录下生成的lckfzzx.der文件,在下一步中使用。

3、再次执行第一步命令

C:\Users\User\Desktop\security>keytool -import -alias lckfzzx -file lckfzzx.der -keystore client-truststore.jks -storepass lc2020
所有者: CN=ss, OU=ss, O=ss, L=ss, ST=ss, C=ss
发布者: CN=ss, OU=ss, O=ss, L=ss, ST=ss, C=ss
序列号: 6e78c3e1
有效期为 Fri Sep 17 21:06:12 CST 2021 至 Mon Sep 15 21:06:12 CST 2031
证书指纹:
         MD5:  9B:A3:0E:FB:6C:53:1E:8A:F0:7D:F0:D1:86:4B:E1:F6
         SHA1: 41:97:95:E7:D0:89:9E:55:BD:4B:56:A7:30:6E:7E:EE:9F:F5:3B:C8
         SHA256: A1:E9:38:24:40:AE:A2:A0:97:58:72:B7:44:9C:CB:B0:EF:50:31:11:72:C9:CD:C2:E5:B8:D8:88:81:F0:31:94
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 2B A7 24 9E 65 14 DA CF   A9 42 1F D9 12 6E 3F 7D  +.$.e....B...n?.
0010: F7 33 3B B8                                        .3;.
]
]

是否信任此证书? [否]:  y
证书已添加到密钥库中

导入成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值