OpenSSL 與 SSL 數字證書概念貼

2021-09-07 03:55:13 字數 3799 閱讀 9875

ssl/tls 介紹見文章 ssl/tls原理詳解。

如果你想快速自建ca然後簽發數字證書,請移步 基於openssl自建ca和頒發ssl證書 。

首先簡單區分一下https、ssl、openssl三者的關係:

ssl是在客戶端和伺服器之間建立一條ssl安全通道的安全協議,而openssl是tls/ssl協議的開源實現,提供開發庫和命令列程式。常說的https是http的加密版,底層使用的加密協議是ssl。

pki 就是 public key infrastructure 的縮寫,翻譯過來就是公開金鑰基礎設施。它是利用公開金鑰技術所構建的,解決網路安全問題的,普遍適用的一種基礎設施;是一種遵循既定標準的金鑰管理平台,它能夠為所有網路應用提供加密和數字簽名等密碼服務及所必需的金鑰和證書管理體系。

pki既不是乙個協議,也不是乙個軟體,它是乙個標準,在這個標準之下發展出的為了實現安全基礎服務目的的技術統稱為pki。可以說ca(認證中心)是pki的核心,而數字證書是pki的最基本元素,還有如apache等伺服器、瀏覽器等客戶端、銀行等應用,都是pki的元件。這篇文章可以幫助理解:pki/ca 技術的介紹 。

為保證使用者之間在網上傳遞資訊的安全性、真實性、可靠性、完整性和不可抵賴性

ca 機構,又稱為證書認證中心 (certificate authority) 中心,是乙個負責發放和管理數字證書的第三方權威機構,它負責管理pki結構下的所有使用者(包括各種應用程式)的證書,把使用者的公鑰和使用者的其他資訊**在一起,在網上驗證使用者的身份。ca機構的數字簽名使得攻擊者不能偽造和篡改證書。

認證中心主要有以下5個功能:

證書的頒發:接收、驗證使用者(包括下級認證中心和終端使用者)的數字證書的申請。可以受理或拒絕

證書的更新:認證中心可以定期更新所有使用者的證書,或者根據使用者的請求來更新使用者的證書

證書的查詢:查詢當前使用者證書申請處理過程;查詢使用者證書的頒發資訊,這類查詢由目錄伺服器ldap來完成

證書的作廢:由於使用者私鑰洩密等原因,需要向認證中心提出證書作廢的請求;證書已經過了有效期,認證中心自動將該證書作廢。認證中心通過維護證書作廢列表 (certificate revocation list,crl) 來完成上述功能。

證書的歸檔:證書具有一定的有效期,證書過了有效期之後就將作廢,但是我們不能將作廢的證書簡單地丟棄,因為有時我們可能需要驗證以前的某個交易過程中產生的數字簽名,這時我們就需要查詢作廢的證書。

1.2.1 x.509標準

"ssl證書"這個詞是乙個相對較大的概念,整個pki體系中有很多ssl證書格式標準。pki的標準規定了pki的設計、實施和運營,規定了pki各種角色的"遊戲規則",提供資料語法和語義的共同約定。x.509是pki中最重要的標準,它定義了公鑰證書的基本結構,可以說pki是在x.509標準基礎上發展起來的:

參考  。

1.2.2 ssl公鑰證書格式

1. 證書版本號(version)

版本號指明x.509證書的格式版本,現在的值可以為:

1) 0: v1

2) 1: v2

3) 2: v3

也為將來的版本進行了預定義

2. 證書序列號(serial number) 序列號指定由ca分配給證書的唯一的"數字型識別符號"。當證書被取消時,實際上是將此證書的序列號放入由ca簽發的crl中, 這也是序列號唯一的原因。 3. 簽名演算法識別符號(signature algorithm) 簽名演算法標識用來指定由ca簽發證書時所使用的"簽名演算法"。演算法識別符號用來指定ca簽發證書時所使用的: 1) 公開金鑰演算法 2) hash演算法 example: sha256withrsaencryption 須向國際知名標準組織(如iso)註冊 4. 簽發機構名(issuer) 此域用來標識簽發證書的ca的x.500 dn(dn-distinguished name)名字。包括: 1) 國家(c) 2) 省市(st) 3) 地區(l) 4) 組織機構(o) 5) 單位部門(ou) 6) 通用名(cn) 7) 郵箱位址 5. 有效期(validity) 指定證書的有效期,包括: 1) 證書開始生效的日期時間 2) 證書失效的日期和時間 每次使用證書時,需要檢查證書是否在有效期內。 6. 證書使用者名稱(subject) 指定證書持有者的x.500唯一名字。包括: 1) 國家(c) 2) 省市(st) 3) 地區(l) 4) 組織機構(o) 5) 單位部門(ou) 6) 通用名(cn) 7) 郵箱位址 7. 證書持有者公開金鑰資訊(subject public key info) 證書持有者公開金鑰資訊域包含兩個重要資訊: 1) 證書持有者的公開金鑰的值 2) 公開金鑰使用的演算法識別符號。此識別符號包含公開金鑰演算法和hash演算法。 8. 擴充套件項(extension) x.509 v3證書是在v2的基礎上一標準形式或普通形式增加了擴充套件項,以使證書能夠附帶額外資訊。標準擴充套件是指 由x.509 v3版本定義的對v2版本增加的具有廣泛應用前景的擴充套件項,任何人都可以向一些權威機構,如iso,來 註冊一些其他擴充套件,如果這些擴充套件項應用廣泛,也許以後會成為標準擴充套件項。 9. 簽發者唯一識別符號(issuer unique identifier) 簽發者唯一識別符號在第2版加入證書定義中。此域用在當同乙個x.500名字用於多個認證機構時,用一位元字串 來唯一標識簽發者的x.500名字。可選。 10. 證書持有者唯一識別符號(subject unique identifier) 持有證書者唯一識別符號在第2版的標準中加入x.509證書定義。此域用在當同乙個x.500名字用於多個證書持有者時, 用一位元字串來唯一標識證書持有者的x.500名字。可選。 11. 簽名演算法(signature algorithm) 證書簽發機構對證書上述內容的簽名演算法 example: sha256withrsaencryption 12. 簽名值(issuer's signature) 證書簽發機構對證書上述內容的簽名值

example:

certificate:

data: version: 3 (0x2) serial number: 9 (0x9) signature algorithm: sha256withrsaencryption issuer: c=cn, st=guangdong, l=shenzhen, o=company technologies co., ltd, ou=it_section, cn=registry.example.com.net/[email protected] validity not before: feb 11 06:04:56 2015 gmt not after : feb 8 06:04:56 2025 gmt subject: c=cn, st=guangdong, l=shenzhen, o=tp-link co.,ltd., ou=network management, cn=172.31.1.210 subject public key info: public key algorithm: rsaencryption public-key: (2048 bit) modulus: 00:a4:b0:dd:eb:c1:cf:5d:47:61:a6:ea:ef:8b:aa: 4b:f0:b4:2c:d8:96:c7:7c:ac:fa:c7:35:88:53:d0: ... 8a:76:dc:8f:8c:44:c8:0b:3c:36:88:5f:01:f0:44: 4e:81:e6:7a:2b:ff:ba:da:33:a5:27:11:c6:f0:08: 6e:f3 exponent: 65537 (0x10001) x509v3 extensions: x509v3 basic constraints: ca:false netscape comment: openssl generated certificate x509v3 subject key identifier: 07:c6:87:b7:c1:1e:28:e8:96:3f:eb:40:1e:82:41:45:ca:81:b6:3d x509v3 authority key identifier

SSL 數字證書

secure 可靠的.安全的 socket 座 layer 層 ssl 協議 ssl 是乙個安全協議,它提供使用 tcp ip 的通訊應用程式間的隱私與完整性。網際網路的 超文字傳輸協議 http 使用 ssl 來實現安全的通訊。由於ssl技術已建立到所有主要的瀏覽器和web伺服器程式中,因此,伺服...

openssl 數字證書的程式設計解析

這篇文章主要介紹pki公鑰體系中非常核心元素 數字證書的程式設計解析。在ssl,set等安全協議通訊時,數字證書用於通訊雙方進行身份認證,並且依靠數字證書和非對稱加密演算法加密傳輸資料,或者根據數字證書協商通訊雙方的共享金鑰。所以,使用者想要開發自己的應用,實現身份認證,必須對數字證書進行解析。根據...

SSL數字證書的型別跟區別

ssl數字證書型別可分為兩大類,一類按照驗證方式可分為3種ssl證書 ov企業驗證型ssl證書 需要驗證網域名稱所有權以及企業身份資訊,證明申請單位是乙個合法存在的真實實體,一般在3 7工作日頒發,幾百到幾千元左右,適用於企業型使用者申請。另一類按照網域名稱數量可分為 單網域名稱證書ssl證書,多網...