CA基本常识:X.509标准
上一篇 / 下一篇 2007-07-30 22:08:50 / 个人分类:其他
原文连接: http://www.cnblogs.com/bjrmt/archive/2006/08/17/479728.html
J8fXV[3`051Testing软件测试网5YcH4X.J?,F0[ pa_
在和CA进行一些接触时,我们常常会听到一个名词: X.509。它是一种行业标准或者行业解决方案,在X.509方案中,默认的加密体制是公钥密码体制。为进行身份认证,X.509标准及公共密钥加密系统提供了数字签名的方案。用户可生成一段信息及其摘要(亦称作信息"指纹")。用户用专用密钥对摘要加密以形成签名,接收者用发送者的公共密钥对签名解密,并将之与收到的信息"指纹"进行比较,以确定其真实性。51Testing软件测试网 x Cg+W4T(BY
此问题的解决方案即X.509标准与公共密钥证书。本质上,证书由公共密钥加密钥拥有者的用户标识组成,整个字块有可信赖的第三方签名。典型的第三方即大型用户群体(如政府机关或金融机构)所信赖的CA。
9e)H:Hx&fzF0 此外,X.509标准还提供了一种标准格式CRL,下面我们就来看一看 X.509标准下的证书格式极其扩展。51Testing软件测试网XCat%y4L
目前X.509有不同的版本,例如 X.509 V2和x.509 v3都是目前比较新的版本,但是都在原有版本(X.509 V1)的基础上进行功能的扩充,其中每一版本必须包含下列信息:
P(R#_"vr)z^r!CO0 (1) 版本号51Testing软件测试网,W,h mus7e
(2) 序列号;51Testing软件测试网tP j;pS['W
(3) 签名算法标识符
8QgLh1N0 (4) 认证机构
2@0Y@@ xk x p/|0 (5) 有效期限
k"M!D ~G9n0 (6) 主题信息
lB``0O,p6J IM}0 (7) 认证机构的数字签名51Testing软件测试网qa9O1lv:u
(8) 公钥信息
i9`s*f*v?]v$g01、版本号:
oNF$q4_!E\p0用来区分X.509的不同版本号51Testing软件测试网e9Ni1J9j1U ]U.r'_ [
2、序列号;
3b7K[b%{.i'G0由CA给予每一个证书的分配唯一的数字型编号,当证书被取消时,实际上是将此证书的序列号放入由CA签发的CRL中;这也是序列号唯一的原因。
h3Y GK1gQ [8x I/M03、签名算法标识符:
Z[e['gsrc0用来指定用CA签发证书时所使用的签名算法。算法标识符用来指定CA签发证书时所使用的公开密钥算法和HASH算法,须向国际指明标准组织(如ISO)注册。51Testing软件测试网"U2ftq&Re6J2O~
4、认证机构:
0d;X$a8`Zm0即发出该证书的机构唯一的CA的x.500名字;
H7C%p1|c"P05、有效期限:51Testing软件测试网)RS?F0p$^:h
证书有效的时间包括两个日期:证书开始生效期和证书失效的日期和时间。在所指定的这两个时间之间有效;
ZzPXS06、主题信息:51Testing软件测试网vo5L3pc [
证书持有人的姓名、服务处所等信息;
(n2B#aZ9~%|x07、认证机构的数字签名:
@ `W,n8gl0以确保这个证书在发放之后没有被撰改过;51Testing软件测试网;a#ap B3T,o
8、公钥信息:
3YT)o5?I#e0包括被证明有效的公钥值和加上使用这个公钥的方法名称;51Testing软件测试网 |mMn8DdE,sm
X.509的扩展(V3)
B.T2RzD3{&Pgw0 X.509标准第三版在V2的基础上进行了扩展,V3引进一种机制。这种机制允许通过标准化和类的方式将证书进行扩展包括额外的信息,从而适应下面的一些要求一: 51Testing软件测试网,l}mqj-Cw
(1)一个证书主体可以有多个证书;51Testing软件测试网J5S%}+}@2tH&Pu
(2)证书主体可以被多个组织或社团的其他用户识别;51Testing软件测试网7K6EZ+UDzT#[
(3)可按特定的应用名(不是X.500名)识别用户,如将公钥同EMAIL地址联系起来;51Testing软件测试网I7OWf"N\}!h5@_
(4)在不同证书政策和实用下会发放不同的证书,这就要求公钥用户要信赖证书;证书并不限于这些标准扩展,任何人都可以向适当的权利机构注册一种扩展。将来会有更多的适于应用的扩展列入标准扩展集中。值得注意的是这种扩展机制应该是完全可以继承的。
@8Lis L0 每一种扩展包括三个域:类型、可否缺省、值51Testing软件测试网!b:lJ&}#jG4m
类型字段定义了扩展值字段中的数据类型。这个类型可以是简单的字符串,数值,日期,图片或一个复杂的数据类型。为便于交互,所有的数据类型都应该在国际知名组织进行注册。51Testing软件测试网9q$[ QW'rG
是否可缺省字段是一比特标识位。当一扩展标识为不可缺省时,说明相应的扩展值非常重要,应用程序不能忽略这个信息。如果使用一特殊证书的应用程序不能处理该字段的内容,就应该拒绝此证书。 51Testing软件测试网.bmx5} ]UHV(IR
扩展值字段包含了这个扩展实际的数据。 51Testing软件测试网4B%D/F*U"Vk
公开密钥证书的标准扩展可以分为以下几组: 51Testing软件测试网IME&nZ
· 密钥和政策信息,包括机构密钥识别符、主体密钥识别符、密钥用途(如数字签字,不可否认性 、密钥加密、数据加密、密钥协商、证书签字、CRL签字等),密钥使用期限等;
uk(y8YS3e0 · 主体和发证人属性,包括主体代用名、发证者代用名、主体检索属性等; 51Testing软件测试网'y"C;b'X&bsE
· 证书通路约束,包括基本约束,指明是否可以做证书机构。 51Testing软件测试网ycH(h9Z5b
· 与CRL有关的补充;
J8fXV[3`051Testing软件测试网5YcH4X.J?,F0[ pa_
在和CA进行一些接触时,我们常常会听到一个名词: X.509。它是一种行业标准或者行业解决方案,在X.509方案中,默认的加密体制是公钥密码体制。为进行身份认证,X.509标准及公共密钥加密系统提供了数字签名的方案。用户可生成一段信息及其摘要(亦称作信息"指纹")。用户用专用密钥对摘要加密以形成签名,接收者用发送者的公共密钥对签名解密,并将之与收到的信息"指纹"进行比较,以确定其真实性。51Testing软件测试网 x Cg+W4T(BY
此问题的解决方案即X.509标准与公共密钥证书。本质上,证书由公共密钥加密钥拥有者的用户标识组成,整个字块有可信赖的第三方签名。典型的第三方即大型用户群体(如政府机关或金融机构)所信赖的CA。
9e)H:Hx&fzF0 此外,X.509标准还提供了一种标准格式CRL,下面我们就来看一看 X.509标准下的证书格式极其扩展。51Testing软件测试网XCat%y4L
目前X.509有不同的版本,例如 X.509 V2和x.509 v3都是目前比较新的版本,但是都在原有版本(X.509 V1)的基础上进行功能的扩充,其中每一版本必须包含下列信息:
P(R#_"vr)z^r!CO0 (1) 版本号51Testing软件测试网,W,h mus7e
(2) 序列号;51Testing软件测试网tP j;pS['W
(3) 签名算法标识符
8QgLh1N0 (4) 认证机构
2@0Y@@ xk x p/|0 (5) 有效期限
k"M!D ~G9n0 (6) 主题信息
lB``0O,p6J IM}0 (7) 认证机构的数字签名51Testing软件测试网qa9O1lv:u
(8) 公钥信息
i9`s*f*v?]v$g01、版本号:
oNF$q4_!E\p0用来区分X.509的不同版本号51Testing软件测试网e9Ni1J9j1U ]U.r'_ [
2、序列号;
3b7K[b%{.i'G0由CA给予每一个证书的分配唯一的数字型编号,当证书被取消时,实际上是将此证书的序列号放入由CA签发的CRL中;这也是序列号唯一的原因。
h3Y GK1gQ [8x I/M03、签名算法标识符:
Z[e['gsrc0用来指定用CA签发证书时所使用的签名算法。算法标识符用来指定CA签发证书时所使用的公开密钥算法和HASH算法,须向国际指明标准组织(如ISO)注册。51Testing软件测试网"U2ftq&Re6J2O~
4、认证机构:
0d;X$a8`Zm0即发出该证书的机构唯一的CA的x.500名字;
H7C%p1|c"P05、有效期限:51Testing软件测试网)RS?F0p$^:h
证书有效的时间包括两个日期:证书开始生效期和证书失效的日期和时间。在所指定的这两个时间之间有效;
ZzPXS06、主题信息:51Testing软件测试网vo5L3pc [
证书持有人的姓名、服务处所等信息;
(n2B#aZ9~%|x07、认证机构的数字签名:
@ `W,n8gl0以确保这个证书在发放之后没有被撰改过;51Testing软件测试网;a#ap B3T,o
8、公钥信息:
3YT)o5?I#e0包括被证明有效的公钥值和加上使用这个公钥的方法名称;51Testing软件测试网 |mMn8DdE,sm
X.509的扩展(V3)
B.T2RzD3{&Pgw0 X.509标准第三版在V2的基础上进行了扩展,V3引进一种机制。这种机制允许通过标准化和类的方式将证书进行扩展包括额外的信息,从而适应下面的一些要求一: 51Testing软件测试网,l}mqj-Cw
(1)一个证书主体可以有多个证书;51Testing软件测试网J5S%}+}@2tH&Pu
(2)证书主体可以被多个组织或社团的其他用户识别;51Testing软件测试网7K6EZ+UDzT#[
(3)可按特定的应用名(不是X.500名)识别用户,如将公钥同EMAIL地址联系起来;51Testing软件测试网I7OWf"N\}!h5@_
(4)在不同证书政策和实用下会发放不同的证书,这就要求公钥用户要信赖证书;证书并不限于这些标准扩展,任何人都可以向适当的权利机构注册一种扩展。将来会有更多的适于应用的扩展列入标准扩展集中。值得注意的是这种扩展机制应该是完全可以继承的。
@8Lis L0 每一种扩展包括三个域:类型、可否缺省、值51Testing软件测试网!b:lJ&}#jG4m
类型字段定义了扩展值字段中的数据类型。这个类型可以是简单的字符串,数值,日期,图片或一个复杂的数据类型。为便于交互,所有的数据类型都应该在国际知名组织进行注册。51Testing软件测试网9q$[ QW'rG
是否可缺省字段是一比特标识位。当一扩展标识为不可缺省时,说明相应的扩展值非常重要,应用程序不能忽略这个信息。如果使用一特殊证书的应用程序不能处理该字段的内容,就应该拒绝此证书。 51Testing软件测试网.bmx5} ]UHV(IR
扩展值字段包含了这个扩展实际的数据。 51Testing软件测试网4B%D/F*U"Vk
公开密钥证书的标准扩展可以分为以下几组: 51Testing软件测试网IME&nZ
· 密钥和政策信息,包括机构密钥识别符、主体密钥识别符、密钥用途(如数字签字,不可否认性 、密钥加密、数据加密、密钥协商、证书签字、CRL签字等),密钥使用期限等;
uk(y8YS3e0 · 主体和发证人属性,包括主体代用名、发证者代用名、主体检索属性等; 51Testing软件测试网'y"C;b'X&bsE
· 证书通路约束,包括基本约束,指明是否可以做证书机构。 51Testing软件测试网ycH(h9Z5b
· 与CRL有关的补充;
X.509是国际标准化组织CCITT建议作为X.500目录检索的一部分提供安全目录检索服务。一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息一种非常通用的证书格式,所有的证书都符合X.509 国际标准。目前X.509有不同的版本,例如 X.509 V2和x.509 v3都是目前比较新的版本,但是都在原有版本基础上进行功能的扩充,其中每一版本必须包含下列信息: