电子政务数字证书格式规范.docx
- 文档编号:5886692
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:77
- 大小:881.13KB
电子政务数字证书格式规范.docx
《电子政务数字证书格式规范.docx》由会员分享,可在线阅读,更多相关《电子政务数字证书格式规范.docx(77页珍藏版)》请在冰豆网上搜索。
电子政务数字证书格式规范
电子政务数字证书格式规范
DigitalCertificateFormatSpecificationforE-Government
国家密码管理局
2010年8月
目次
1范围…………………………………………………………………………………1
2规范性引用文件……………………………………………………………………1
3术语和定义…………………………………………………………………………1
3.1公钥基础设施PublicKeyInfrastructure………………………………1
3.2数字证书DigitalCertificate……………………………………………2
3.3证书撤销列表CertificateRevocationList……………………………2
3.4证书序列号CertificateSerialNumber…………………………………2
3.5认证机构CertificationAuthority………………………………………2
3.6证书撤销列表分布点CRLDistributionPoint…………………………2
4符号和缩略语………………………………………………………………………2
5电子政务数字证书格式……………………………………………………………3
5.1电子政务数字证书基本格式…………………………………………………3
5.2电子政务个人数字证书格式………………………………………………17
5.3电子政务机构数字证书格式………………………………………………22
5.4电子政务设备数字证书格式………………………………………………28
5.S电子政务代码签名数字证书格式…………………………………………30
5.6其他…………………………………………………………………………33
6密码算法技术的支持……………………………………………………………33
附录A(资料性附录)数字证书编码举例………………………………………34
A.1电子政务部门工作人员数字证书编码举例…………………………………34
A.2政务部门机构证书编码举例…………………………………………………40
A.3电子政务设备证书编码举例…………………………………………………45
A.4电子政务代码签名证书编码举倒……………………………………………50
前言
本标准主要规范各级政务部门在开展社会管理、公共服务等活动中所使用的数字证书格式。
电子政务内网有关要求不在本规范中涉及。
本规范针对我国电子政务活动的特定需求,对数字证书的格式进行了规范,保障在电子政务业务活动中,不同认证机构签发的数字证书格式的统一性和互认性。
本规范附录A为资料性附录。
本规范由国家密码管理局提出并归口。
本规范主要起草单位:
国家信息中心、山东省数字证书认证管理有限公司、长春吉大正元信息技术股份有限公司、上海格尔软件股份有限公司。
本规范主要起草人:
吴亚非、任金强、彭建新、周国良、罗红斌、孟凡利、高建峰、闰仲森、罗清彩、解楠。
责任专家:
邹烈。
引言
信息与网络技术在极大促进社会经济、科技、文化、教育和管理等各个方面发展的同时,
也带来了巨大的信息安全风险。
随着我国电子政务业务的快速发展和应用的日益增多,迫切
需要在电子政务网络环境中建立真实、有效的身份信任体制,确认电子政务业务参与方的有
效身份,建立彼此间的信任关系以及保证信息的真实性、完整性、机密性和关键操作的不可
否认性。
国家密码管理局已制定并颁布了相关的标准和规范,以促进和管理数字证书的应用。
为
了进一步促进和规范数字证书在电子政务中的应用,国家密码管理局同期开展电子认证服务
数字证书系列标准规范的编制工作。
本规范为国家密码管理局编制的电子认证服务系列标准规范之一,以保障在电子政务业
务活动中,不同认证机构签发的数字证书格式的统一性和互认性。
本规范根据电子政务业务的特点进行了细化,规定了电子政务个人证书、电子政务机构
证书、电子政务设备证书、电子政务代码签名证书的格式,制定了相应的数字证书格式的模
板。
本规范规定的电子政务数字证书格式支持双证书体系。
在本规范实施过程中,应遵守国家有关法律、法规的规定。
电子政务数字证书格式规范
1范围
本规范定义了电子政务数字证书的基本结构,描述了数字证书中的各项数据内容,规范
了证书扩展域,增加了满足国内电子政务应用需求的部分扩展项,并以电子政务数字证书基
本结构为基础,定义了电子政务活动中个人、机构、设备、代码签名等不同类型数字证书的
详细格式。
本规范适用于电子政务电子认证服务机构、数字证书认证系统的研制单位以及基于数字
证书的安全应用开发单位。
2规范性引用文件
下列文件中的条款通过本规范的引用而成为本规范的条款。
凡是注明日期的引用文件,
其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,凡是未注明日期的
引用文件,其最新版本适用于本规范。
GB/T20518-2006信息安全技术公钥基础设施数字证书格式
GB/T16262.1-2006抽象语法记法-(ASN.1)第1部分:
基本记法规范(ISO/IEC
8824-1:
2002,IDT)
GB/T16262.2-2006抽象语法记法-(ASN.1)第2部分:
客体信息规范(ISO/IEC
8824-2:
2002,IDT)
GB/T16262.3-2006抽象语法记法-(ASN.1)第3部分:
约束规范(ISO/IEC
8824-3:
2002,IDT)
GB/T16262.4-2006抽象语法记法-(ASN.1)第4部分:
ASN.1规范的参数化(ISO/IEC
8824-4:
2002,IDT)
GB/T16264.8-2005信息技术开放系统互联目录第8部分:
公钥和属性证书框架
(ISO/IEC9594-8:
2001,IDT)
ISO/IEC9594-2:
2001信息技术开放系统互联目录第2部分:
模型
GB/T17969.1-2000信息技术开放系统互联OSI登记机构的操作规程第1部分:
一般规程(eqvISO/IEC9834-1:
1993)
GB/T11714-1997全国组织机构代码编码规则
GB/T16284.4-1996信息技术文本通信面向信报的文本交换系统第4部分:
抽象服务定义和规程(IDTISO/IEF10021-4:
1990)
GB12403-1990干部职务名称代码
GB8561-1988专业技术职务代码
3术语和定义
以下术语和定义适用于本规范。
3.1
公钥基础设施publickeyinfrastructure
支持公钥管理体制的基础设施,提供鉴别、加密、完整性和不可否认性服务。
3.2
数字证书digitalcertificate
由证书认证机构签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及
一些扩展信息的数字文件。
3.3
证书撤销列表certificaterevocationlist
一个已标识的列表,它指定了一套证书发布者认为无效的证书。
除了普通CRL外,还定义了一些特殊的CRL类型用于覆盖特殊领域的CRL。
3.4
证书序列号certificateserialnumber
为每个证书分配的唯一整数值,在CA颁发的证书范围内,此整数值与该CA所颁发的证书相关联并一一对应。
3.5
电子认证服务机构electroniccertificationserviceprovider
负责创建和分配证书,被用户信任的权威机构。
用户可以选择该机构为其创建密钥。
3.6
证书撤销列表分布点CRLdistributionpoint
一个CRL目录项或其他CRL分发源,由CRL分布点分发的CRL可以包括仅对某CA所发证书全集某个子集的撤销条目,或者可以包括有多个CA的撤销条目。
4符号和缩略语
下列缩略语适用于本规范:
ASN抽象语法表示法(AbstractSyntaxNotation)
BER基本编码规则(BasicEncodingRules)
C国家(Country)
CA认证机构(CertificateAuthority)
CN通用名(CommonName)
CRL证书撤销列表(CertificateRevocationList)
DER可区分编码规则(DistinguishedEncodingRules)
DIT目录信息树(DirectoryInformationTree)
DN可辨别名(DistinguishedName)
O机构(Organization)
OID对象标识符(OBJECTIDENTIFIER)
OU机构单位(OrganizationUnit)
PKI公钥基础设施(PublicKeyInfrastructure)
5电子政务数字证书格式
5.1电子政务数字证书基本格式
5.1.1数据结构
电子政务数字证书由基本证书域(TBSCertificate)、签名算法域(SignatureAlgorithm)
和签名值域(SignatureValue)三部分组成。
数据结构如下:
Certificate:
:
=SEQUENCE{
tbsCertificateTBSCertificate.
signatureAlgorithmAlgorithrnldentifier,
signatureValueBITSTRING}
TBSCertificate:
:
=SEQUENCE{
version[0]EXPLICITVersionDEFAUTvl,
serialNumberCertificateSerialNumber.
signatureAlgorithmldentifier,
issuerName,
validityValidity,
subjectName,
subjectPublicKeylnfoSubjectPublicKeylnfo,
issuerUniqueLD[1]IMPLICITUniqueldentifierOPTIONAL,
--如果出觋,version必须是v3
subjectUniqueID[2]IMPLICITUniqueIdentifierOPTIONAL,
--如果出现,version必须是v3
Extensions[3]EXPLICITExtensionsOPTIONAL扩展项
一如果出现,version必须是v3
}
Version:
:
=INTEGER[v3
(2)}
CertificateSerialNumber:
:
=INTEGER
Validity:
:
=SEQUENCE{
notBefore'Time.
notAfterTime}
Time:
:
=CHOICE{
utcTimeUTCTime,
generaITimeGeneralizedTime}
Uniqueldencifier:
:
=BITSIRING
SubjectPublicKeylnfo:
:
=SEQUENCE{
algorithmAlgorithmIdentifier,
subjectPublicKeyBITSTRING}
Extensions:
:
=SEQUENCESIZE(1..MAX)OFExtension
Extension:
:
=SEQUENCE{
extnIDOBJECTIDENTIFIER,
criticalBOOLEANDEFAULTFALSE,
extnValueOCTETSTRING}
上述证书数据结构中的tbsCertificate,signatureAlgorithm和signatureValue域的含义如下:
—tbsCertificate域包含了主题名称和签发者名称、主题的公钥、证书的有效期以及其它的相关信息。
—signatureAlgorithm域包含证书签发机构签发该证书所使用的密码算法标识符。
算法标识符的ASN.1结构如下:
AlgorithmIdentifier:
:
=SEQUENCE{
algorithmOBJECTIDENTIFIER,
parametersANYDEFINEDBYalgorithmOPTIONAL}
算法标识符用来标识一个密码算法,其中的OBJECTIDENTIFIER部分标识了具体的算法。
其中可选参数的内容完全依赖于所标识的算法。
该域的算法标识符必须与tbsCertificate中的signature标识的签名算法项相同。
—signatureValue域保存对tbsCertificate域进行数字签名的结果。
以经过ASN.1DER编码的tbsCertificate值作为数字签名的输入,签名的结果按照ASN.I编码的方式,生成BITSTRING,保存在证书签名值域内。
5.1.2基本证书域(TBSCertificate)
基本证书域包含基本域和扩展域两部分。
5.1.2.1基本域
基本域包含了证书结构中前十个项的信息,这些信息主要有主题和签发者的名称、主题公钥、有效期、版本号和序列号等。
5.1.2.1.1版本Version
本项描述了数字证书的版本号。
5.1.2.1.2序列号Serialnumber
本项是CA系统分配给每个证书的一个正整数,一个CA系统签发的每张证书的序列号必须是唯一的(这样,通过签发者的名字和序列号就可以唯一地确定一张证书),CA系统必
须保证序列号是非负整数。
序列号可以是长整数,证书用户必须能够处理长达20个8比特字节的序列号值。
CA必须确保不使用大于20个8比特字节的序列号。
5121.3签名算法Signature
本项包含CA系统签发该证书所使用的密码算法标识符,这个算法标识符必须与证书中signatureAlgorithm项的算法标识符相同。
可选参数的内容完全依赖所标识的具体算法,可以支持用户定义的签名算法。
5.12.1.4颁发者Issuer
本项标识了证书签名和证书颁发的实体。
它必须包合一个非空的甄别名称
(DN-distinguishedname)。
该项被定义为X.501的Name类型,其ASN.l的结构如下:
Name:
:
=CHOICE{RDNSequence}
RDNSequence:
:
=SEQUENCEOFRelativeDistinguishedName
RelativeDistinguishedName:
:
=SETOFAttributeTypeAndValue
AttributeTypeAndValue:
:
=SEQUENCE{
typeAttributeType.
valueAttribureValue}
AttributeType:
:
=OBJECTIDENTIFJER
AttributeValue:
:
=ANYDEFINEDBYAttributeType
DirectoryString:
:
=CHOICE{
teletexStringTeletexString(SIZE(1..MAX)),
printableStringPrintableString(SIZE(1..MAX》,
universalStringUniversalString(SIZE(1..MAX)),
utf8StringUTF8String(SIZE(1..MAX)),
bmpStringBMPString(SIZE(1..MAX))}
Name描述了由一些属性组成的层次结构的名称,如国家名、省、市名称等。
其中
AttributeValue部分的类型是由AttributeType确定的,通常它是一个DirectoryString类型。
签发的证书必须使用UTF8String格式对DirectoryString项进行编码。
5.1.2.1.5有效期Validity
本项是一个时间段,在这个时间段内,CA系统担保它将维护关于证书状态的信息。
该
项表示成一个具有两个时间值的SEQUENCE类型数据:
证书有效期的起始时间(notBefore)
和证书有效期的终止时间(notAfter)。
NotBefore和NotAfter这两个时间都可以作为UTCTime
类型或者GeneralizedTime类型进行编码。
遵循本规范的CA系统在2049年之前必须将该时间编码为UTCTime类型,在2050年之后,
编码为GeneralizedTime类型。
a)世界时间UTCTime
本项是为国际应用设立的一个标准ASN.I类型,在这里只有本地时间是不够的。
UTCTime通过两个低位数确定年,时间精确到一分钟或一秒钟。
UTCTime包含Z(用于Zulu,
或格林威治标准时间)或时间差。
在本项中,UICTime值必须用格林威治标准时间(Zulu)表示,必须包含秒,即使秒的
数值为零(即时间格式为YYMMDDHHMMSSZ)。
系绕对年字段(YY)必须作如下解释:
当YY大于等于50,年应解释为19YY;当YY不到50,年应解释为20YY。
b)通用时间类型GeneralizedTime
本项是一个标准ASN.I类型,表示时间的可变精确度。
GeneralizedTime字段能包含一个
本地和格林威治标准时间之间的时间差。
本项中,GeneralizedTime值必须用格林威治标准时间表示,必须包含秒,即使秒的数值
为零(即时间格式为YYYYMMDDHHMMSSZ)。
GeneralizedTime值绝不能包含小数秒
(fractionalseconds)。
5.1.2.1.6主题Subject
本项用于描述与主题公钥项中的公钥相对应的实体的情况。
主题名称可以出现在主题项
或主题可选替换名称扩展项中(subjectAltName)。
如果主题是一个CA系统,那么主题项必
须是一个非空的与签发者项的内容相匹配的甄别名称(distinguishedname)。
如果主题的命
名信息只出现在主题可选替换名称扩展项中(例如密钥只与一个Email地址或者URL绑定),
那么主题名称必须是一个空序列,主题可选替换名称扩展项必须被标识成关键的。
当主题项非空时,这个项必须包含一个X.500的甄别名称(DN),一个CA系统认证的
每个主题实体的甄别名称必须是唯一的。
一个CA系统可以为同一个主题实体以相同的甄别
名称签发多个证书。
主题名称扩展项被定义成X..501的名字类型。
5.1.2.1.7主题公钥信息SubjectPublicKeyInfo
本项用来标识公钥和相应的公钥算法。
公钥算法使用算法标识符AlgorithmIdentifier结构
来表示。
5.1.2.1.8颁发者唯一标识符IssuerUniqueID
本项主要用来处理主题或者颁发者名称的重用问题。
本规范建议不同的实体名称不要重
用。
遵循本规范的证书签发机构不应生成带有颁发者唯一标识符的证书,但是在应用过程中
应该能够解析这个项并进行对比。
5.1.2.1.9主题唯一标识符SubjectUniqueID
本项主要用来处理主题名称的重用问题,本规范建议对不同的实体名称不要重用,并且
不建议使用此项,遵循本规范的证书签发机构不应生成带有主题唯一标识符的证书,但是在
应用过程中应该能够解析唯一标识符并进行对比。
512110扩展项Extensions
本项是一个或多个证书扩展的序列(SEQUENCE),其内容和数据结杓在5.1.2.2中定义。
5.1.2.2扩展域
本规范定义的证书扩展项提供了把一些附加属性同用户或公钥相关联的方法以及证书
结构的管理方法。
数字证书允许定义标准扩展项和专用扩展项。
每个证书中的扩展可以定义
成关键性的和非关键性的。
一个扩展项含有三部分,分别是扩展类型、扩展关键度和扩展项
值。
扩展关键度(extensioncriticality)告诉一个证书的使用者是否可以忽略某一扩展类型。
证书的应用系统如果不能识别关键的扩展时,必须拒绝接受该证书,如果不能识别非关键的
扩展,则可以忽略该扩展项的信息。
本条定义一些标准的扩展项。
需要特别注意的是,在实际应用过程中,如果采用了关键
性的扩展,可能导致在一些通用的应用中无法使用该证书。
每个扩展项包括一个对象标识符OID和一个ASN.1结构。
当证书中出现一个扩展时,OID
作为extnID项出现,其对应的ASN.1编码结构就是8比特字符串extnValue的值。
一个特定的证书中特定的扩展只可出现一次。
例如,一个证书只可以包含一个认证机构密钥标识符扩展。
一个扩展中包含一个布尔型的值用来表示该扩展的关键性,其缺省值为FALSE,即非关键的。
每个扩展的正文指出了关键性项的可接收值。
遵循本规范的CA系统必须支持密钥标识符、基本限制、密钥用法和证书策略等扩展。
如果CA系统签发的证书中的主题项为空序列,该CA系统就必须支持主题可替换名称扩展。
其它的扩展是可选的。
CA系统还可以支持本规范定义之外的其它扩展。
证书的签发者必须
注意,如果这些扩展被定义为关键的,则可能会给互操作性带来障碍。
遵循本规范的应用必须至少能够识别密钥用法、主题替换名称、基本限制、名称限制、
策略限制和扩展的密钥用法。
另外,本规范建议还能支持认证机构(authority)和主题密钥
标识符(subjectkeyidentifier)。
5.1.2.2.1机构密钥标识符authorityKeyIdentifier
机构密钥标识符扩展提供了一种方式,以识别与证书签名私钥相对应的公钥。
当发起方
由于有多个密钥共存或由于发生变化而具有多个签名密钥时使用该扩展。
识别可基于发起方
证书中的主题密钥标识符或基于发起方的名称和序列号。
相应CA产生的所有证书应包括authorityKeyIdentifier扩展的keyIdentifier项,以便于证书
信任链的建立。
CA以“自签”(self-signed)证书形式发放其公钥时,可以省略认证机构密
钥标识符。
此时,主题和认证机构密钥标识符是完全相同的。
本项既可用作证书扩展亦可用作CRL扩展。
本项标识用来验证在证书或CRL上签名的公
开密钥。
它能辨别同一CA使用的不同密钥(例如,在密钥更新发生时)。
本项定义如下:
id-ce-authorityKeyIdentifierOBJECTIDENTIFIER:
:
={id-ce35}
AuthorityKeyIdentifier:
:
=SEQUENCE{
keyIdentifier[0]KeyIdentifierOPTIONAL,
authorityCertIssuer[1]GeneralNamesOPTIONAL,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子政务 数字证书 格式 规范