{{ v.name }}
{{ v.cls }}類(lèi)
{{ v.price }} ¥{{ v.price }}
公鑰(Public Key)與私鑰(Private Key)是通過(guò)一種算法得到的一個(gè)密鑰對(duì)(即一個(gè)公鑰和一個(gè)私鑰),公鑰是密鑰對(duì)中公開(kāi)的部分,私鑰則是非公開(kāi)的部分。公鑰通常用于加密會(huì)話密鑰、驗(yàn)證數(shù)字簽名,或加密可以用相應(yīng)的私鑰解密的數(shù)據(jù)。通過(guò)這種算法得到的密鑰對(duì)能保證在世界范圍內(nèi)是唯一的。使用這個(gè)密鑰對(duì)的時(shí)候,如果用其中一個(gè)密鑰加密一段數(shù)據(jù),必須用另一個(gè)密鑰解密。比如用公鑰加密數(shù)據(jù)就必須用私鑰解密,如果用私鑰加密也必須用公鑰解密,否則解密將不會(huì)成功。
數(shù)字證書(shū)是一個(gè)經(jīng)證書(shū)授權(quán)中心(CA)數(shù)字簽名的包含公開(kāi)密鑰擁有者信息以及公開(kāi)密鑰的文件。最簡(jiǎn)單的證書(shū)包含一個(gè)公開(kāi)密鑰、名稱以及證書(shū)授權(quán)中心的數(shù)字簽名。數(shù)字證書(shū)還有一個(gè)重要的特征就是只在特定的時(shí)間段內(nèi)有效。
阿里云證書(shū)服務(wù)對(duì)您密鑰的加密算法和長(zhǎng)度有如下要求:加密算法使用RSA,加密長(zhǎng)度至少2048,推薦您使用2048位,SHA256摘要算法。
您可以通過(guò)如下方式創(chuàng)建私鑰:
一. 使用OpenssL生成私鑰。
OpenssL是一個(gè)強(qiáng)大且應(yīng)用廣泛的安全基礎(chǔ)庫(kù)工具,您可以在 http://www.openssl.org/source/ 來(lái)獲取最新的openssl安裝包(版本要>=1.0.1g)。
在命令行模式下運(yùn)行:
openssl genrsa -out myprivate.pem 2048
來(lái)生成您的私鑰文件: myprivate.pem, 其中"2048"是加密長(zhǎng)度
二. 使用Keytool導(dǎo)出私鑰。
Keytool是JDK中自帶的密鑰管理工具,可以制作Keystore(jks)格式的證書(shū)文件,您可以在 http://www.oracle.com/technetwork/java/javase/downloads/index.html 中下載JDK來(lái)獲取keytool工具。
因?yàn)閗eystore制作公鑰和私鑰默認(rèn)是不可以導(dǎo)出的,所以需要您從已經(jīng)創(chuàng)建好的 .keystore 文件中導(dǎo)出私鑰。
從 .keystore 中導(dǎo)出私鑰需要參考 主流數(shù)字證書(shū)都有哪些格式?中的轉(zhuǎn)換方法1和4。
在導(dǎo)出的文件中
-----BEGIN RSA PRIVATE KEY-----
......
-----END RSA PRIVATE KEY-----
或者類(lèi)似于
-----BEGIN PRIVATE KEY-----
......
-----END PRIVATE KEY-----
的即是私鑰。
無(wú)論哪種方式生成密鑰,都請(qǐng)您完善的保護(hù)好您的私鑰文件,私鑰文件如果丟失或者損壞,您申請(qǐng)對(duì)應(yīng)的公鑰/數(shù)字證書(shū)將無(wú)法使用。