公鑰和私鑰:
a有兩把鑰匙,乙個是公鑰,乙個是私鑰
公鑰是可以給別人的,所有a給了x,y,z三個人公鑰(三個人的公鑰是相同的)
場景一:
x給a寫一封私密的信,所以用a的公鑰加密,那麼a收到信後,可以使用他自己手上的私鑰解密,那麼就可以看到信件的內容,沒有私鑰的人是看不到信件的內容的。
a要給x回信,那麼就需要用到數字簽名:
x收到後:
場景二:
y可以偷偷將x手裡的a的公鑰換成自己的公鑰,然後y可以使用自己的私鑰做出數字簽名發給x,但是x還以為手上的信件是a的,所以以為收到的信件都是a的。
問題來了:無法確定手上的公鑰真的屬於正確的人?
所以就去找證書中心ca,證書中心用他自己的私鑰,將a的公鑰和公鑰擁有者個人資訊等加密成數字證書。所以現在x手上只會有ca的公鑰,不會有x的公鑰。
a寫信的話,需要信件+數字簽名+數字證書(ca頒發的證書)x收信後,用ca公鑰解密數字證書,獲取a的公鑰,對比裡面的個人資訊(確定獲取的是誰的公鑰)
然後像上面一樣用a的公鑰解密數字簽名。。。。
根據網域名稱製作證書:方法
nginx配置https
下面是nginx官方文件的配置:
server
需要指定乙個數字證書和乙個私鑰檔案
pfx: 帶有私鑰和公鑰的證書(正常的數字證書是帶有公鑰的),需要匯出私鑰是需要私鑰密碼開啟。對*nix伺服器來說,一般crt和key是分開存放在不同檔案中的,但windows的iis則將它們存在乙個pfx檔案中,(因此這個檔案包含了證書及私鑰)
pfx可以轉成pem key crt
openssl pkcs12 -in drtaxtest.pfx -nodes -out drtaxtest.pem
openssl rsa -in drtaxtest.pem -out drtaxtest.key
openssl x509 -in drtaxtest.pem -out drtaxtest.crt
編碼格式:有兩種,一種是pem(apache,nginx偏向於這種),一種是der。但是證書的拓展名並不一定就是pem或者der,還可以是後面這些crt: 兩種編碼格式都有可能(liunx使用)
key:用於存放乙個公鑰或者私鑰,
cer:普通的帶有公鑰沒有私鑰的證書(主要windows使用)
scr: 這個並不是證書,而是向權威證書頒發機構獲得簽名證書的申請,其核心內容是乙個公鑰(當然還附帶了一些別的資訊),在生成這個申請的時候,同時也會生成乙個私鑰。
github 公鑰 私鑰 理解公鑰與私鑰
一 公鑰演算法與私鑰演算法 1 私鑰演算法 私鑰加密演算法,又稱 對稱加密演算法,因為這種演算法解密金鑰和加密金鑰是相同的。也正因為同一金鑰既用於加密又用於解密,所以這個金鑰是不能公開的。常見的有 des加密演算法 aes加密演算法 2 公鑰演算法 公鑰加密演算法,也就是 非對稱加密演算法,這種演算...
公鑰與私鑰
公鑰和私鑰就是俗稱的不對稱加密方式,是從以前的對稱加密 使用使用者名稱與密碼 方式的提高。我用電子郵件的方式說明一下原理。使用公鑰與私鑰的目的就是實現安全的電子郵件,必須實現如下目的 1.我傳送給你的內容必須加密,在郵件的傳輸過程中不能被別人看到。2.必須保證是我傳送的郵件,不是別人冒充我的。要達到...
公鑰與私鑰
數字簽名是什麼?翻譯 阮一峰 原文 1.鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。2.鮑勃把公鑰送給他的朋友們 帕蒂 道格 蘇珊 每人一把。3.蘇珊要給鮑勃寫一封保密的信。她寫完後用鮑勃的公鑰加密,就可以達到保密的效果。4.鮑勃收信後,用私鑰解密,就看到了信件內容。這裡要強調的是,只要鮑勃的私鑰不洩...