A. 什麼是公鑰證書
所謂的公鑰認證,實際上是使用一對加密字元串,一個稱為公鑰(public key),任何人都可以看到其內容,用於加密;另一個稱為密鑰(private key),只有擁有者才能看到,用於解密。通過公鑰加密過的密文使用密鑰可以輕松解密,但根據公鑰來猜測密鑰卻十分困難。
ssh 的公鑰認證就是使用了這一特性。伺服器和客戶端都各自擁有自己的公鑰和密鑰。為了說明方便,以下將使用這些符號。
Ac 客戶端公鑰
Bc 客戶端密鑰
As 伺服器公鑰
Bs 伺服器密鑰
在認證之前,客戶端需要通過某種方法將公鑰 Ac 登錄到伺服器上。
認證過程分為兩個步驟。
會話密鑰(session key)生成
客戶端請求連接伺服器,伺服器將 As 發送給客戶端。
伺服器生成會話ID(session id),設為 p,發送給客戶端。
客戶端生成會話密鑰(session key),設為 q,並計算 r = p xor q。
客戶端將 r 用 As 進行加密,結果發送給伺服器。
伺服器用 Bs 進行解密,獲得 r。
伺服器進行 r xor p 的運算,獲得 q。
至此伺服器和客戶端都知道了會話密鑰q,以後的傳輸都將被 q 加密。
認證
伺服器生成隨機數 x,並用 Ac 加密後生成結果 S(x),發送給客戶端
客戶端使用 Bc 解密 S(x) 得到 x
客戶端計算 q + x 的 md5 值 n(q+x),q為上一步得到的會話密鑰
伺服器計算 q + x 的 md5 值 m(q+x)
客戶端將 n(q+x) 發送給伺服器
伺服器比較 m(q+x) 和 n(q+x),兩者相同則認證成功
B. 私鑰、公鑰、證書的區別和關系
私鑰是要求你輸入個人密碼才可訪問的,一般網上銀行之類可用到。
公鑰不要求設專置密碼,是已屬經默認了的,一般上一些安全性要求不高的網站或共享資源,如區域網。
證書是一種網站加密瀏覽方式,只有允許了才可訪問,一般為安全性較高的網站,如網上銀行;可以訪止黑客盜取客戶資料。
C. 數字證書和公鑰技術的關系以及作用
CA是頒發數字證書的機構,解釋CA的作用就能解釋為什麼有了公私鑰還需要數字證書。配對公私鑰誰都能產生,這樣就可能導致身份欺詐,比如一些不法分子冒充合法客戶對商家進行欺詐,造成商家和客戶的損失,或者情形反過來。CA是可信任的第三方,它結合客戶公鑰發行數字證書的作用是保證「你」是「你」,「我」是「我」,從而避免信任欺詐。
D. 誰能講講根證書 公鑰 CA的概念
電子商務認證授權機構(CA, Certificate Authority),也稱為電子商務認證中心,是負責發放和回管理數字證書的權威機答構,並作為電子商務交易中受信任的第三方,承擔公鑰體系中公鑰的合法性檢驗的責任。
CA是證書的簽發機構,它是PKI的核心。CA是負責簽發證書、認證證書、管理已頒發證書的機關。它要制定政策和具體步驟來驗證、識別用戶身份,並對用戶證書進行簽名,以確保證書持有者的身份和公鑰的擁有權。。
CA 也擁有一個證書(內含公鑰)和私鑰。網上的公眾用戶通過驗證 CA 的簽字從而信任 CA ,任何人都可以得到 CA 的證書(含公鑰),用以驗證它所簽發的證書。
CA認證
如果用戶想得到一份屬於自己的證書,他應先向 CA 提出申請。在 CA 判明申請者的身份後,便為他分配一個公鑰,並且 CA 將該公鑰與申請者的身份信息綁在一起,並為之簽字後,便形成證書發給申請者。
如果一個用戶想鑒別另一個證書的真偽,他就用 CA 的公鑰對那個證書上的簽字進行驗證,一旦驗證通過,該證書就被認為是有效的。
E. 數字證書,公鑰和私鑰這三者之間的關系是什麼
公私鑰又稱非對稱密鑰,成對出現,只有相互可逆,一對公私鑰可集成為一張數字證書
F. ssl證書的公鑰私鑰需要設置嗎
需要設置的,具體設置方法可以咨詢SSL證書提供商。
SSL證書的公鑰內密碼體制分為三個容部分,即公鑰、私鑰和加密解密演算法,顧名思義,加密是通過加密演算法和公鑰對明文傳輸數據進行加密,得到密文,加密過程是需要用到公鑰的。
解密是反過來,通過解密演算法和私鑰對密文進行解密,得到明文。解密過程需要用到解密演算法和私鑰。所以上文提到由公鑰加密的內容,只能由對應的私鑰進行解密,如果是公鑰加密的內容,不知道私鑰那是無法解密的,公鑰和私鑰保證了數據傳輸的安全性。
公鑰和演算法都是公開的,私鑰是保密的,是需要自己手動設置的。大家都用公鑰進行加密,但是只有私鑰的持有者才能解密。在實際的使用中,有需要的人會生成一對公鑰和私鑰,把公鑰發布出去給別人使用,自己保留私鑰。
數字證書是一個經證書授權中心數字簽名的包含公開密鑰擁有者信息以及公開密鑰的文件。最簡單的證書包含一個公開密鑰、名稱以及證書授權中心的數字簽名。所以ssl證書中肯定包含唯一匹配的公鑰和私鑰。網站擁有者向CA機構申請ssl證書時,證書請求文件中只包含公鑰,不包含私鑰。證書私鑰由網站保存,證書請求文件提交給CA機構進行認證和簽名後對外公開。
G. 私鑰、公鑰、證書的區別和關系
1.首先我們需要區分加密和認證這兩個基本概念。
加密是將數據資料加密,使得非法用戶即使取專得加密過屬的資料,也無法獲取正確的資料內容,所以數據加密可以保護數據,防止監聽攻擊。其重點在於數據的安全性。身份認證是用來判斷某個身份的真實性,確認身份後,系統才可以依不同的身份給予不同的許可權。其重點在於用戶的真實性。兩者的側重點是不同的。
2.其次我們還要了解公鑰和私鑰的概念和作用。
在現代密碼體制中加密和解密是採用不同的密鑰(公開密鑰),也就是非對稱密鑰密碼系統,每個通信方均需要兩個密鑰,即公鑰和私鑰,這兩把密鑰可以互為加解密。公鑰是公開的,不需要保密,而私鑰是由個人自己持有,並且必須妥善保管和注意保密。
公鑰私鑰的原則:
一個公鑰對應一個私鑰。
密鑰對中,讓大家都知道的是公鑰,不告訴大家,只有自己知道的,是私鑰。
如果用其中一個密鑰加密數據,則只有對應的那個密鑰才可以解密。
如果用其中一個密鑰可以進行解密數據,則該數據必然是對應的那個密鑰進行的加密。
H. 如何:導出和導入公鑰證書
此過程說明如何輕松設置加密示例。方法是從「我的證書」存儲中導出公鑰證書,而不導出私鑰,然後將該公鑰證書導入「通訊簿」證書存儲。要設置以下示例,請先按照該示例主題中的設置說明操作。這些說明建議使用此主題中的步驟將一個或多個生成的公鑰證書放入「通訊簿」證書存儲。 如何:為一個收件人封裝郵件 如何:為多個收件人封裝郵件 如何:簽名和封裝郵件要在一台計算機上運行上面的示例,需要滿足下列條件:「通訊簿」證書存儲和「我的證書」存儲中均包含郵件收件人的密鑰證書該計算機上有郵件收件人的私鑰且與「我的證書」存儲中的公鑰證書關聯示例先充當加密郵件的發件人,然後充當同一個加密郵件的收件人。通常,這兩個角色是由不同計算機上具有唯一公鑰憑據的不同實體充當。在充當加密郵件的發件人時,示例要求「通訊簿」證書存儲中包含收件人的證書。在充當加密郵件的收件人時,示例要求「我的證書」存儲中包含收件人的證書,並且該計算機上包含相應的私鑰。使用Makecert.exe 實用程序設置此示例,可以通過多種方法實現此目的。 Certificate Creation Tool (Makecert.exe) 是用於生成測試證書的一種很方便的實用程序。在生產環境中,證書由證書頒發機構生成。以下Makecert 命令生成所需的公鑰證書以及證書使用者名稱為「Recipient1」的實體的私鑰。證書將放入「我的證書」存儲。Makecert -n "CN=Recipient1" -ss My 以下過程說明如何設置證書存儲來滿足這些要求。首先,生成收件人的證書和私鑰,並將證書存儲在「我的證書」存儲中。然後將證書從「我的證書」存儲中導出,再導入「通訊簿」存儲。從「我的證書」存儲中導出公鑰證書打開Internet Explorer。在「工具」菜單上,單擊「Internet 選項」,然後單擊「內容」選項卡。單擊「證書」按鈕。在「個人」選項卡中,選擇「頒發給」下列出「Recipient1」的證書。(「個人」選項卡列出「我的證書」存儲中的證書。)單擊「導出」。(此時會打開導出向導。)單擊「下一步」。 單擊「否,不要導出私鑰」,然後單擊「下一步」。單擊「下一步」接受默認導出格式。鍵入要導出的證書的文件名或瀏覽至該文件名,單擊「下一步」,然後單擊「完成」。將證書導入「通訊簿」證書存儲在「證書」對話框中,單擊「其他人」選項卡。(「其他人」選項卡列出「通訊簿」證書存儲中的證書。)單擊「導入」,然後單擊「下一步」。鍵入要存儲導出證書的文件名的位置或瀏覽至該位置,然後單擊「下一步」。單擊「下一步」接受將導入的證書放入「其他人」證書存儲。單擊「完成」,然後單擊「確定」。
I. 伺服器ssl證書公鑰什麼時候改變
公鑰(Public Key)與私鑰(Private Key)是通過公鑰演算法得到的一個密鑰對(即一個公鑰和一個私鑰),公鑰是密鑰對中公開的部分,私鑰則是非公開的部分。公鑰通常用於加密會話密鑰、驗證數字簽名,或加密可以用相應的私鑰解密的數據。通過這種演算法得到的密鑰對能保證在世界范圍內是唯一的。
SSL證書公鑰是隨著SSL證書簽發而產生的,一張證書對應一對公私鑰,公鑰是不會改變的。
J. SSL中,公鑰,私鑰,證書的後綴名都是些啥
SSL證書後綴
CSR – Certificate Signing Request,即證書簽名請求,這個並不是證書,而是向權威證書頒發機構獲得簽名證書的申請,其核心內容是一個公鑰(當然還附帶了一些別的信息),在生成這個申請的時候,同時也會生成一個私鑰,私鑰要自己保管好.做過iOS APP的朋友都應該知道是怎麼向蘋果申請開發者證書的吧.
KEY– 通常用來存放一個RSA 公鑰或者私鑰,並非X.509證書,編碼同樣的,可能是PEM,也可能是DER.
CRT– CRT應該是certificate的三個字母,其實還是證書的意思,常見於*NIX系統,有可能是PEM編碼,也有可能是DER編碼,大多數應該是PEM編碼。本站提供的CRT格式等同於CER,等同於PEM。
PEM – Privacy Enhanced Mail的縮寫,以文本的方式進行存儲。打開看文本格式,以」—–BEGIN…」開頭, 「—–END…」結尾,內容是編碼. 查看PEM格式證書的信息:openssl x509 -in certificate.pem -text -noout Apache和*NIX伺服器偏向於使用這種編碼格式.
CER– 還是certificate,還是證書,常見於Windows系統,同樣的,可能是PEM編碼,也可能是DER編碼,大多數應該是DER編碼.
DER – Distinguished Encoding Rules的縮寫,以二進制方式進行存儲,文件結構無法直接預覽,查看DER格式證書的信息:openssl x509 -in certificate.der -inform der -text -noout Java和Windows伺服器偏向於使用這種編碼格式.
PFX/P12 – predecessor of PKCS#12,對*nix伺服器來說,一般CRT和KEY是分開存放在不同文件中的,但Windows的IIS則將它們存在一個PFX文件中,(因此這個文件包含了證書及私鑰)這樣會不會不安全?應該不會,PFX通常會有一個」提取密碼」,你想把裡面的東西讀取出來的話,它就要求你提供提取密碼,PFX使用的時DER編碼,如何把PFX轉換為PEM編碼?
JKS – 即Java Key Storage,這是Java的專利,跟OpenSSL關系不大,利用Java的一個叫」keytool」的工具,可以將PFX轉為JKS,當然了,keytool也能直接生成JKS。