什么是keystore?是java的密鑰庫、用來進行通信加密用的、比如數(shù)字簽名。keystore就是用來保存密鑰對的,比如公鑰和私鑰。key生成:首先生成證書需要csr文件,csr文件就是證書生成文件,里面包含的域名所有人或公司的信息,用csr去向CA申請簽發(fā)域名證書。生成csr的同時,會自動生成一個key文件,CA批準簽發(fā)證書后,服務(wù)器或面板需要證書文件和key文件一起使用。下面就由
創(chuàng)新互聯(lián)建站小編和大家講一講如何生成ssl證書key。
一、將CSR提交到證書服務(wù)商
CSR(Certificate Signing Request)文件必須由用戶自己生成,也可以利用在線CSR生成工具。選擇要申請的產(chǎn)品,提交一個新的訂單,并將制作好的CSR文件提交。
二、資料提交到CA
當收到您的訂單和CSR后,如果是域名驗證型證書(DV SSL證書),在域名驗證之后10分鐘左右就可頒發(fā)證書,若是其他類型證書則是需要通過CA機構(gòu)進行驗證之后才可頒發(fā)。
三、發(fā)送驗證郵件到管理員郵箱
權(quán)威CA機構(gòu)獲得資料后,將發(fā)送一封確認信到管理員郵箱,信中將包含一個 對應的鏈接過去。每一個訂單,都有一個唯一的PIN以做驗證用。
四、郵件驗證
點擊確認信中的鏈接,可以訪問到CA機構(gòu)驗證網(wǎng)站,在驗證網(wǎng)站,可以看到該訂單的申請資料,然后點擊”I Approve”完成郵件驗證。
五、頒發(fā)證書
在用戶完成郵件驗證之后,CA機構(gòu)會將證書通過郵件方式發(fā)送到申請人自己的郵箱,當用戶收到證書后直接安裝就可以了。若安裝存在問題,安信證書是提供免費證書安裝服務(wù)的。
六、JDK中keytool常用命令
-genkey 在用戶主目錄中創(chuàng)建一個默認文件”.keystore”,還會產(chǎn)生一個mykey的別名,mykey中包含用戶的公鑰、私鑰和證書
(在沒有指定生成位置的情況下,keystore會存在用戶系統(tǒng)默認目錄,如:對于window xp系統(tǒng),會生成在系統(tǒng)的C:\Documents and Settings\UserName\文件名為“.keystore”)
-alias 產(chǎn)生別名
-keystore 指定密鑰庫的名稱(產(chǎn)生的各類信息將不在.keystore文件中)
-keyalg 指定密鑰的算法 (如 RSA DSA(如果不指定默認采用DSA))
-validity 指定創(chuàng)建的證書有效期多少天
-keysize 指定密鑰長度
-storepass 指定密鑰庫的密碼(獲取keystore信息所需的密碼)
-keypass 指定別名條目的密碼(私鑰的密碼)
-dname 指定證書擁有者信息 例如: “CN=名字與姓氏,OU=組織單位名稱,O=組織名稱,L=城市或區(qū)域名稱,ST=州或省份名稱,C=單位的兩字母國家代碼”
-list 顯示密鑰庫中的證書信息 keytool -list -v -keystore 指定keystore -storepass 密碼
-v 顯示密鑰庫中的證書詳細信息
-export 將別名指定的證書導出到文件 keytool -export -alias 需要導出的別名 -keystore 指定keystore -file 指定導出的證書位置及證書名稱 -storepass 密碼
-file 參數(shù)指定導出到文件的文件名
-delete 刪除密鑰庫中某條目 keytool -delete -alias 指定需刪除的別 -keystore 指定keystore -storepass 密碼
-printcert 查看導出的證書信息 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ù)字證書導入密鑰庫 keytool -import -alias 指定導入條目的別名 -keystore 指定keystore -file 需導入的證書
七、生成keyStore
RSA是一個既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。
DSA(Digital Signature Algorithm,數(shù)字簽名算法,用作數(shù)字簽名標準的一部分),它是另一種公開密鑰算法,它不能用作加密,只用作數(shù)字簽名。DSA使用公開密鑰,為接受者驗證數(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 中的每一項都用“別名”字符串標識。
//使用指定保護參數(shù)獲取指定別名的 keystore Entry。
//KeyStore.PrivateKeyEntry 保存 PrivateKey 和相應證書鏈的 KeyStore 項。
方法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);
怎么來驗證提取的私鑰是否正確呢?(因為公鑰私鑰必須成對出現(xiàn),我們可以通過證書提取去公鑰,然后用公鑰加密,使用剛剛獲得的私鑰解密)
十一、提取證書的方法
keytool -export -alias 別名 -keystore 文件名 -file 證書名稱
//通過證書,獲取公鑰
CertificateFactory cf = CertificateFactory.getInstance(“X.509”);
FileInputStream in = new FileInputStream(“C:\\server\\server.cer”);
//生成一個證書對象并使用從輸入流 inStream 中讀取的數(shù)據(jù)對它進行初始化。
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);
// 用公鑰進行加密,返回一個字節(jié)流
byte[] cipherText = cipher.doFinal(plainText);
cipher.init(Cipher.DECRYPT_MODE, myPrivateKey);
// 用私鑰進行解密,返回一個字節(jié)流
byte[] newPlainText = cipher.doFinal(cipherText);
System.out.println(new String(newPlainText, “UTF-8”));
SSL證書是HTTP明文協(xié)議升級HTTPS加密協(xié)議的重要渠道,是網(wǎng)絡(luò)安全傳輸?shù)募用艿酵ǖ?。關(guān)于更多SSL證書的資訊,請關(guān)注GDCA(數(shù)安時代)。GDCA致力于網(wǎng)絡(luò)信息安全,已通過WebTrust 的國際認證,是全球可信任的證書簽發(fā)機構(gòu)。GDCA專業(yè)技術(shù)團隊將根據(jù)用戶具體情況為其提供最優(yōu)的產(chǎn)品選擇建議,并針對不同的應用或服務(wù)器要求提供專業(yè)對應的HTTPS解決方案。小伙伴們要想獲得更多ssl證書key的內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)!
當前標題:如何生成ssl證書key
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/article16/sdccgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、用戶體驗、網(wǎng)站改版、全網(wǎng)營銷推廣、商城網(wǎng)站、虛擬主機
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)