如何生成ssl證書key
??一、將CSR提交到證書服務(wù)商
??CSR(Certificate Signing Request)文件必須由用戶自己生成,也可以利用在線CSR生成工具。選擇要申請的產(chǎn)品,提交一個新的訂單,并將制作好的CSR文件提交。
??二、資料提交到CA
??當(dāng)收到您的訂單和CSR后,如果是域名驗(yàn)證型證書(DV SSL證書),在域名驗(yàn)證之后10分鐘左右就可頒發(fā)證書,若是其他類型證書則是需要通過CA機(jī)構(gòu)進(jìn)行驗(yàn)證之后才可頒發(fā)。
??三、發(fā)送驗(yàn)證郵件到管理員郵箱
??權(quán)威CA機(jī)構(gòu)獲得資料后,將發(fā)送一封確認(rèn)信到管理員郵箱,信中將包含一個 對應(yīng)的鏈接過去。每一個訂單,都有一個唯一的PIN以做驗(yàn)證用。
??四、郵件驗(yàn)證
??點(diǎn)擊確認(rèn)信中的鏈接,可以訪問到CA機(jī)構(gòu)驗(yàn)證網(wǎng)站,在驗(yàn)證網(wǎng)站,可以看到該訂單的申請資料,然后點(diǎn)擊”I Approve”完成郵件驗(yàn)證。
??五、頒發(fā)證書
??在用戶完成郵件驗(yàn)證之后,CA機(jī)構(gòu)會將證書通過郵件方式發(fā)送到申請人自己的郵箱,當(dāng)用戶收到證書后直接安裝就可以了。若安裝存在問題,安信證書是提供免費(fèi)證書安裝服務(wù)的。
??六、JDK中keytool常用命令
??-genkey 在用戶主目錄中創(chuàng)建一個默認(rèn)文件”.keystore”,還會產(chǎn)生一個mykey的別名,mykey中包含用戶的公鑰、私鑰和證書
??(在沒有指定生成位置的情況下,keystore會存在用戶系統(tǒng)默認(rèn)目錄,如:對于window xp系統(tǒng),會生成在系統(tǒng)的C:\Documents and Settings\UserName\文件名為“.keystore”)
??-alias 產(chǎn)生別名
??-keystore 指定密鑰庫的名稱(產(chǎn)生的各類信息將不在.keystore文件中)
??-keyalg 指定密鑰的算法 (如 RSA DSA(如果不指定默認(rèn)采用DSA))
??-validity 指定創(chuàng)建的證書有效期多少天
??-keysize 指定密鑰長度
??-storepass 指定密鑰庫的密碼(獲取keystore信息所需的密碼)
??-keypass 指定別名條目的密碼(私鑰的密碼)
??-dname 指定證書擁有者信息 例如: “CN=名字與姓氏,OU=組織單位名稱,O=組織名稱,L=城市或區(qū)域名稱,ST=州或省份名稱,C=單位的兩字母國家代碼”
??-list 顯示密鑰庫中的證書信息 keytool -list -v -keystore 指定keystore -storepass 密碼
??-v 顯示密鑰庫中的證書詳細(xì)信息
??-export 將別名指定的證書導(dǎo)出到文件 keytool -export -alias 需要導(dǎo)出的別名 -keystore 指定keystore -file 指定導(dǎo)出的證書位置及證書名稱 -storepass 密碼
??-file 參數(shù)指定導(dǎo)出到文件的文件名
??-delete 刪除密鑰庫中某條目 keytool -delete -alias 指定需刪除的別 -keystore 指定keystore -storepass 密碼
??-printcert 查看導(dǎo)出的證書信息 keytool -printcert -file yushan.crt
??-keypasswd 修改密鑰庫中指定條目口令 keytool -keypasswd -alias 需修改的別名 -keypass 舊密碼 -new 新密碼 -storepass keystore密碼 -keystore sage
??-storepasswd 修改keystore口令 keytool -storepasswd -keystore e:\yushan.keystore(需修改口令的keystore) -storepass 123456(原始密碼) -new yushan(新密碼)
??-import 將已簽名數(shù)字證書導(dǎo)入密鑰庫 keytool -import -alias 指定導(dǎo)入條目的別名 -keystore 指定keystore -file 需導(dǎo)入的證書
??七、生成keyStore
??RSA是一個既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。
??DSA(Digital Signature Algorithm,數(shù)字簽名算法,用作數(shù)字簽名標(biāo)準(zhǔn)的一部分),它是另一種公開密鑰算法,它不能用作加密,只用作數(shù)字簽名。DSA使用公開密鑰,為接受者驗(yàn)證數(shù)據(jù)的完整性和數(shù)據(jù)發(fā)送者的身份。
??八、提取證書:
??通過keytool命令我們可以很輕松的提取證書.
??九、證書包括主體信息,公鑰
??keytool -export -alias 別名 -keystore 文件名 -file 證書名稱
??通過Java的KeyStore類getEntry() 或者getKey()來提取私鑰.
??十、讀取keyStore文件
??char[] password = “password”.toCharArray();
??java.io.FileInputStream fis = new java.io.FileInputStream(“c:/server/server_keystore”);
??// 從指定的輸入流中加載此 KeyStore
??ks.load(fis, password);
??//keystore 中的每一項(xiàng)都用“別名”字符串標(biāo)識。
??//使用指定保護(hù)參數(shù)獲取指定別名的 keystore Entry。
??//KeyStore.PrivateKeyEntry 保存 PrivateKey 和相應(yīng)證書鏈的 KeyStore 項(xiàng)。
??方法1. KeyStore.PrivateKeyEntry pkEntry = (KeyStore.PrivateKeyEntry) ks.getEntry(“keystore別名”, new KeyStore.PasswordProtection(password));
??// 返回與給定別名相關(guān)聯(lián)的密鑰
??方法2. PrivateKey key = (PrivateKey) ks.getKey(“ser”, password);
??怎么來驗(yàn)證提取的私鑰是否正確呢?(因?yàn)楣€私鑰必須成對出現(xiàn),我們可以通過證書提取去公鑰,然后用公鑰加密,使用剛剛獲得的私鑰解密)
??十一、提取證書的方法
??keytool -export -alias 別名 -keystore 文件名 -file 證書名稱
??//通過證書,獲取公鑰
??CertificateFactory cf = CertificateFactory.getInstance(“X.509”);
??FileInputStream in = new FileInputStream(“C:\\server\\server.cer”);
??//生成一個證書對象并使用從輸入流 inStream 中讀取的數(shù)據(jù)對它進(jìn)行初始化。
??Certificate c = cf.generateCertificate(in);
??PublicKey publicKey = c.getPublicKey();
??//通過下面這段代碼提取的私鑰是否正確
??String before = “asdf”;
??byte[] plainText = before.getBytes(“UTF-8”);
??Cipher cipher = Cipher.getInstance(“RSA/ECB/PKCS1Padding”);
??cipher.init(Cipher.ENCRYPT_MODE, publicKey);
??// 用公鑰進(jìn)行加密,返回一個字節(jié)流
??byte[] cipherText = cipher.doFinal(plainText);
??cipher.init(Cipher.DECRYPT_MODE, myPrivateKey);
??// 用私鑰進(jìn)行解密,返回一個字節(jié)流
??byte[] newPlainText = cipher.doFinal(cipherText);
??System.out.println(new String(newPlainText, “UTF-8”));
??SSL證書是HTTP明文協(xié)議升級HTTPS加密協(xié)議的重要渠道,是網(wǎng)絡(luò)安全傳輸?shù)募用艿酵ǖ馈jP(guān)于更多SSL證書的資訊,請關(guān)注GDCA(數(shù)安時代)。GDCA致力于網(wǎng)絡(luò)信息安全,已通過WebTrust 的國際認(rèn)證,是全球可信任的證書簽發(fā)機(jī)構(gòu)。GDCA專業(yè)技術(shù)團(tuán)隊(duì)將根據(jù)用戶具體情況為其提供最優(yōu)的產(chǎn)品選擇建議,并針對不同的應(yīng)用或服務(wù)器要求提供專業(yè)對應(yīng)的HTTPS解決方案。小伙伴們要想獲得更多ssl證書key的內(nèi)容,請關(guān)注新網(wǎng)!
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科