OpenSSL 与 SSL 数字证书概念贴
SSL/TLS 介紹見文章?SSL/TLS原理詳解。
如果你想快速自建CA然后簽發(fā)數(shù)字證書,請(qǐng)移步?基于OpenSSL自建CA和頒發(fā)SSL證書?。
首先簡(jiǎn)單區(qū)分一下HTTPS、SSL、OpenSSL三者的關(guān)系:
SSL是在客戶端和服務(wù)器之間建立一條SSL安全通道的安全協(xié)議,而OpenSSL是TLS/SSL協(xié)議的開源實(shí)現(xiàn),提供開發(fā)庫(kù)和命令行程序。常說(shuō)的HTTPS是HTTP的加密版,底層使用的加密協(xié)議是SSL。
1. PKI、CA與證書
PKI 就是 Public Key Infrastructure 的縮寫,翻譯過來(lái)就是公開密鑰基礎(chǔ)設(shè)施。它是利用公開密鑰技術(shù)所構(gòu)建的,解決網(wǎng)絡(luò)安全問題的,普遍適用的一種基礎(chǔ)設(shè)施;是一種遵循既定標(biāo)準(zhǔn)的密鑰管理平臺(tái),它能夠?yàn)樗芯W(wǎng)絡(luò)應(yīng)用提供加密和數(shù)字簽名等密碼服務(wù)及所必需的密鑰和證書管理體系。
PKI既不是一個(gè)協(xié)議,也不是一個(gè)軟件,它是一個(gè)標(biāo)準(zhǔn),在這個(gè)標(biāo)準(zhǔn)之下發(fā)展出的為了實(shí)現(xiàn)安全基礎(chǔ)服務(wù)目的的技術(shù)統(tǒng)稱為PKI。可以說(shuō)CA(認(rèn)證中心)是PKI的核心,而數(shù)字證書是PKI的最基本元素,還有如apache等服務(wù)器、瀏覽器等客戶端、銀行等應(yīng)用,都是pki的組件。這篇文章可以幫助理解:PKI/CA 技術(shù)的介紹?。
1.1 CA
為保證用戶之間在網(wǎng)上傳遞信息的安全性、真實(shí)性、可靠性、完整性和不可抵賴性
CA 機(jī)構(gòu),又稱為證書認(rèn)證中心 (Certificate Authority) 中心,是一個(gè)負(fù)責(zé)發(fā)放和管理數(shù)字證書的第三方權(quán)威機(jī)構(gòu),它負(fù)責(zé)管理PKI結(jié)構(gòu)下的所有用戶(包括各種應(yīng)用程序)的證書,把用戶的公鑰和用戶的其他信息捆綁在一起,在網(wǎng)上驗(yàn)證用戶的身份。CA機(jī)構(gòu)的數(shù)字簽名使得攻擊者不能偽造和篡改證書。
認(rèn)證中心主要有以下5個(gè)功能:
1.2 Certificate
1.2.1 X.509標(biāo)準(zhǔn)
"SSL證書"這個(gè)詞是一個(gè)相對(duì)較大的概念,整個(gè)PKI體系中有很多SSL證書格式標(biāo)準(zhǔn)。PKI的標(biāo)準(zhǔn)規(guī)定了PKI的設(shè)計(jì)、實(shí)施和運(yùn)營(yíng),規(guī)定了PKI各種角色的"游戲規(guī)則",提供數(shù)據(jù)語(yǔ)法和語(yǔ)義的共同約定。x.509是PKI中最重要的標(biāo)準(zhǔn),它定義了公鑰證書的基本結(jié)構(gòu),可以說(shuō)PKI是在X.509標(biāo)準(zhǔn)基礎(chǔ)上發(fā)展起來(lái)的:
- SSL公鑰證書
- 證書廢除列表CRL(Certificate revocation lists 證書黑名單)
參考?http://en.wikipedia.org/wiki/X.509?。
1.2.2 ssl公鑰證書格式
1. 證書版本號(hào)(Version) 版本號(hào)指明X.509證書的格式版本,現(xiàn)在的值可以為: 1) 0: v1 2) 1: v2 3) 2: v3 也為將來(lái)的版本進(jìn)行了預(yù)定義2. 證書序列號(hào)(Serial Number) 序列號(hào)指定由CA分配給證書的唯一的"數(shù)字型標(biāo)識(shí)符"。當(dāng)證書被取消時(shí),實(shí)際上是將此證書的序列號(hào)放入由CA簽發(fā)的CRL中, 這也是序列號(hào)唯一的原因。 3. 簽名算法標(biāo)識(shí)符(Signature Algorithm) 簽名算法標(biāo)識(shí)用來(lái)指定由CA簽發(fā)證書時(shí)所使用的"簽名算法"。算法標(biāo)識(shí)符用來(lái)指定CA簽發(fā)證書時(shí)所使用的: 1) 公開密鑰算法 2) hash算法 example: sha256WithRSAEncryption 須向國(guó)際知名標(biāo)準(zhǔn)組織(如ISO)注冊(cè) 4. 簽發(fā)機(jī)構(gòu)名(Issuer) 此域用來(lái)標(biāo)識(shí)簽發(fā)證書的CA的X.500 DN(DN-Distinguished Name)名字。包括: 1) 國(guó)家(C) 2) 省市(ST) 3) 地區(qū)(L) 4) 組織機(jī)構(gòu)(O) 5) 單位部門(OU) 6) 通用名(CN) 7) 郵箱地址 5. 有效期(Validity) 指定證書的有效期,包括: 1) 證書開始生效的日期時(shí)間 2) 證書失效的日期和時(shí)間 每次使用證書時(shí),需要檢查證書是否在有效期內(nèi)。 6. 證書用戶名(Subject) 指定證書持有者的X.500唯一名字。包括: 1) 國(guó)家(C) 2) 省市(ST) 3) 地區(qū)(L) 4) 組織機(jī)構(gòu)(O) 5) 單位部門(OU) 6) 通用名(CN) 7) 郵箱地址 7. 證書持有者公開密鑰信息(Subject Public Key Info) 證書持有者公開密鑰信息域包含兩個(gè)重要信息: 1) 證書持有者的公開密鑰的值 2) 公開密鑰使用的算法標(biāo)識(shí)符。此標(biāo)識(shí)符包含公開密鑰算法和hash算法。 8. 擴(kuò)展項(xiàng)(extension) X.509 V3證書是在v2的基礎(chǔ)上一標(biāo)準(zhǔn)形式或普通形式增加了擴(kuò)展項(xiàng),以使證書能夠附帶額外信息。標(biāo)準(zhǔn)擴(kuò)展是指 由X.509 V3版本定義的對(duì)V2版本增加的具有廣泛應(yīng)用前景的擴(kuò)展項(xiàng),任何人都可以向一些權(quán)威機(jī)構(gòu),如ISO,來(lái) 注冊(cè)一些其他擴(kuò)展,如果這些擴(kuò)展項(xiàng)應(yīng)用廣泛,也許以后會(huì)成為標(biāo)準(zhǔn)擴(kuò)展項(xiàng)。 9. 簽發(fā)者唯一標(biāo)識(shí)符(Issuer Unique Identifier) 簽發(fā)者唯一標(biāo)識(shí)符在第2版加入證書定義中。此域用在當(dāng)同一個(gè)X.500名字用于多個(gè)認(rèn)證機(jī)構(gòu)時(shí),用一比特字符串 來(lái)唯一標(biāo)識(shí)簽發(fā)者的X.500名字。可選。 10. 證書持有者唯一標(biāo)識(shí)符(Subject Unique Identifier) 持有證書者唯一標(biāo)識(shí)符在第2版的標(biāo)準(zhǔn)中加入X.509證書定義。此域用在當(dāng)同一個(gè)X.500名字用于多個(gè)證書持有者時(shí), 用一比特字符串來(lái)唯一標(biāo)識(shí)證書持有者的X.500名字。可選。 11. 簽名算法(Signature Algorithm) 證書簽發(fā)機(jī)構(gòu)對(duì)證書上述內(nèi)容的簽名算法 example: sha256WithRSAEncryption 12. 簽名值(Issuer's Signature) 證書簽發(fā)機(jī)構(gòu)對(duì)證書上述內(nèi)容的簽名值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/emailAddress=zhouxiao@example.com.net 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總結(jié)
以上是生活随笔為你收集整理的OpenSSL 与 SSL 数字证书概念贴的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 龙族幻想猎鹰什么元素对于攻击来说更重要
- 下一篇: Bash 中的 $0 在什么时候不是 a