當前位置:首頁 » 網頁前端 » web證書公鑰私鑰
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web證書公鑰私鑰

發布時間: 2023-01-12 02:10:32

A. 老師你好,在ssl證書中,cer是公鑰證書,key是私鑰證書,crt是證書鏈對嗎

key是SSL證書私鑰。而.cer和.crt是證書鏈,其中,.cer是伺服器證書,.crt是中間證書。

一般上傳的時候都是合著上傳寫入的,比如網路雲加速上傳SSL證書的時候,在證書輸入框輸入.cer的文本,再回車輸入.crt的文件,即可完成證書鏈。

ssl證書優點:

一般說來,在網上進行電子商務交易時,交易雙方需要使用數字簽名來表明自己的身份,並使用數字簽名來進行有關的交易操作。隨著電子商務的盛行,數字簽章的頒發機構CA中心將為電子商務的發展提供可靠的安全保障。

一個有效、可信的 SSL 數字證書包括一個公共密鑰和一個私用密鑰。公共密鑰用於加密信息,私用密鑰用於解譯加密的信息。因此,瀏覽器指向一個安全域時,SSL 將同步確認伺服器和客戶端,並創建一種加密方式和一個唯一的會話密鑰。

一般而言,由 CA 業界發出的數字證書,有別於國內瀏覽器業者比對域名信息等方式,採取更為嚴格的企業及所有權驗證,為電商環境樹立更為可信的運作環境。

如果您的網站使用 SSL 證書 (SSL Certificates),並顯示了簽章 (Secured Seal),您的客戶就知道他們的交易安全可靠,並且充分信賴您的網站。

B. 公鑰、私鑰、數字簽名和數字證書簡介

加密方式一共分為兩種 對稱加密 和 非對稱加密

加密和解密使用的是同一種密鑰。

這類加密演算法的優點是 計算量小,加密速度快,加密效率高

缺點也明顯,在傳輸數據前,雙方必須商定並且保存好密鑰,任何一方泄露了密鑰,加密信息就不再安全了。另外,每次使用對稱加密演算法時,都需要使用其他人不知道的唯一密鑰,這樣會使得雙方會擁有大量的密鑰,讓管理密鑰稱為一種負擔

非對稱加密需要兩個密鑰來進行加密和解密,這兩個密鑰分別稱為 公有密鑰 和 私有密鑰

這兩份鑰匙的使用是相互對應的。如果使用了公有密鑰加密文件,那麼解密就只能用對應的私密鑰匙才能解密,同理,如果用私密鑰匙加密了文件,那麼解密也只能使用對應的公有。

這里有一個缺點:因為乙的公鑰是公開的,所以有被人冒充甲方使用乙的公鑰發送請求。

解決方案:首先甲用自己的私鑰對消息進行加密,生成另一個密文,然後將密文發送給乙,乙收到消息之後,如果能用乙的公鑰解密,就說明這個消息確實是甲方發送的。

雖然上面的方法解決了身份認證的問題,但是由於所有人都有甲的公鑰,所以只要消息發送中途被截獲就一定能被解密;而且對文件加密可能是個耗時的過程,比如文件足夠大,那麼用私鑰加密整個文件以及拿到文件後解密的開銷無疑是巨大的。為了解決這兩個問題,於是有了數字簽名。

數字簽名的發送流程如下:

有了數字簽名,我們就可以驗證來源和消息的完整性。但是仍然還存在缺陷。假如存在第三人丙,偷偷在乙的電腦用自己的公鑰替換了甲的公鑰,然後用自己的私鑰給乙發送信息,這時乙收到的消息會以為是甲發送的。
為了解決這個問題,於是有了 數字證書

數字證書,就是為了解決,無法區分電腦中的密鑰歸屬的問題,其實就是給公鑰做個身份證,以便讓別人搞清楚公鑰到底是誰的.。

但仍然存在問題:假設有一萬個人,他們每個人都有CA的證書,那麼乙就要報關一萬份不同的CA公鑰來驗證這些人的身份。這是不可能的。
所以就有了"根證書"。根證書裡面存儲著CA公鑰來驗證所有CA頒發的數字證書,乙只需要保管一份根證書就可以驗證所有人的身份了。

以上

原文連接: https://blog.csdn.net/kswkly/article/details/83617944

C. https 證書 私鑰 公鑰

引言

使用HTTP(超文本傳輸)協議訪問互聯網上的數據是沒有經過加密的。也就是說,任何人都可以通過適當的工具攔截或者監聽到在網路上傳輸的數據流。但是有時候,我們需要在網路上傳輸一些安全性或者私秘性的數據,譬如:包含信用卡及商品信息的電子訂單。這個時候,如果仍然使用HTTP協議,勢必會面臨非常大的風險!相信沒有人能接受自己的信用卡號在互聯網上裸奔。

HTTPS(超文本傳輸安全)協議無疑可以有效的解決這一問題。所謂HTTPS,其實就是HTTP和SSL/TLS的組合,用以提供加密通訊及對網路伺服器的身份鑒定。HTTPS的主要思想是在不安全的網路上創建一安全信道,防止黑客的竊聽和攻擊。

SSL(安全套接層)可以用來對Web伺服器和客戶端之間的數據流進行加密。

SSL利用非對稱密碼技術進行數據加密。加密過程中使用到兩個秘鑰:一個公鑰和一個與之對應的私鑰。使用公鑰加密的數據,只能用與之對應的私鑰解密;而使用私鑰加密的數據,也只能用與之對應的公鑰解密。因此,如果在網路上傳輸的消息或數據流是被伺服器的私鑰加密的,則只能使用與其對應的公鑰解密,從而可以保證客戶端與與伺服器之間的數據安全。

數字證書(Certificate)

在HTTPS的傳輸過程中,有一個非常關鍵的角色——數字證書,那什麼是數字證書?又有什麼作用呢?

所謂數字證書,是一種用於電腦的身份識別機制。由數字證書頒發機構(CA)對使用私鑰創建的簽名請求文件做的簽名(蓋章),表示CA結構對證書持有者的認可。數字證書擁有以下幾個優點:

使用數字證書能夠提高用戶的可信度

數字證書中的公鑰,能夠與服務端的私鑰配對使用,實現數據傳輸過程中的加密和解密

在證認使用者身份期間,使用者的敏感個人數據並不會被傳輸至證書持有者的網路系統上

X.509證書包含三個文件:key,csr,crt。

key是伺服器上的私鑰文件,用於對發送給客戶端數據的加密,以及對從客戶端接收到數據的解密

csr是證書簽名請求文件,用於提交給證書頒發機構(CA)對證書簽名

crt是由證書頒發機構(CA)簽名後的證書,或者是開發者自簽名的證書,包含證書持有人的信息,持有人的公鑰,以及簽署者的簽名等信息

備註:在密碼學中,X.509是一個標准,規范了公開秘鑰認證、證書吊銷列表、授權憑證、憑證路徑驗證演算法等。

創建自簽名證書的步驟

注意:以下步驟僅用於配置內部使用或測試需要的SSL證書。

第1步:生成私鑰

使用openssl工具生成一個RSA私鑰

1$ openssl genrsa -des3 -out server.key 2048

說明:生成rsa私鑰,des3演算法,2048位強度,server.key是秘鑰文件名。

注意:生成私鑰,需要提供一個至少4位的密碼。

第2步:生成CSR(證書簽名請求)

生成私鑰之後,便可以創建csr文件了。

此時可以有兩種選擇。理想情況下,可以將證書發送給證書頒發機構(CA),CA驗證過請求者的身份之後,會出具簽名證書(很貴)。另外,如果只是內部或者測試需求,也可以使用OpenSSL實現自簽名,具體操作如下:

1$ openssl req -new -key server.key -out server.csr

說明:需要依次輸入國家,地區,城市,組織,組織單位,Common Name和Email。其中Common Name,可以寫自己的名字或者域名,如果要支持https,Common Name應該與域名保持一致,否則會引起瀏覽器警告。

1

2

3

4

5

6

7

Country Name (2 letter code) [AU]:CN

State or Province Name (full name) [Some-State]:Beijing

Locality Name (eg, city) []:Beijing

Organization Name (eg, company) [Internet Widgits Pty Ltd]:joyios

Organizational Unit Name (eg, section) []:info technology

Common Name (e.g. server FQDN or YOUR name) []:demo.joyios.com

Email Address []:[email protected]

第3步:刪除私鑰中的密碼

在第1步創建私鑰的過程中,由於必須要指定一個密碼。而這個密碼會帶來一個副作用,那就是在每次Apache啟動Web伺服器時,都會要求輸入密碼,這顯然非常不方便。要刪除私鑰中的密碼,操作如下:

1

2

cp server.key server.key.org

openssl rsa -in server.key.org -out server.key

第4步:生成自簽名證書

如果你不想花錢讓CA簽名,或者只是測試SSL的具體實現。那麼,現在便可以著手生成一個自簽名的證書了。

需要注意的是,在使用自簽名的臨時證書時,瀏覽器會提示證書的頒發機構是未知的。

1$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

說明:crt上有證書持有人的信息,持有人的公鑰,以及簽署者的簽名等信息。當用戶安裝了證書之後,便意味著信任了這份證書,同時擁有了其中的公鑰。證書上會說明用途,例如伺服器認證,客戶端認證,或者簽署其他證書。當系統收到一份新的證書的時候,證書會說明,是由誰簽署的。如果這個簽署者確實可以簽署其他證書,並且收到證書上的簽名和簽署者的公鑰可以對上的時候,系統就自動信任新的證書。

第5步:安裝私鑰和證書

將私鑰和證書文件復制到Apache的配置目錄下即可,在Mac 10.10系統中,復制到/etc/apache2/目錄中即可。

D. 圖說公鑰與私鑰原理

1)鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰

2)鮑勃把公鑰送給他的朋友們----帕蒂、道格、蘇珊----每人一把。

3)蘇珊要給鮑勃寫一封保密的信。她寫完後用鮑勃的公鑰加密,就可以達到保密的效果。

4)鮑勃收信後,用私鑰解密,就看到了信件內容。這里要強調的是,只要鮑勃的私鑰不泄露,這封信就是安全的,即使落在別人手裡,也無法解密。

5)鮑勃給蘇珊回信,決定採用"數字簽名"。他寫完後先用Hash函數,生成信件的摘要(digest)。

6)然後,鮑勃使用私鑰,對這個摘要加密,生成"數字簽名"(signature)。

7)鮑勃將這個簽名,附在信件下面,一起發給蘇珊。

8)蘇珊收信後,取下數字簽名,用鮑勃的公鑰解密,得到信件的摘要。由此證明,這封信確實是鮑勃發出的。

9)蘇珊再對信件本身使用Hash函數,將得到的結果,與上一步得到的摘要進行對比。如果兩者一致,就證明這封信未被修改過。

10)復雜的情況出現了。道格想欺騙蘇珊,他偷偷使用了蘇珊的電腦,用自己的公鑰換走了鮑勃的公鑰。此時,蘇珊實際擁有的是道格的公鑰,但是還以為這是鮑勃的公鑰。因此,道格就可以冒充鮑勃,用自己的私鑰做成"數字簽名",寫信給蘇珊,讓蘇珊用假的鮑勃公鑰進行解密。

11)後來,蘇珊感覺不對勁,發現自己無法確定公鑰是否真的屬於鮑勃。她想到了一個辦法,要求鮑勃去找"證書中心"(certificate authority,簡稱CA),為公鑰做認證。證書中心用自己的私鑰,對鮑勃的公鑰和一些相關信息一起加密,生成"數字證書"(Digital Certificate)。

12)鮑勃拿到數字證書以後,就可以放心了。以後再給蘇珊寫信,只要在簽名的同時,再附上數字證書就行了。

13)蘇珊收信後,用CA的公鑰解開數字證書,就可以拿到鮑勃真實的公鑰了,然後就能證明"數字簽名"是否真的是鮑勃簽的。

HTTPS詳解

HTTP協議的網站容易被篡改和劫持,如一些不良的運營商會通過代理伺服器在你的頁面中植入廣告等。

因此很多網站選擇使用HTTPS協議。HTTPS協議通過TLS層和證書機制提供了內容加密,身份認證,數據完整性三大功能。

14)下面,我們看一個應用"數字證書"的實例:https協議。這個協議主要用於網頁加密。

15)首先,客戶端向伺服器發出加密請求。

16)伺服器用自己的私鑰加密網頁以後,連同本身的數字證書,一起發送給客戶端。

17)客戶端(瀏覽器)的"證書管理器",有"受信任的根證書頒發機構"列表。客戶端會根據這張列表,查看解開數字證書的公鑰是否在列表之內。

18)如果數字證書記載的網址,與你正在瀏覽的網址不一致,就說明這張證書可能被冒用,瀏覽器會發出警告。

19)如果這張數字證書不是由受信任的機構頒發的,瀏覽器會發出另一種警告

20.如果數字證書是可靠的,客戶端就可以使用證書中的伺服器公鑰,對信息進行加密,然後與伺服器交換加密信息。

總之

E. web伺服器的私鑰保存在什麼地方

是一段代碼
如果要解除HTTP起動時的口令輸入
可以這樣:
# cd /usr/local/apache2/conf/ssl.key/
或創建 /usr/local/apache2/conf/ssl.key/sendsslpwd
此時,Web伺服器的私鑰已經沒有口令加密

F. RSA 公鑰和私鑰

首先明確一點,公鑰和私鑰是成對出現的。一個負責加密,另一個負責解密。公開的就是公鑰,自己留著的就是私鑰。所以不管加密還是解密密鑰都是可以是公鑰或者私鑰的。

所以如果別人發東西給我,我就需要把加密密鑰給別人,解密密鑰自己藏著,這樣就是公鑰加密,私鑰解密。

如果我想讓別人確認我的身份,我就需要把解密密鑰給別人,加密密鑰自己留著,給自己加密,別人獲得密文後用我的解密密鑰才可以解密。所以這里就是公鑰負責解密,私鑰負責加密。

例如伺服器證書,一個證書中通常包含很多欄位,其中包括:

瀏覽器收到證書時會對簽名頒發機構進行檢查。如果這個機構是個很有權威的公共簽名機構,瀏覽器可能已經知道其公開密鑰了(瀏覽器會預先安裝很多簽名頒發機構的證書),然後用公鑰解密,獲得相關信息,例如獲得證書裡面的Web站點的名稱和主機名,看看與當前瀏覽器的地址欄中的地址是否匹配,不匹配的話,瀏覽器就會給出警告(你可能看到過),提示當前證書是頒給xxx域名的,不是給當前域名的,讓你注意。

G. 私鑰、公鑰、證書的區別和關系

1.首先我們需要區分加密和認證這兩個基本概念。
加密是將數據資料加密,使得非法用戶即使取得加密過的資料,也無法獲取正確的資料內容,所以數據加密可以保護數據,防止監聽攻擊。其重點在於數據的安全性。身份認證是用來判斷某個身份的真實性,確認身份後,系統才可以依不同的身份給予不同的許可權。其重點在於用戶的真實性。兩者的側重點是不同的。
2.其次我們還要了解公鑰和私鑰的概念和作用。
在現代密碼體制中加密和解密是採用不同的密鑰(公開密鑰),也就是非對稱密鑰密碼系統,每個通信方均需要兩個密鑰,即公鑰和私鑰,這兩把密鑰可以互為加解密。公鑰是公開的,不需要保密,而私鑰是由個人自己持有,並且必須妥善保管和注意保密。
公鑰私鑰的原則:
一個公鑰對應一個私鑰。
密鑰對中,讓大家都知道的是公鑰,不告訴大家,只有自己知道的,是私鑰。
如果用其中一個密鑰加密數據,則只有對應的那個密鑰才可以解密。
如果用其中一個密鑰可以進行解密數據,則該數據必然是對應的那個密鑰進行的加密。

H. 私鑰、公鑰、證書的區別和關系

私鑰是要求你輸入個人密碼才可訪問的,一般網上銀行之類可用到。
公鑰不要求設置密碼,是已經默認了的,一般上一些安全性要求不高的網站或共享資源,如區域網。
證書是一種網站加密瀏覽方式,只有允許了才可訪問,一般為安全性較高的網站,如網上銀行;可以訪止黑客盜取客戶資料。

I. 公鑰、私鑰、簽名、證書之間傻傻分不清

首先,一提起非對稱密碼,Alice和Bob的故事肯定就馬上從腦海裡面跳出來了。

對於公鑰和私鑰,肯定已經耳熟能詳了,在此就不再詳述。

下面,主要梳理「數字簽名」(signature)和「數字證書」(Digital Certificate)之間的關系:

概括而言,數字證書就是經過CA認證過的公鑰,而私鑰一般情況都是由證書持有者在自己本地生成的,由證書持有者自己負責保管。

1、數字簽名

      ( hash)        (私鑰)

信息      →      摘要      →      數字簽名

2、數字證書

參考資料:

1)http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html  (簡明易懂)

2)https://blog.csdn.net/hongbinchen/article/details/6678635      (較詳細,更正式)

J. ca頒發給web網站的數字證書有哪些內容

CA是證書的簽發機構,它是PKI的核心。CA是負責簽發證書、認證證書、管理已頒發證書的機關。它要制定政策和具體步驟來驗證、識別用戶身份,並對用戶證書進行簽名,以確保證書持有者的身份和公鑰的擁有權。
數字證書為實現雙方安全通信提供了電子認證。在網際網路、公司內部網或外部網中,使用數字證書實現身份識別和電子信息加密。數字證書中含有密鑰對(公鑰和私鑰)所有者的識別信息,通過驗證識別信息的真偽實現對證書持有者身份的認證。
數字證書在用戶公鑰後附加了用戶信息及CA的簽名。公鑰是密鑰對的一部分,另一部分是私鑰。公鑰公之於眾,誰都可以使用。私鑰只有自己知道。由公鑰加密的信息只能由與之相對應的私鑰解密。為確保只有某個人才能閱讀自己的信件,發送者要用收件人的公鑰加密信件;收件人便可用自己的私鑰解密信件。同樣,為證實發件人的身份,發送者要用自己的私鑰對信件進行簽名;收件人可使用發送者的公鑰對簽名進行驗證,以確認發送者的身份。 在線交易中您可使用數字證書驗證對方身份。用數字證書加密信息,可以確保只有接收者才能解密、閱讀原文,信息在傳遞過程中的保密性和完整性。有了數字證書網上安全才得以實現,電子郵件、在線交易和信用卡購物的安全才能得到保證。