<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=X.509</id>
	<title>X.509 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=X.509"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=X.509&amp;action=history"/>
	<updated>2026-07-18T13:41:46Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=X.509&amp;diff=2386828&amp;oldid=prev</id>
		<title>imported&gt;Longdearalk：​修飾語句</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=X.509&amp;diff=2386828&amp;oldid=prev"/>
		<updated>2024-11-14T06:01:22Z</updated>

		<summary type="html">&lt;p&gt;修飾語句&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{RoughTranslation}}&lt;br /&gt;
{{Infobox technology standard&lt;br /&gt;
| title = X.509&lt;br /&gt;
| long_name = 密码学裡[[公钥证书]]的格式标准&lt;br /&gt;
| image = Cybersecurity.png&lt;br /&gt;
| caption =&lt;br /&gt;
| status = 已生效&lt;br /&gt;
| year_started = 1988&lt;br /&gt;
| version = 10/19&lt;br /&gt;
| version_date = October 2019&lt;br /&gt;
| preview =&lt;br /&gt;
| preview_date =&lt;br /&gt;
| organization = [[ITU-T]]&lt;br /&gt;
| committee =&lt;br /&gt;
| base_standards =&lt;br /&gt;
| related_standards = [[X.509]]&lt;br /&gt;
| abbreviation =&lt;br /&gt;
| domain =&lt;br /&gt;
| license =&lt;br /&gt;
| website =https://www.itu.int/rec/T-REC-X.509/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{NoteTA|G1=IT}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;X.509&amp;#039;&amp;#039;&amp;#039;又稱X509，是密码学裡[[公钥证书]]的格式标准。X.509证书已应用在包括[[TLS/SSL]]在内的众多[[网络协议]]裡，同时它也用在很多非在线应用场景裡，比如电子签名服务。X.509证书裡含有公钥、身份信息（比如网络主机名，组织的名称或个体名称等）和签名信息（可以是证书签发机构CA的签名，也可以是自签名）。&amp;lt;ref&amp;gt;{{Cite web|title=X.509 : Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks|url=https://www.itu.int/rec/T-REC-X.509/|accessdate=2021-04-29|work=www.itu.int|archive-date=2021-05-01|archive-url=https://web.archive.org/web/20210501134105/https://www.itu.int/rec/T-REC-X.509/}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X.509还附带了[[证书吊销列表]]和用于从最终对证书进行签名的证书签发机构直到最终可信点为止的[[证书合法性验证算法]]。X.509是[[ITU-T]]标准化部门基于他们之前的[[ASN.1]]定义的一套证书标准。&lt;br /&gt;
&lt;br /&gt;
{{Internet_security_protocols}}&lt;br /&gt;
&lt;br /&gt;
==历史及使用情况==&lt;br /&gt;
X.509最早与X.500一起发布于1988年7月3日。它假设有一套严格的层次化的[[证书颁发机构]]（CA）。X.500系统仅由主权国家实施，以实现国家身份信息共享条约的实施目的；而[[IETF]]的公钥基础设施（X.509）简称PKIX工作组将该标准制定成适用于更灵活的互联网组织。而且事实上X.509认证指的是RFC5280裡定义的X.509 v3，包括对IETF的PKIX证书和证书吊销列表，通常也称为[[公钥基础设施]]（PKI）。&lt;br /&gt;
&lt;br /&gt;
==证书==&lt;br /&gt;
在X.509裡，组织机构通过发起{{link-en|憑證簽發請求|Certificate Signing Request|证书签名请求}}（CSR）来得到一份签名的证书。首先需要生成一对金鑰對，然后用其中的私钥对CSR进行[[數碼簽署]]（簽名），并安全地保存私钥。CSR进而包含有请求发起者的身份信息、用来对此请求进行验真的公钥以及所请求证书专有名称。CSR裡还可能带有CA要求的其它有关身份证明的信息。然后CA对这个CSR進行簽名。&lt;br /&gt;
组织机构可以把受信的[[根证书]]分发给所有的成员，这样就可以使用公司的[[PKI]]系统了。[[瀏覽器]]（如[[Firefox]]）或[[作業系統]]预装有可信任的根证书列表，所以主流[[證書頒發機構|CA]]发布的[[TLS]]证书都直接可以正常使用。浏览器的开发者直接影响着它的用户对CA的信任。X.509也定义了[[證書吊銷列表|CRL]]实现标准。另一种检查合法性的方式是[[OCSP]]。&lt;br /&gt;
&lt;br /&gt;
===证书组成结构===&lt;br /&gt;
证书组成结构标准用[[ASN.1]]（一种标准的语言）来进行描述.&lt;br /&gt;
X.509 v3 [[数字证书]]结构如下：&lt;br /&gt;
* 证书&lt;br /&gt;
**版本号&lt;br /&gt;
**序列号&lt;br /&gt;
**签名算法&lt;br /&gt;
**颁发者&lt;br /&gt;
**证书有效期&lt;br /&gt;
***此日期前无效&lt;br /&gt;
***此日期后无效&lt;br /&gt;
**主题&lt;br /&gt;
**主题公钥信息&lt;br /&gt;
***公钥算法&lt;br /&gt;
***主题公钥&lt;br /&gt;
**颁发者唯一身份信息（可选项）&lt;br /&gt;
**主题唯一身份信息（可选项）&lt;br /&gt;
**扩展信息（可选项）&lt;br /&gt;
*** ...&lt;br /&gt;
*证书签名算法&lt;br /&gt;
*数字签名&lt;br /&gt;
&lt;br /&gt;
所有扩展都有一个ID，由[[物件識別碼]]来表达。它是一个集合，并且有一个标记用与指示这个扩展是不是决定性的。证书使用时，如果发现一份证书带有决定性标记的扩展，而这个系统并不清楚该扩展的用途，那么要拒绝使用它。但对于非决定性的扩展，不认识可以予以忽略。&amp;lt;ref&amp;gt;{{Cite web |url=http://tools.ietf.org/html/rfc5280#section-4.2, |title=RFC 5280 section 4.2, retrieved 12 February 2013 |accessdate=2018-04-28 |archive-date=2018-03-15 |archive-url=https://web.archive.org/web/20180315115721/https://tools.ietf.org/html/rfc5280#section-4.2, |dead-url=no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
RFC 1422&amp;lt;ref&amp;gt;{{Cite web |url=http://www.ietf.org/rfc/rfc1422 |title=RFC 1422 |access-date=2018-04-28 |archive-date=2018-05-05 |archive-url=https://web.archive.org/web/20180505042417/http://www.ietf.org/rfc/rfc1422 }}&amp;lt;/ref&amp;gt;给出了v1的证书结构&lt;br /&gt;
ITU-T在v2裡增加了颁发者和主题唯一标识符，从而可以在一段时间后可以重用。重用的一个例子是当一个CA破产了，它的名称也在公共列表裡清除掉了，一段时间之后另一个CA可以用相同的名称来注册，即使它与之前的并没有任何瓜葛。不过[[IETF]]并不建议重用同名注册。另外v2在Internet也没有多大范围的使用。&lt;br /&gt;
v3引入了扩展。CA使用扩展来发布一份特定使用目的的证书（比如说仅用于代码签名）&lt;br /&gt;
所有的版本中，同一个CA颁发的证书序列号都必须是唯一的。&lt;br /&gt;
&lt;br /&gt;
===扩展指定了证书的用途===&lt;br /&gt;
{{RFC|5280}}（及后续版本）定义了一些扩展用来指定证书的用途。 它们的多数都来源于&amp;lt;tt&amp;gt;joint-iso-ccitt(2) ds(5) id-ce(29)&amp;lt;/tt&amp;gt; OID。在4.2.1裡定义的几个常用扩展定义如下：&lt;br /&gt;
&lt;br /&gt;
* Basic Constraints，&amp;lt;tt&amp;gt;{ id-ce 19 }&amp;lt;/tt&amp;gt;，&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
    | url = http://tools.ietf.org/html/rfc5280#section-4.2.1.9&lt;br /&gt;
    | title = RFC 5280, Section &amp;#039;Basic Constraints&amp;#039;&lt;br /&gt;
    | accessdate = 2018-04-28&lt;br /&gt;
    | archive-date = 2018-03-15&lt;br /&gt;
    | archive-url = https://web.archive.org/web/20180315115721/https://tools.ietf.org/html/rfc5280#section-4.2.1.9&lt;br /&gt;
    | dead-url = no&lt;br /&gt;
    }}&amp;lt;/ref&amp;gt; 用于指定一份证书是不是一个CA证书。&lt;br /&gt;
* Key Usage，&amp;lt;tt&amp;gt;{ id-ce 15 }&amp;lt;/tt&amp;gt;，&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
    | url = http://tools.ietf.org/html/rfc5280#section-4.2.1.3&lt;br /&gt;
    | title = &amp;#039;RFC 5280, Section &amp;#039;Key Usage&amp;#039;&lt;br /&gt;
    | accessdate = 2018-04-28&lt;br /&gt;
    | archive-date = 2018-03-15&lt;br /&gt;
    | archive-url = https://web.archive.org/web/20180315115721/https://tools.ietf.org/html/rfc5280#section-4.2.1.3&lt;br /&gt;
    | dead-url = no&lt;br /&gt;
    }}&amp;lt;/ref&amp;gt;指定了这份证书包含的公钥可以执行的密码操作。作为一个例子，它可以指定只能用于签名，而不能用来进行加密操作。&lt;br /&gt;
* Extended Key Usage，&amp;lt;tt&amp;gt;{ id-ce 37 }&amp;lt;/tt&amp;gt;，&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
    | url = http://tools.ietf.org/html/rfc5280#section-4.2.1.12&lt;br /&gt;
    | title = RFC 5280, Section &amp;#039;Extended Key Usage&amp;#039;&lt;br /&gt;
    | accessdate = 2018-04-28&lt;br /&gt;
    | archive-date = 2018-03-15&lt;br /&gt;
    | archive-url = https://web.archive.org/web/20180315115721/https://tools.ietf.org/html/rfc5280#section-4.2.1.12&lt;br /&gt;
    | dead-url = no&lt;br /&gt;
    }}&amp;lt;/ref&amp;gt;典型用法是用于叶子证书中的公钥的使用目的。它包括一系列的OID，每一个都指定一种用途。比如&amp;lt;tt&amp;gt;{ id-pkix 3 1  }&amp;lt;/tt&amp;gt; 表示用于服务器端的TLS/SSL连接，而&amp;lt;tt&amp;gt;{ id-pkix 3 4  }&amp;lt;/tt&amp;gt;用于email的安全操作。&lt;br /&gt;
通常情况下，一份证书有多个限制用途的扩展时，所有限制条件都应该满足才可以使用。&amp;lt;nowiki&amp;gt;RFC 5280&amp;lt;/nowiki&amp;gt;裡有对一个同时含有keyUsage和extendedKeyUsage的证书的例子，这样的证书只能用在两个扩展中都指定了的用途。比如[[网络安全服务]]决定证书用途时会同时对这两个扩展进行判断&amp;lt;ref&amp;gt;{{Cite web |url=https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/nss_tech_notes/nss_tech_note3 |title=All About Certificate Extensions |access-date=2018-04-28 |archive-date=2018-12-15 |archive-url=https://web.archive.org/web/20181215123125/https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/nss_tech_notes/nss_tech_note3 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===证书文件扩展名===&lt;br /&gt;
X.509有多种常用的扩展名。不过其中的一些还用于其它用途，就是说具有这个扩展名的文件可能并不是证书，比如说可能只是保存了私钥。&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;.pem&amp;lt;/tt&amp;gt; – {{link-en|隐私增强型电子邮件|Privacy-enhanced Electronic Mail}}格式，通常是[[Base64]]格式的。&lt;br /&gt;
* &amp;lt;tt&amp;gt;.cer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;.crt&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;.der&amp;lt;/tt&amp;gt; – 通常是{{link-en|DER|X.690#DER_encoding}}二进制格式的。&lt;br /&gt;
* &amp;lt;tt&amp;gt;.p7b&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;.p7c&amp;lt;/tt&amp;gt; – [[公钥密码学标准|PKCS#7]] SignedData structure without data, just certificate(s) or [[证书吊销列表|CRL]](s)&lt;br /&gt;
* &amp;lt;tt&amp;gt;.p12&amp;lt;/tt&amp;gt; – [[公钥密码学标准|PKCS#12]]格式，包含证书的同时可能还包含[[私钥]]&lt;br /&gt;
* &amp;lt;tt&amp;gt;.pfx&amp;lt;/tt&amp;gt; – PFX，PKCS#12之前的格式（通常用PKCS#12格式，比如由[[互聯網資訊服務]]产生的PFX文件）&lt;br /&gt;
&lt;br /&gt;
[[公钥密码学标准|PKCS#7]] 是签名或加密数据的格式标准，官方称之为容器。由于证书是可验真的签名数据，所以可以用SignedData结构表述。 &amp;lt;tt&amp;gt;.P7C&amp;lt;/tt&amp;gt;文件是退化的SignedData结构，没有包括签名的数据。{{citation needed|date=January 2012}}&lt;br /&gt;
&lt;br /&gt;
[[公钥密码学标准|PKCS#12]] 由PFX进化而来的用于交换公共的和私有的对象的标准格式。{{citation needed|date=January 2012}}&lt;br /&gt;
&lt;br /&gt;
==证书链和交叉认证==&lt;br /&gt;
{{see also|证书链}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;证书链&amp;#039;&amp;#039;&amp;#039;（也就是RFC 5280裡的证书路径）&amp;lt;ref name =&amp;quot;RFC 5280 Certification Path Validation&amp;quot;&amp;gt;{{cite book&lt;br /&gt;
  | title = Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile&lt;br /&gt;
  | publisher = Network Working Group&lt;br /&gt;
  | year = 2008&lt;br /&gt;
  | section = Certification Path Validation&lt;br /&gt;
  | url = http://tools.ietf.org/html/rfc5280#page-71&lt;br /&gt;
  | access-date = 2018-04-28&lt;br /&gt;
  | archive-date = 2018-03-15&lt;br /&gt;
  | archive-url = https://web.archive.org/web/20180315115721/https://tools.ietf.org/html/rfc5280#page-71&lt;br /&gt;
  | dead-url = no&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;是从终端使用者证书后跟着一系列的CA证书，而通常最后一个是自签名证书，并且有如下关系：&lt;br /&gt;
# 在证书链上除最后一个证书外，证书颁发者等于其后一个证书的主题。&lt;br /&gt;
# 除了最后一个证书，每个证书都是由其后的一个证书签名的。&lt;br /&gt;
# 最后的证书是[[信任主题]]，由于是通过可信过程得到的，你可以信任它。&lt;br /&gt;
&lt;br /&gt;
证书链用于检查目标证书（证书链裡的第一个证书）裡的公钥及其它数据是否属于其主题。检查是这么做的，用证书链中的下一个证书的公钥来验证它的签名，一直检查到证书链的尾端，如果所有验证都成功通过，那个这个证书就是可信的。&lt;br /&gt;
&lt;br /&gt;
下面是对RFC 5280裡定义的[[证书路径合法性算法]]的一个简要介绍&amp;lt;ref name=&amp;quot;RFC 5280 Certification Path Validation&amp;quot;/&amp;gt;，包括对证书的有效期、CRL等其它额外的检查。&lt;br /&gt;
&lt;br /&gt;
[[File:Cross-certification diagram.svg|thumb|350px|right|Example 1: 两个PKI之间的交叉认证]]&lt;br /&gt;
[[File:CA certificate renewal.png|frame|right|Example 2: CA证书更新]]&lt;br /&gt;
&lt;br /&gt;
对于具体的证书来说，有一点需要注意的是它可能存在于很不一样的两条或多条证书链中，并且都是合法的。这是因为CA证书可以来自多个颁发者，或者来自相同颁发者但用不同的私钥签发，这样在CA证书上会出现分叉，从而可以出现多条证书链。这也是PKI之间交叉认证和其它应用的关键所在。&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Understanding Certification Path Construction&amp;quot;&amp;gt;{{cite book&lt;br /&gt;
  |title=Understanding Certification Path Construction&lt;br /&gt;
  |date=September 2002&lt;br /&gt;
  |publisher=PKI Forum&lt;br /&gt;
  |last=Lloyd&lt;br /&gt;
  |first=Steve&lt;br /&gt;
  |url=http://www.oasis-pki.org/pdfs/Understanding_Path_construction-DS2.pdf&lt;br /&gt;
  |access-date=2018-04-28&lt;br /&gt;
  |archive-date=2019-02-04&lt;br /&gt;
  |archive-url=https://web.archive.org/web/20190204065002/http://www.oasis-pki.org/pdfs/Understanding_Path_construction-DS2.pdf&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
看下面的例子：&lt;br /&gt;
&lt;br /&gt;
在这两个图裡：&lt;br /&gt;
* 方块代表证书，加黑的是证书的主题名字。&lt;br /&gt;
* A → B 表示「A是由B签发的」（更确切地说，A是由B中所载公钥对应的私钥签署的）&lt;br /&gt;
* 相同颜色（透明色和白色除外）的证书具有相同的公钥&lt;br /&gt;
&lt;br /&gt;
===例1: 两个PKI之间的根证书交叉认证===&lt;br /&gt;
&lt;br /&gt;
为了让PKI2的用户证书也得到PKI1的信任，CA1生成一包含CA2公钥的证书cert2.1&amp;lt;ref&amp;gt;{{cite book&lt;br /&gt;
  |title=Qualified Subordination Deployment Scenarios&lt;br /&gt;
  |date=August 2009&lt;br /&gt;
  |publisher=Microsoft&lt;br /&gt;
  |section=Cross-Certification Between Root CAs&lt;br /&gt;
  |url=https://technet.microsoft.com/en-us/library/cc785267(v=ws.10).aspx&lt;br /&gt;
  |access-date=2018-04-28&lt;br /&gt;
  |archive-date=2016-04-30&lt;br /&gt;
  |archive-url=https://web.archive.org/web/20160430034734/https://technet.microsoft.com/en-us/library/cc785267(v=ws.10).aspx&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
这时候cert2和cert2.1具体相同的主题及公钥，cert2.2 (User 2)就有了两条合法的证书链：&amp;quot;cert2.2 → cert2&amp;quot; and &amp;quot;cert2.2 → cert2.1 → cert1&amp;quot;。&lt;br /&gt;
&lt;br /&gt;
CA2也可以生成类似的包含有CA1公钥的证书cert1.1，以便PKI1的用户(比如User 1)的证书能在PKI2得到认证。&lt;br /&gt;
&lt;br /&gt;
===例2: CA证书更新===&lt;br /&gt;
{{cite book&lt;br /&gt;
  |title=Understanding Certification Path Construction&lt;br /&gt;
  |date=September 2002&lt;br /&gt;
  |publisher=PKI Forum&lt;br /&gt;
  |url=http://www.oasis-pki.org/pdfs/Understanding_Path_construction-DS2.pdf&lt;br /&gt;
  |quote=为了证书颁发者从旧的私钥順利地转移到新的私钥，他可以颁发两个证书，其中一个是新的私钥对旧的公钥进行签名，另一个是旧的私钥对新的公钥的签名，这两个都是机构自己给自己颁发的证书，但都不是自签名证书。注：另外还存在新旧两个自签名证书。&lt;br /&gt;
  |access-date=2018-04-28&lt;br /&gt;
  |archive-date=2019-02-04&lt;br /&gt;
  |archive-url=https://web.archive.org/web/20190204065002/http://www.oasis-pki.org/pdfs/Understanding_Path_construction-DS2.pdf&lt;br /&gt;
  }}&lt;br /&gt;
&lt;br /&gt;
假设cert1和cert3具有相同的公钥，对于cert5来说有两条合法的证书链，cert5 → cert1 和 cert5 → cert3 → cert2, cert6的情况也类似。这样就允许老的用户证书可以在新旧两个根证书之间平滑转移。&amp;lt;ref name=&amp;quot; PKI Implementing and Managing E-Security&amp;quot;&amp;gt;&lt;br /&gt;
{{cite book&lt;br /&gt;
  |title=PKI: Implementing and Managing E-Security&lt;br /&gt;
  |url=https://archive.org/details/pkiimplementingm0000unse&lt;br /&gt;
  |year=2001&lt;br /&gt;
  |publisher=RSA Press - Osborne/McGraw-Hill&lt;br /&gt;
  |last1=Nash&lt;br /&gt;
  |last2=Duane&lt;br /&gt;
  |last3=Joseph&lt;br /&gt;
  |last4=Brink&lt;br /&gt;
  |isbn=0-07-213123-3&lt;br /&gt;
  |section=Key and Certificate Life Cycles. CA Certificate Renewal&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==X.509证书样例==&lt;br /&gt;
下面是[[GlobalSign]]颁发的用于wikipedia.org以及一些其它Wikipedia网站X.509证书。证书颁发者填在颁发者(Issuer)字段，主题内容裡是组织机构Wikipedia的描述，主题备用名称是那些采用该证书的服务器的主机名。主题公钥裡的信息表明采用的是[[椭圆曲线]]公共密钥，位于最后的签名算法表示它是由GlobalSign用其私钥并采用带[[RSA加密演算法|RSA]]加密的SHA-256算法进行签名的。&lt;br /&gt;
&lt;br /&gt;
===最终實體證書（或者叫叶子证书）===&lt;br /&gt;
   認證:&lt;br /&gt;
           版本: 3 (0x2)&lt;br /&gt;
         序號: 10:e6:fc:62:b7:41:8a:d5:00:5e:45:b6&lt;br /&gt;
       簽章演算法: sha256WithRSAEncryption&lt;br /&gt;
         發行者: C=BE, O=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2&lt;br /&gt;
       有效期開始時間: Nov 21 08:00:00 2016 GMT&lt;br /&gt;
       有效期結束時間: Nov 22 07:59:59 2017 GMT&lt;br /&gt;
          主體: C=US, ST=California, L=San Francisco, O=Wikimedia Foundation, Inc., CN=*.wikipedia.org&lt;br /&gt;
   主體公鑰信息(subject public key info):&lt;br /&gt;
             公鑰算法: id-ecPublicKey&lt;br /&gt;
          256位的公鑰:&lt;br /&gt;
                     04:c9:22:69:31:8a:d6:6c:ea:da:c3:7f:2c:ac:a5:&lt;br /&gt;
                     af:c0:02:ea:81:cb:65:b9:fd:0c:6d:46:5b:c9:1e:&lt;br /&gt;
                     ed:b2:ac:2a:1b:4a:ec:80:7b:e7:1a:51:e0:df:f7:&lt;br /&gt;
                     c7:4a:20:7b:91:4b:20:07:21:ce:cf:68:65:8c:c6:&lt;br /&gt;
                     9d:3b:ef:d5:c1&lt;br /&gt;
           ASN1 OID: prime256v1&lt;br /&gt;
           NIST CURVE: P-256&lt;br /&gt;
        額外資訊(extension):&lt;br /&gt;
           密鑰使用: &lt;br /&gt;
                敏感訊息(critical):是&lt;br /&gt;
                公鑰用途:數位簽章，密鑰協商Key Agreement&lt;br /&gt;
        授權相關訊息: &lt;br /&gt;
                敏感訊息(critical):否&lt;br /&gt;
                 頒發者URI:&amp;lt;nowiki&amp;gt;http://secure.globalsign.com/cacert/gsorganizationvalsha2g2r1.crt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   線上憑證狀態協定(OCSP)URI:&amp;lt;nowiki&amp;gt;http://ocsp2.globalsign.com/gsorganizationvalsha2g2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
          證書原則(Certificate Policies): &lt;br /&gt;
                敏感訊息(critical):否&lt;br /&gt;
           policy ID#1: 1.3.6.1.4.1.4146.1.20&lt;br /&gt;
            CPS URI: &amp;lt;nowiki&amp;gt;https://www.globalsign.com/repository/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
           policy ID#2: 2.23.140.1.2.2&lt;br /&gt;
 &lt;br /&gt;
           基本限制: &lt;br /&gt;
                 CA:FALSE&lt;br /&gt;
        憑證撤銷中心(X509v3 CRL Distribution Points): &lt;br /&gt;
                敏感訊息(critical):否&lt;br /&gt;
                URI:&amp;lt;nowiki&amp;gt;http://crl.globalsign.com/gs/gsorganizationvalsha2g2.crl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
        主體備用名稱: &lt;br /&gt;
                敏感訊息(critical):否&lt;br /&gt;
                DNS:*.wikipedia.org, DNS:*.m.mediawiki.org, DNS:*.m.wikibooks.org, DNS:*.m.wikidata.org, DNS:*.m.wikimedia.org, DNS:*.m.wikimediafoundation.org, DNS:*.m.wikinews.org, DNS:*.m.wikipedia.org, DNS:*.m.wikiquote.org, DNS:*.m.wikisource.org, DNS:*.m.wikiversity.org, DNS:*.m.wikivoyage.org, DNS:*.m.wiktionary.org, DNS:*.mediawiki.org, DNS:*.planet.wikimedia.org, DNS:*.wikibooks.org, DNS:*.wikidata.org, DNS:*.wikimedia.org, DNS:*.wikimediafoundation.org, DNS:*.wikinews.org, DNS:*.wikiquote.org, DNS:*.wikisource.org, DNS:*.wikiversity.org, DNS:*.wikivoyage.org, DNS:*.wiktionary.org, DNS:*.wmfusercontent.org, DNS:*.zero.wikipedia.org, DNS:mediawiki.org, DNS:w.wiki, DNS:wikibooks.org, DNS:wikidata.org, DNS:wikimedia.org, DNS:wikimediafoundation.org, DNS:wikinews.org, DNS:wikiquote.org, DNS:wikisource.org, DNS:wikiversity.org, DNS:wikivoyage.org, DNS:wiktionary.org, DNS:wmfusercontent.org, DNS:wikipedia.org&lt;br /&gt;
     &lt;br /&gt;
     (在額外訊息中的)密鑰使用目的:&lt;br /&gt;
                敏感訊息(critical):否&lt;br /&gt;
               目的1:TLS Web伺服器鑑定&lt;br /&gt;
               目的2:TLS Web客户端鑑定&lt;br /&gt;
     主體密鑰識別代碼(Subject Key Identifier): &lt;br /&gt;
                敏感訊息(critical):否&lt;br /&gt;
                密鑰id: 28:2A:26:2A:57:8B:3B:CE:B4:D6:AB:54:EF:D7:38:21:2C:49:5C:36&lt;br /&gt;
     授權密鑰識別代碼(X509v3 Authority Key Identifier): &lt;br /&gt;
                敏感訊息(critical):否&lt;br /&gt;
                密鑰id:96:DE:61:F1:BD:1C:16:29:53:1C:C0:CC:7D:3B:83:00:40:E6:1A:7C&lt;br /&gt;
 &lt;br /&gt;
         簽章算法: sha256WithRSAEncryption&lt;br /&gt;
              數位簽章: 8b:c3:ed:d1:9d:39:6f:af:40:72:bd:1e:18:5e:30:54:23:35:&lt;br /&gt;
          ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
要验证这个证书，我们需要一个跟该证书颁发者及授权密钥标识符&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|颁发者&lt;br /&gt;
|C=BE, O=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2&lt;br /&gt;
|-&lt;br /&gt;
|授权密钥标识符&lt;br /&gt;
|96:DE:61:F1:BD:1C:16:29:53:1C:C0:CC:7D:3B:83:00:40:E6:1A:7C&lt;br /&gt;
|}都匹配的中间证书&lt;br /&gt;
配置正确的服务器可以在TLS连接建立的握手阶段同时提供其中间证书。但是也有可能需要根据证书裡颁发者的URL去取得中间证书。&lt;br /&gt;
&lt;br /&gt;
===中间证书===&lt;br /&gt;
&lt;br /&gt;
下面是[[证书颁发机构]]的证书示例。该证书是由下例根证书签名的用于颁发上例最终实体证书的证书。当然它的主题标识符跟上例证书的授权密钥标识符是相匹配的。&lt;br /&gt;
  证书:&lt;br /&gt;
           版本: 3 (0x2)&lt;br /&gt;
         序列号: 04:00:00:00:00:01:44:4e:f0:42:47&lt;br /&gt;
       签名算法: sha256WithRSAEncryption&lt;br /&gt;
         颁发者: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA&lt;br /&gt;
       此前无效: Feb 20 10:00:00 2014 GMT&lt;br /&gt;
       此后无效: Feb 20 10:00:00 2024 GMT&lt;br /&gt;
          主题: C=BE, O=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2&lt;br /&gt;
   主题公钥信息:&lt;br /&gt;
             公钥算法: rsaEncryption&lt;br /&gt;
         2048位的公钥:&lt;br /&gt;
                     00:c7:0e:6c:3f:23:93:7f:cc:70:a5:9d:20:c3:0e:&lt;br /&gt;
                     ...&lt;br /&gt;
                指数: 65537 (0x10001)&lt;br /&gt;
   X509 v3扩展:&lt;br /&gt;
    X509v3 密钥使用: &lt;br /&gt;
                关键:是&lt;br /&gt;
                用于:证书签名, CRL签名&lt;br /&gt;
           基本约束:&lt;br /&gt;
                关键:是&lt;br /&gt;
         证书颁发机构:是&lt;br /&gt;
         路径长度限制:0&lt;br /&gt;
     主题密钥标识符: &lt;br /&gt;
                关键:否&lt;br /&gt;
                 密钥: 96:DE:61:F1:BD:1C:16:29:53:1C:C0:CC:7D:3B:83:00:40:E6:1A:7C&lt;br /&gt;
                 96:DE:61:F1:BD:1C:16:29:53:1C:C0:CC:7D:3B:83:00:40:E6:1A:7C&lt;br /&gt;
         证书策略:&lt;br /&gt;
                关键:否&lt;br /&gt;
                策略1: 任何策略标识符&lt;br /&gt;
             CPS URI: &amp;lt;nowiki&amp;gt;https://www.globalsign.com/repository/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
      CRL 分发点:&lt;br /&gt;
                关键:否&lt;br /&gt;
                 URI:&amp;lt;nowiki&amp;gt;http://crl.globalsign.net/root.crl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
        授权相关信息: &lt;br /&gt;
                关键:否&lt;br /&gt;
   在线证书状态协议(OCSP)URI:&amp;lt;nowiki&amp;gt;http://ocsp.globalsign.com/rootr1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
      授权密钥标识符:&lt;br /&gt;
                关键:否&lt;br /&gt;
                     密钥:60:7B:66:1A:45:0D:97:CA:89:50:2F:7D:04:CD:34:A8:FF:FC:FD:4B&lt;br /&gt;
 &lt;br /&gt;
         签名算法: sha256WithRSAEncryption&lt;br /&gt;
              数字签名:46:2a:ee:5e:bd:ae:01:60:37:31:11:86:71:74:b6:46:49:c8:&lt;br /&gt;
          ...&lt;br /&gt;
&lt;br /&gt;
=== 根证书 ===&lt;br /&gt;
下面是证书颁发机构的自签名根证书。它的颁发者和主题是相同的，可以用自身的公钥进行合法认证。证书认证过程也将在此终止。如果应用已经在它的可信公钥存贮裡已经含有该公钥证书，那么TLS连接时的那个最终实体证书是可信的，否则就是不可信的。&lt;br /&gt;
  证书:&lt;br /&gt;
           版本: 3 (0x2)&lt;br /&gt;
         序列号: 04:00:00:00:00:01:15:4b:5a:c3:94&lt;br /&gt;
     Signature Algorithm: sha1WithRSAEncryption&lt;br /&gt;
         Issuer: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA&lt;br /&gt;
         Validity&lt;br /&gt;
             Not Before: Sep  1 12:00:00 1998 GMT&lt;br /&gt;
             Not After : Jan 28 12:00:00 2028 GMT&lt;br /&gt;
         Subject: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA&lt;br /&gt;
         Subject Public Key Info:&lt;br /&gt;
             Public Key Algorithm: rsaEncryption&lt;br /&gt;
                 Public-Key: (2048 bit)&lt;br /&gt;
                 Modulus:&lt;br /&gt;
                     00:da:0e:e6:99:8d:ce:a3:e3:4f:8a:7e:fb:f1:8b:&lt;br /&gt;
                     ...&lt;br /&gt;
                 Exponent: 65537 (0x10001)&lt;br /&gt;
         X509v3 extensions:&lt;br /&gt;
             X509v3 Key Usage: critical&lt;br /&gt;
                 Certificate Sign, CRL Sign&lt;br /&gt;
             X509v3 Basic Constraints: critical&lt;br /&gt;
                 CA:TRUE&lt;br /&gt;
             X509v3 Subject Key Identifier: &lt;br /&gt;
                 60:7B:66:1A:45:0D:97:CA:89:50:2F:7D:04:CD:34:A8:FF:FC:FD:4B&lt;br /&gt;
     Signature Algorithm: sha1WithRSAEncryption&lt;br /&gt;
          d6:73:e7:7c:4f:76:d0:8d:bf:ec:ba:a2:be:34:c5:28:32:b5:&lt;br /&gt;
          ...&lt;br /&gt;
&lt;br /&gt;
==安全性==&lt;br /&gt;
[[布鲁斯·施奈尔]]、[[彼得·古特曼]]及其他安全专家已经发布了很多PKI的安全问题。&lt;br /&gt;
&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
    | url = https://www.schneier.com/paper-pki.pdf&lt;br /&gt;
    | title = Top 10 PKI risks&lt;br /&gt;
    | author = Carl Ellison and Bruce Schneier&lt;br /&gt;
    | publisher = Computer Security Journal (Volume XVI, Number 1, 2000)&lt;br /&gt;
    | accessdate = 2018-04-28&lt;br /&gt;
    | archive-date = 2015-11-24&lt;br /&gt;
    | archive-url = https://web.archive.org/web/20151124191828/https://www.schneier.com/paper-pki.pdf&lt;br /&gt;
    | dead-url = yes&lt;br /&gt;
    }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;pkinotdead&amp;quot;&amp;gt;{{cite web&lt;br /&gt;
    | url = http://www.cs.auckland.ac.nz/~pgut001/pubs/notdead.pdf&lt;br /&gt;
    | title = PKI: it&amp;#039;s not dead, just resting&lt;br /&gt;
    | author = Peter Gutmann&lt;br /&gt;
    | publisher = IEEE Computer (Volume:35, Issue: 8)&lt;br /&gt;
    | accessdate = 2018-04-28&lt;br /&gt;
    | archive-date = 2018-01-29&lt;br /&gt;
    | archive-url = https://web.archive.org/web/20180129075349/https://www.cs.auckland.ac.nz/~pgut001/pubs/notdead.pdf&lt;br /&gt;
    | dead-url = no&lt;br /&gt;
    }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;gutmann1&amp;quot;&amp;gt;{{cite web&lt;br /&gt;
    |last=Gutmann&lt;br /&gt;
    |first=Peter&lt;br /&gt;
    |title=Everything you Never Wanted to Know about PKI but were Forced to Find Out&lt;br /&gt;
    |url=http://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf&lt;br /&gt;
    |accessdate=14 November 2011&lt;br /&gt;
    |archive-url=https://web.archive.org/web/20110607040159/http://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf&lt;br /&gt;
    |archive-date=2011-06-07&lt;br /&gt;
    |dead-url=yes&lt;br /&gt;
    }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===架构的弱点===&lt;br /&gt;
* 采用黑名单方式的证书吊销列表([[证书吊销列表|CRL]])和在线证书状态协议([[OCSP]])&lt;br /&gt;
** 如果客户端仅信任在CRL可用的时候信任证书，那就失去离线信任的需求。因此通常客户端会在CRL不可用的情况下信任证书，因而给了那些可以控制信道的攻击者可乘之机。如谷歌的Adam Langley所说，对CRL的检查就像在关键时刻断开的安全带&amp;lt;ref&amp;gt;{{cite web|last1=Langley|first1=Adam|title=Revocation checking and Chrome&amp;#039;s CRL (05 Feb 2012)|url=https://www.imperialviolet.org/2012/02/05/crlsets.html|website=Imperial Violet|accessdate=2 February 2017|archive-date=2012-02-12|archive-url=https://web.archive.org/web/20120212014932/http://www.imperialviolet.org/|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*在大范围及复杂的分布模式下选用CRL并不明智&lt;br /&gt;
*OCSP由于没有吊销状态的历史记录也会出现歧义&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;聚合问题&amp;#039;&amp;#039;&amp;#039;{{Explain|date=2018年3月}}&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;代表问题&amp;#039;&amp;#039;&amp;#039;：证书颁发机构没办法限制其下属颁发的证书作出名字及属性方面的限制。而且在Internet上存在着相当多的证书颁发机构，想对他们进行分类和策略上的限制是一项不可能完成的任务。&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;分布问题&amp;#039;&amp;#039;&amp;#039;：证书链引的下属颁发机构，桥接颁发机构以及交叉认证使得证书验证变得非常复杂，需要付出很大的代价。层次式的第三方信任模型作为一种唯一的模型的话，路径验证也可能出现含糊不明的情况岐义，这对于已经建立双边信任也很不方便。&lt;br /&gt;
*发布一个对主机名的扩展验证并不能防止再发布一个验证要求低一些的适用于同一个主机名的证书。这就造成了不能对中间人攻击的有效保护&amp;lt;ref&amp;gt;{{Cite web |url=https://www.blackhat.com/presentations/bh-usa-09/SOTIROV/BHUSA09-Sotirov-AttackExtSSL-PAPER.pdf |title=Zusman and Sotirov Blackhat 2009 |access-date=2018-04-28 |archive-date=2016-10-07 |archive-url=https://web.archive.org/web/20161007172002/https://www.blackhat.com/presentations/bh-usa-09/SOTIROV/BHUSA09-Sotirov-AttackExtSSL-PAPER.pdf }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===证书颁发机构问题===&lt;br /&gt;
* 即使主题实体购买了扩展验证的证书，他的付出也并不能得到相应的回报，因为这并不能阻止通过更便宜的证书颁发机构购买相同主题内容的证书的行为&lt;br /&gt;
* 证书颁发机构不能给用户提供主题甚至组织团体上的担保，无法阻止同名证书&lt;br /&gt;
* 证书有效期应该限制在密钥强度可保护的范围内。但这个字段却被证书颁发机构误用为收费依据从而让用户处于密钥可能被破解的情况下&lt;br /&gt;
* 「如果用户通过一种未定义的证书请求协议去获得子一个地址不明的，不存在于任何目录下的证书，那么你也没办法吊销这个证书。」&amp;lt;ref name=&amp;quot;gutmann1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
==外部連結==&lt;br /&gt;
* [http://www.itu.int/rec/T-REC-X.509/en ITU-T Recommendation X.509 : Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks] {{Wayback|url=http://www.itu.int/rec/T-REC-X.509/en |date=20180413044104 }}&lt;br /&gt;
&lt;br /&gt;
{{TLS和SSL}}&lt;br /&gt;
{{Authority control}}&lt;br /&gt;
[[Category:密碼學標準]]&lt;br /&gt;
[[Category:加密协议]]&lt;br /&gt;
[[Category:ITU-T建议书]]&lt;br /&gt;
[[Category:公钥密码学]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Longdearalk</name></author>
	</entry>
</feed>