1. 程式人生 > >如何把安全證書匯入/刪除 java中的cacerts證書庫

如何把安全證書匯入/刪除 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