如何把安全证书导入/删除 java中的cacerts证书库

在项目开发中,有时会遇到与SSL安全证书导入打交道的,如何把证书导入java中的cacerts证书库呢?
其实很简单,方法如下:
每一步:进入某个https://www.xxx.com开头的网站,把要导入的证书下载过来, 
    在该网页上右键 >> 属性 >> 点击"证书" >> 
    再点击上面的"详细信息"切换栏 >> 
    再点击右下角那个"复制到文件"的按钮 
    就会弹出一个证书导出的向导对话框,按提示一步一步完成就行了。 
    例如:保存为abc.cer,放在C盘下 
第二步:如何把上面那步的(abc.cer)这个证书导入java中的cacerts证书库里? 
    方法如下 
    假设你的jdk安装在C:\jdk1.5这个目录, 
    开始 >> 运行 >> 输入cmd 进入dos命令行 >> 
    再用cd进入到C:\jdk1.5\jre\lib\security这个目录下 
    敲入如下命令回车执行 
    keytool -import -alias cacerts -keystore cacerts -file d:\software\AKAZAM-Mail.cer -trustcacerts 
    此时命令行会提示你输入cacerts证书库的密码, 
    你敲入changeit就行了,这是java中cacerts证书库的默认密码, 
    你自已也可以修改的。 
    ok,大功告成! 
所有者: CN=www.hqftest.com
发布者: CN=CA 沃通免费SSL证书 G2, O=WoSign CA Limited, C=CN
序列号: 6850e21cfb92b1733122f5b90aa81e30
有效期开始日期: Sun Jun 12 18:33:05 CST 2016, 截止日期: Tue Jun 12 18:33:05 CST
2018
证书指纹:
         MD5: 49:AF:BE:EB:FA:AA:B0:9D:DF:63:8F:D6:CF:85:72:58
         SHA1: 15:51:AC:A4:59:EE:F1:09:8E:84:A7:95:82:73:30:5F:37:29:9B:52
         SHA256: 8C:F3:F9:7C:CF:5F:30:6B:6D:50:CE:83:3F:1D:67:CA:80:E7:58:2E:7F:
76:64:27:66:8F:57:49:52:FF:68:87
         签名算法名称: SHA256withRSA
         版本: 3

扩展:

#1: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false
AuthorityInfoAccess [
  [
   accessMethod: ocsp
   accessLocation: URIName: http://ocsp2.wosign.cn/ca2g2/server1/free
,
   accessMethod: caIssuers
   accessLocation: URIName: http://aia2.wosign.cn/ca2g2.server1.free.cer
]
]

#2: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: 30 DA 74 86 F3 28 90 56   9E D7 31 31 C2 BD 59 CD  0.t..(.V..11..Y.
0010: 93 12 39 1D                                        ..9.
]
]

#3: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[
  CA:false
  PathLen: undefined
]

#4: ObjectId: 2.5.29.31 Criticality=false
CRLDistributionPoints [
  [DistributionPoint:
     [URIName: http://crls2.wosign.cn/ca2g2-server1-free.crl]
]]

#5: ObjectId: 2.5.29.32 Criticality=false
CertificatePolicies [
  [CertificatePolicyId: [2.23.140.1.2.1]
[]  ]
  [CertificatePolicyId: [1.3.6.1.4.1.36305.1.1.2]
[PolicyQualifierInfo: [
  qualifierID: 1.3.6.1.5.5.7.2.1
  qualifier: 0000: 16 1D 68 74 74 70 3A 2F   2F 77 77 77 2E 77 6F 73  ..http://w
ww.wos
0010: 69 67 6E 2E 63 6F 6D 2F   70 6F 6C 69 63 79 2F     ign.com/policy/

]]  ]
]

#6: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
  clientAuth
  serverAuth
]

#7: ObjectId: 2.5.29.15 Criticality=true
KeyUsage [
  DigitalSignature
  Key_Encipherment
]

#8: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
  DNSName: www.hqftest.com
  DNSName: hqftest.com
]

#9: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: EA 06 FF 40 DF 4D D0 3D   8F 9F 31 E6 8E 7B 37 59  [email protected].=..1...7Y
0010: 7A 12 10 1D                                        z...
]
]

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


 以后更新时,先删除原来的证书,然后导入新的证书 

keytool -list -keystore cacerts 
keytool -delete -alias akazam_email -keystore cacerts 
keytool -import -alias akazam_email -file akazam_email.cer -keystore cacerts -trustcacerts


你可能感兴趣的:(如何把安全证书导入/删除 java中的cacerts证书库)