CA基本常识:X.509标准
上一篇 / 下一篇 2007-09-14 22:06:17 / 个人分类:其他
原文连接: http://www.cnblogs.com/bjrmt/archive/2006/08/17/479728.html51Testing软件测试网0YKa7M.|1[&? @ I6p
51Testing软件测试网FZ S%V4O'H6n,D-@
在和CA进行一些接触时,我们常常会听到一个名词: X.509。它是一种行业标准或者行业解决方案,在X.509方案中,默认的加密体制是公钥密码体制。为进行身份认证,X.509标准及公共密钥加密系统提供了数字签名的方案。用户可生成一段信息及其摘要(亦称作信息"指纹")。用户用专用密钥对摘要加密以形成签名,接收者用发送者的公共密钥对签名解密,并将之与收到的信息"指纹"进行比较,以确定其真实性。
kG$A8_I B(`0 此问题的解决方案即X.509标准与公共密钥证书。本质上,证书由公共密钥加密钥拥有者的用户标识组成,整个字块有可信赖的第三方签名。典型的第三方即大型用户群体(如政府机关或金融机构)所信赖的CA。51Testing软件测试网,W*k,UA*~4O X y9h
此外,X.509标准还提供了一种标准格式CRL,下面我们就来看一看 X.509标准下的证书格式极其扩展。51Testing软件测试网aZ0U;[s(VpaU
目前X.509有不同的版本,例如 X.509 V2和x.509 v3都是目前比较新的版本,但是都在原有版本(X.509 V1)的基础上进行功能的扩充,其中每一版本必须包含下列信息: 51Testing软件测试网P}LF(N#^
(1) 版本号
q(o3U0~wURl0 (2) 序列号;51Testing软件测试网;~%wH8U#mg.x
(3) 签名算法标识符51Testing软件测试网3}!T}e@?X
(4) 认证机构51Testing软件测试网-hZp"i6N[?d
(5) 有效期限51Testing软件测试网sk1?)E~9ku2g
(6) 主题信息51Testing软件测试网-a+_Q vyN0U{#L
(7) 认证机构的数字签名
s2a}2y*vT0 (8) 公钥信息51Testing软件测试网Q$`C%`(x^3Rp:z
1、版本号:51Testing软件测试网4|%O@m"\
用来区分X.509的不同版本号51Testing软件测试网Ea:ep.z)@t
2、序列号;51Testing软件测试网 mVH){1\O
由CA给予每一个证书的分配唯一的数字型编号,当证书被取消时,实际上是将此证书的序列号放入由CA签发的CRL中;这也是序列号唯一的原因。51Testing软件测试网^v1v:YM`
3、签名算法标识符:51Testing软件测试网f@)n4u/Q3O5V&o
用来指定用CA签发证书时所使用的签名算法。算法标识符用来指定CA签发证书时所使用的公开密钥算法和HASH算法,须向国际指明标准组织(如ISO)注册。
%z x5|/F){.J04、认证机构:51Testing软件测试网#w-Q6E2f d!OA
即发出该证书的机构唯一的CA的x.500名字;51Testing软件测试网Hu7A4mY
5、有效期限:
!D Luu!t(vu V!H7i0证书有效的时间包括两个日期:证书开始生效期和证书失效的日期和时间。在所指定的这两个时间之间有效;
T0i5p e+VR$C06、主题信息:51Testing软件测试网Bi$~.nJ
证书持有人的姓名、服务处所等信息;51Testing软件测试网B9f$T(R+kF(v2e0\%i
7、认证机构的数字签名:51Testing软件测试网P/vrBP
以确保这个证书在发放之后没有被撰改过;51Testing软件测试网)RTo)?)ls0sWo:S
8、公钥信息:
2V]g`CMQNr6vf0包括被证明有效的公钥值和加上使用这个公钥的方法名称;
X1}s0Rs~S(H0 X.509的扩展(V3)
KX8@L _8G Do0 X.509标准第三版在V2的基础上进行了扩展,V3引进一种机制。这种机制允许通过标准化和类的方式将证书进行扩展包括额外的信息,从而适应下面的一些要求一: 51Testing软件测试网2B9U t\H_0Q%w
(1)一个证书主体可以有多个证书;51Testing软件测试网8lur,ms)hs
(2)证书主体可以被多个组织或社团的其他用户识别;51Testing软件测试网A.M:?;U}
(3)可按特定的应用名(不是X.500名)识别用户,如将公钥同EMAIL地址联系起来;
m2Lu Ama0 (4)在不同证书政策和实用下会发放不同的证书,这就要求公钥用户要信赖证书;证书并不限于这些标准扩展,任何人都可以向适当的权利机构注册一种扩展。将来会有更多的适于应用的扩展列入标准扩展集中。值得注意的是这种扩展机制应该是完全可以继承的。
;Uc@ YOR0 每一种扩展包括三个域:类型、可否缺省、值51Testing软件测试网@@Q!GMMl
类型字段定义了扩展值字段中的数据类型。这个类型可以是简单的字符串,数值,日期,图片或一个复杂的数据类型。为便于交互,所有的数据类型都应该在国际知名组织进行注册。
#F%G3H&k(n/v] w0 是否可缺省字段是一比特标识位。当一扩展标识为不可缺省时,说明相应的扩展值非常重要,应用程序不能忽略这个信息。如果使用一特殊证书的应用程序不能处理该字段的内容,就应该拒绝此证书。
:n`T)s w sF(r0扩展值字段包含了这个扩展实际的数据。 51Testing软件测试网H S kVh+B*OJ
公开密钥证书的标准扩展可以分为以下几组: 51Testing软件测试网 tpzr&U(a8z
· 密钥和政策信息,包括机构密钥识别符、主体密钥识别符、密钥用途(如数字签字,不可否认性 、密钥加密、数据加密、密钥协商、证书签字、CRL签字等),密钥使用期限等;
A2kn${"j,e1e5H1\0 · 主体和发证人属性,包括主体代用名、发证者代用名、主体检索属性等; 51Testing软件测试网8eB)B%G7n
· 证书通路约束,包括基本约束,指明是否可以做证书机构。
G6~ N+R7cO;]+v#PjZu0 · 与CRL有关的补充;
51Testing软件测试网FZ S%V4O'H6n,D-@
在和CA进行一些接触时,我们常常会听到一个名词: X.509。它是一种行业标准或者行业解决方案,在X.509方案中,默认的加密体制是公钥密码体制。为进行身份认证,X.509标准及公共密钥加密系统提供了数字签名的方案。用户可生成一段信息及其摘要(亦称作信息"指纹")。用户用专用密钥对摘要加密以形成签名,接收者用发送者的公共密钥对签名解密,并将之与收到的信息"指纹"进行比较,以确定其真实性。
kG$A8_I B(`0 此问题的解决方案即X.509标准与公共密钥证书。本质上,证书由公共密钥加密钥拥有者的用户标识组成,整个字块有可信赖的第三方签名。典型的第三方即大型用户群体(如政府机关或金融机构)所信赖的CA。51Testing软件测试网,W*k,UA*~4O X y9h
此外,X.509标准还提供了一种标准格式CRL,下面我们就来看一看 X.509标准下的证书格式极其扩展。51Testing软件测试网aZ0U;[s(VpaU
目前X.509有不同的版本,例如 X.509 V2和x.509 v3都是目前比较新的版本,但是都在原有版本(X.509 V1)的基础上进行功能的扩充,其中每一版本必须包含下列信息: 51Testing软件测试网P}LF(N#^
(1) 版本号
q(o3U0~wURl0 (2) 序列号;51Testing软件测试网;~%wH8U#mg.x
(3) 签名算法标识符51Testing软件测试网3}!T}e@?X
(4) 认证机构51Testing软件测试网-hZp"i6N[?d
(5) 有效期限51Testing软件测试网sk1?)E~9ku2g
(6) 主题信息51Testing软件测试网-a+_Q vyN0U{#L
(7) 认证机构的数字签名
s2a}2y*vT0 (8) 公钥信息51Testing软件测试网Q$`C%`(x^3Rp:z
1、版本号:51Testing软件测试网4|%O@m"\
用来区分X.509的不同版本号51Testing软件测试网Ea:ep.z)@t
2、序列号;51Testing软件测试网 mVH){1\O
由CA给予每一个证书的分配唯一的数字型编号,当证书被取消时,实际上是将此证书的序列号放入由CA签发的CRL中;这也是序列号唯一的原因。51Testing软件测试网^v1v:YM`
3、签名算法标识符:51Testing软件测试网f@)n4u/Q3O5V&o
用来指定用CA签发证书时所使用的签名算法。算法标识符用来指定CA签发证书时所使用的公开密钥算法和HASH算法,须向国际指明标准组织(如ISO)注册。
%z x5|/F){.J04、认证机构:51Testing软件测试网#w-Q6E2f d!OA
即发出该证书的机构唯一的CA的x.500名字;51Testing软件测试网Hu7A4mY
5、有效期限:
!D Luu!t(vu V!H7i0证书有效的时间包括两个日期:证书开始生效期和证书失效的日期和时间。在所指定的这两个时间之间有效;
T0i5p e+VR$C06、主题信息:51Testing软件测试网Bi$~.nJ
证书持有人的姓名、服务处所等信息;51Testing软件测试网B9f$T(R+kF(v2e0\%i
7、认证机构的数字签名:51Testing软件测试网P/vrBP
以确保这个证书在发放之后没有被撰改过;51Testing软件测试网)RTo)?)ls0sWo:S
8、公钥信息:
2V]g`CMQNr6vf0包括被证明有效的公钥值和加上使用这个公钥的方法名称;
X1}s0Rs~S(H0 X.509的扩展(V3)
KX8@L _8G Do0 X.509标准第三版在V2的基础上进行了扩展,V3引进一种机制。这种机制允许通过标准化和类的方式将证书进行扩展包括额外的信息,从而适应下面的一些要求一: 51Testing软件测试网2B9U t\H_0Q%w
(1)一个证书主体可以有多个证书;51Testing软件测试网8lur,ms)hs
(2)证书主体可以被多个组织或社团的其他用户识别;51Testing软件测试网A.M:?;U}
(3)可按特定的应用名(不是X.500名)识别用户,如将公钥同EMAIL地址联系起来;
m2Lu Ama0 (4)在不同证书政策和实用下会发放不同的证书,这就要求公钥用户要信赖证书;证书并不限于这些标准扩展,任何人都可以向适当的权利机构注册一种扩展。将来会有更多的适于应用的扩展列入标准扩展集中。值得注意的是这种扩展机制应该是完全可以继承的。
;Uc@ YOR0 每一种扩展包括三个域:类型、可否缺省、值51Testing软件测试网@@Q!GMMl
类型字段定义了扩展值字段中的数据类型。这个类型可以是简单的字符串,数值,日期,图片或一个复杂的数据类型。为便于交互,所有的数据类型都应该在国际知名组织进行注册。
#F%G3H&k(n/v] w0 是否可缺省字段是一比特标识位。当一扩展标识为不可缺省时,说明相应的扩展值非常重要,应用程序不能忽略这个信息。如果使用一特殊证书的应用程序不能处理该字段的内容,就应该拒绝此证书。
:n`T)s w sF(r0扩展值字段包含了这个扩展实际的数据。 51Testing软件测试网H S kVh+B*OJ
公开密钥证书的标准扩展可以分为以下几组: 51Testing软件测试网 tpzr&U(a8z
· 密钥和政策信息,包括机构密钥识别符、主体密钥识别符、密钥用途(如数字签字,不可否认性 、密钥加密、数据加密、密钥协商、证书签字、CRL签字等),密钥使用期限等;
A2kn${"j,e1e5H1\0 · 主体和发证人属性,包括主体代用名、发证者代用名、主体检索属性等; 51Testing软件测试网8eB)B%G7n
· 证书通路约束,包括基本约束,指明是否可以做证书机构。
G6~ N+R7cO;]+v#PjZu0 · 与CRL有关的补充;
X.509是国际标准化组织CCITT建议作为X.500目录检索的一部分提供安全目录检索服务。一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息一种非常通用的证书格式,所有的证书都符合X.509 国际标准。目前X.509有不同的版本,例如 X.509 V2和x.509 v3都是目前比较新的版本,但是都在原有版本基础上进行功能的扩充,其中每一版本必须包含下列信息:
zpXbIp2[;@4D0 (1) 用来区分X.509的不同版本号既版本号
%Q6P(Y@8e'U$W0 (2) 由CA给予每一个证书的分配的编号即序列号;51Testing软件测试网 c`N&qR_]7e
(3) 用于产生证书所用的方法以及一切参数即签名算法
|
DWtV:m:H0x:p0 (4) CA的x.500名字即发出该证书的认证机构51Testing软件测试网vy)l7\*Bq@,x)X
(5) 证书有效的时间包括两个日期,在所指定的两个时间之 间有效即有效期限
(CJ.T&FDx0 (6) 证书持有人的姓名、服务处所等信息即主题信息
!Z
_$DpfE/E0 (7) 认证机构的数字签名51Testing软件测试网(k1R2pN XPi
(8) 被证明的公钥值,加上使用这个公钥的方法名称即公钥信息