如何生成ssl證書key

什么是keystore?是java的密鑰庫、用來進行通信加密用的、比如數(shù)字簽名。keystore就是用來保存密鑰對的,比如公鑰和私鑰。key生成:首先生成證書需要csr文件,csr文件就是證書生成文件,里面包含的域名所有人或公司的信息,用csr去向CA申請簽發(fā)域名證書。生成csr的同時,會自動生成一個key文件,CA批準(zhǔn)簽發(fā)證書后,服務(wù)器或面板需要證書文件和key文件一起使用。下面就由創(chuàng)新互聯(lián)建站小編和大家講一講如何生成ssl證書key。

一、將CSR提交到證書服務(wù)商

CSR(Certificate Signing Request)文件必須由用戶自己生成,也可以利用在線CSR生成工具。選擇要申請的產(chǎn)品,提交一個新的訂單,并將制作好的CSR文件提交。

二、資料提交到CA

當(dāng)收到您的訂單和CSR后,如果是域名驗證型證書(DV SSL證書),在域名驗證之后10分鐘左右就可頒發(fā)證書,若是其他類型證書則是需要通過CA機構(gòu)進行驗證之后才可頒發(fā)。

三、發(fā)送驗證郵件到管理員郵箱

權(quán)威CA機構(gòu)獲得資料后,將發(fā)送一封確認信到管理員郵箱,信中將包含一個 對應(yīng)的鏈接過去。每一個訂單,都有一個唯一的PIN以做驗證用。

四、郵件驗證

點擊確認信中的鏈接,可以訪問到CA機構(gòu)驗證網(wǎng)站,在驗證網(wǎng)站,可以看到該訂單的申請資料,然后點擊”I Approve”完成郵件驗證。

五、頒發(fā)證書

在用戶完成郵件驗證之后,CA機構(gòu)會將證書通過郵件方式發(fā)送到申請人自己的郵箱,當(dāng)用戶收到證書后直接安裝就可以了。若安裝存在問題,安信證書是提供免費證書安裝服務(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 將別名指定的證書導(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使用公開密鑰,為接受者驗證數(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 中的每一項都用“別名”字符串標(biāo)識。

//使用指定保護參數(shù)獲取指定別名的 keystore Entry。

//KeyStore.PrivateKeyEntry 保存 PrivateKey 和相應(yīng)證書鏈的 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)品選擇建議,并針對不同的應(yīng)用或服務(wù)器要求提供專業(yè)對應(yīng)的HTTPS解決方案。小伙伴們要想獲得更多ssl證書key的內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)!

當(dāng)前標(biāo)題:如何生成ssl證書key
網(wǎng)頁網(wǎng)址:http://muchs.cn/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)

商城網(wǎng)站建設(shè)