什么是公鑰和私鑰?

閱讀:216 2021-04-17 08:37:04

公鑰(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ú)法使用。

相關(guān)文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感興趣
推薦閱讀 更多>
推薦商標(biāo)

{{ v.name }}

{{ v.cls }}類(lèi)

立即購(gòu)買(mǎi) 聯(lián)系客服
免费无遮挡无码视频在线观看,久久天天躁日日躁狠,日韩a级无码免费,日本韩国偷拍视频对白不卡高清精品 www.sucaiwu.net