收藏 分享(赏)

GM∕T 0089-2020 简单证书注册协议规范.pdf

上传人:曲**** 文档编号:183355 上传时间:2022-11-05 格式:PDF 页数:23 大小:445.70KB
下载 相关 举报
GM∕T 0089-2020 简单证书注册协议规范.pdf_第1页
第1页 / 共23页
GM∕T 0089-2020 简单证书注册协议规范.pdf_第2页
第2页 / 共23页
GM∕T 0089-2020 简单证书注册协议规范.pdf_第3页
第3页 / 共23页
GM∕T 0089-2020 简单证书注册协议规范.pdf_第4页
第4页 / 共23页
GM∕T 0089-2020 简单证书注册协议规范.pdf_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、ICS 35.040 CCS L 80 中华人民共和国密码行业标准G/T 0089-2020 简单证书注册协议规范Simple certificate enrollment protocol specification 2020-12-28发布2021-07-01实施国家密码管理局发布G/T 0089-2020 目次前言皿引言凹1 范围.12 规范性引用文件13 术语和定义14 缩略语25 SCEP功能25.1 SCEP实体2 5.2 客户端认证35.3 注册认证35.4 CA/RA证书分发35.5 证书注册45.6 证书查询65.7 CRL查询65.8 证书撤销66 SCEP安全消息对象66

2、.1 概述66.2 SCEP 消息7 6.3 SCEP消息类型9 6.4 简化的SignedData数据类型11 7 SCEP事务117.1 获取CA证书117.2 证书注册117.3 证书轮询127.4 证书查询127.5 CRL查询12 7.6 获取下一个CA证书138 SCEP传输协议u8.1 HTTP消息格式138.2 SCEP 消息14附录A(规范性GetCACaps消息M 参考文献.17 I G/T 0089-2020 目。吕本文件按照GB/T1. 1-2020标准化工作导则第1部分:标准化文件的结构和起草规则的规定起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识

3、别专利的责任。本文件由密码行业标准化技术委员会提出并归口。本文件起草单位:长春吉大正元信息技术股份有限公司、北京信安世纪科技股份有限公司、格尔软件股份有限公司、成都卫士通信息产业股份有限公司、飞天诚信科技股份有限公司、北京数字认证股份有限公司、兴唐通信科技有限公司、上海市数字证书认证中心有限公司、北京握奇智能科技有限公司、北京华大智宝电子系统有限公司、北京创原天地科技有限公司、山东得安信息技术有限公司。本文件主要起草人:赵丽丽、张庆勇、郑强、张立廷、罗俊、朱鹏飞、傅大鹏、王妮娜、韩琦、汪雪林、张渊、陈保儒、王晓晨、马洪富。囚G/T 0089-2020 引简单证书注册协议是一种证书管理的简单协议

4、,主要用于客户端(用户)与服务端CCA/RA)之间的证书自动注册。它结合了PKCS#7和PKCS#10,保证了证书注册的安全可靠。而且在大规模的设备证书自动注册中简化了对请求者身份鉴别的工作,令设备证书的注册变得更为简单。本文件的内容参考了IETF的SimpleCertificate Enrollment Protocol) Internet-Draft稿,按照我国相关密码政策和规范,结合我国实际应用需求及产品生产厂商的实践经验,制定了适应我国证书体系和密码算法的简单证书注册协议。N G/T 0089-2020 简单证书注册协议规范1 范围本文件定义了使用SM2算法进行证书注册的简单协议。本文

5、件适用于指导研制提供证书自动注册的数字证书认证系统,以及使用SM2算法进行设备证书的自动注册。2 规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T 20518-2018信息安全技术公钥基础设施数字证书格式GB/T 32918C所有部分)信息安全技术SM2椭圆曲线公钥密码算法GB/T 35275-2017 信息安全技术SM2密码算法加密签名消息语法规范GM/ T 0092 基于SM2算法的证书申请语法规范GM/ Z 4001 密码术语3 术

6、语和定义3.1 3.2 3.3 3.4 GM/ Z 4001界定的以及下列术语和定义适用于本文件。客户端client 申请证书服务的设备。注:客户端也称请求端。服务端server 提供证书服务的实体,包含CA和RA。数字信封digital envelope 一种数据结构,包含用对称密钥加密的密文和用公钥加密的该对称密钥。设备证书device certificate 数字证书的一种,由CA签名的包含设备的基本信息、设备公钥信息及其他补充信息等的一种数据结构。3.5 S2算法S2 algorithm 由GB/T32918C所有部分)定义的一种算法。G/T 0089-2020 4 缩略语下列缩略语适

7、用于本文件。CA:证书认证机构CCertificationAuthority) CDP:证书撤销列表分发点CCRL Distri bution Point) CGI:公共网关接口CCommonGateway Interface) CRL:证书撤销列表CCertificateRevocation List) LDAP:轻量级目录访问协议CLightweight Directory Access ProtocoD PKI:公钥基础设施CPublicKey Infrastructure) RA:证书注册机构CRegistrationAuthority) SCEP:简单证书注册协议CSimpleCer

8、tificate Enrollment ProtocoD 5 SCEP功能5.1 SCEP实体5.1.1 概述SCEP实体包含客户端和服务端。服务端由CA和RA组成。SCEP描述客户端向服务端注册认证的协议流程及格式。SCEP实体关系见图1。服务端l 阶UVRA 客户端CA 图1SCEP实体关系图客户端在注册认证的过程中,如果以前没有获取CA/RA证书,则应在任何PKI操作启动之前申请获取CA/RA证书,得到CA/RA证书后进行证书注册流程,在进行注册认证后,客户端可以向CA进行证书查询和CRL查询,在CA证书更新时及时获取下一个CA证书。5.1.2 客户端客户端开始一个PKI事务之前,应至少

9、有一张能够对SCEP消息进行签名的证书。客户端应配置如下的信息。a) CA或RA的IP地址或域名。b) CA或RA的HTTP脚本路径。c) CA的相关辨识信息,可以是CA证书的杂凑值。辨识信息或来自用户,或在协议交互时通过人工授权传递给终端用户。客户端应采取可靠措施,对这些信息的完整性进行保护。客户端可维护适用于多个CA的多个独立配置,这些配置并不影响协议操作。2 G/T 0089-2020 5.1.3 CA CA是签发客户端证书的实体,CA的名字应出现在生成证书的签发者宇段中。在任何PKI操作发生之前,CA应获得一个符合GB/T20518-2018配置的CA证书,这可以是上级CA签发的CA证

10、书。客户端应通过7. 1. 1的获取CA证书请求消息得到CA证书,并将获取CA证书响应消息所得到的CA证书通过证书杂凑值进行认证。CA应在线回应证书查询请求或通过LDAP提供证书查询结果。CA可实施任何策略并应用这些策略认证或拒绝客户端的请求。如果服务端已经为客户端签发过证书,且该证书在当前仍然有效,服务端可返回之前为客户端创建的证书。如果客户端在轮询一个挂起事务后进入超时状态,它应通过向服务端发送与证书注册事务名称、密钥和事务ID相同的请求,来进行重新同步。CA应返回证书注册事务的状态,包括已发放的证书。CA不应创建新事务,除非巳注册的证书被撤销或超过有效期。5.1.4 RA RA是一种SC

11、EP服务端,它对SCEP客户端进行认证和授权检查,同时将认证请求转发给CA。在生成证书的签发者宇段中应不出现RA的名称。RA在通过7.1.2的获取CA证书响应消息返回证书时应同时返回RA证书和CA证书,此响应中包括一个RA证书,说明该客户端正在通过一个RA向CA提出证书相关的请求,客户端在后续的安全通信中应将指定该RA作为服务端通信。为了进行认证服务,RA应将请求传递给CA服务端进行处理,CA与RA之间的通信协议在本文件中不做规定。5.2 客户端认证为了按照GB/T35275语法格式对数据进行加密和签名,客户端应有一个可用的本地证书。a) 如果客户端已经有一个SCEP服务端签发的证书,且服务端

12、支持更新,应使用该证书。b) 如果客户端没有SCEP服务端CA签发的证书,但具有来自其他CA的证书,则应使用其他CA签发的证书。在新CA上的策略设置将决定是否认可其他CA认证结果、是否为客户端服务。c) 如果客户端没有服务端CA签发的证书及来自备用CA的证书,应使用本地生成的基于SM2算法的自签名证书替代。自签名证书应使用与GM/T0092要求相同的主体名称。在证书注册期间,客户端在遵循GB/T35275进行签名时,应使用选定的证书。客户端发送请求后,服务器端生成响应,在服务器端对响应进行加密时,需使用此签名证书的公钥。5.3 注册认证服务端可设置策略,对客户端的请求进行自动注册认证或于动注册

13、认证。在自动注册认证模式下,服务端应实现适当的逻辑,对客户端进行签名的证书进行自动认证,并使用由认可的其他PKI层次体系中CA颁发的现有客户端凭证进行自动注册。在于动注册认证模式下,客户端消息一直处于挂起状态,直到CA操作员对该消息进行确认或者拒绝。客户端生成GM/T0092的申请消息的杂凑值,并使用其他可靠的带外传输方式发送给CA操作员。CA操作员应将此杂凑值与在SCEP交互时收到消息后在本地生成的杂凑值进行比较,验证其完整性。5.4 CA/RA证书分发客户端如果以前没有获取CA/RA证书,则应在任何PKI操作启动之前申请获取CA/RA证书。3 G/T 0089-2020 在客户端获取CA证

14、书之后,应使用杂凑算法对接收到的CA证书(及可能含有的RA证书)计算杂凑值,如果客户端没有到信任锚的证书路径,则通过将证书杂凑值与本地配置的、带外方式得到的信息进行比较,来对CA证书进行身份认证。由于客户端和CA/RA之间尚未交换公钥,因此无法按照GB/T35275的语法格式来保护这些消息,而数据将在明文中传输。如果RA正在使用中,则按GB/T35275中的SignedData类型格式返回一个数字信封,信封中或包含RA和CA证书,或只有CA证书本身。传输协议应指明返回的是哪一个。在客户端获取CA证书之后,应使用杂凑算法对接收到的CA证书(及可能含有的RA证书)计算杂凑值,如果客户端没有到信任锚

15、的证书路径,则通过将证书杂凑值与本地配置的、带外方式得到的信息进行比较,来对CA证书进行身份认证。由于从客户端到CA/RA之间传递查询可能耗费很长时间,而RA证书可能随时更改,因此建议客户端不要存储RA证书,而应在每次操作之前检索CA/RA证书。5.5 证书注册客户端按照GM/T0092创建一个证书请求来启动证书注册事务,并将其按照GB/T35275封装后发送到CA/RA。如采用自动注册认证模式,CA/RA根据策略返回请求响应消息CertRep,状态设置为SUCCESS或FAILURE。消息类型定义见6.2.2.3。如采用于动注册认证模式,CA/RA返回的CertRep消息的状态设置为PEND

16、ING,则客户端应通过定期向CA/RA发送获取证书轮询GetCertInitial来进入轮询模式,直到CA/RA操作员完成手动身份验证,批准或拒绝该请求。如果进入轮询模式,客户端应发送单个证书请求PKCSReq消息,后跟O个或多个GetCertInitial消息。CA/RA将发送O个或多个CertRep消息,状态设置为PENDING,CA/RA最后发送一个CertRep消息,状态为SUCCESS或FAILURE。在证书注册期间,客户端状态转换在图2中表示。GetC巳rtTnitialCertRep事务状态为PENDTNGGetCertTnitial发送超时进行轮询CER下NONEXlSTENT

17、CERT-旺Q-PENDlNG CERT-lSSUED PKCSReq CertRep事务状态为SUCCESSCertRep事务状态为FATLUREPKCSR叫发送超时超出最大轮询次数图2状态转换图证书注册从状态CERT发送PKCSRe叫q消息会将状态更改为CERT-REQ-PENDI川NG。如果没有响应,或无法发送,状态恢复到CERT-NONEXISTANT。接收到事务状态pkiStatus为SUCCESS的CertRep消息,将会把状态更改为CERT-ISSUED。4 G/T 0089-2020 接收到事务状态pkiStatus为FAILURE的CertRep消息,将会把状态更改为CERT

18、-NONEXIST ANT 。如果服务端发送的CertRep消息的事务状态pkiStatus为PENDING,JJ!U客户端将通过定期向服务端发送GetCertInitial消息来进行轮询,直到接收到状态设置为SUCCESS或FAILURE的CertRep消息,或者已超过最大轮询次数。如果超过了最大轮询数,或者在CERT-REQ-PENDING状态下收到了pkiStatus设置为FAILURE的CertRep消息,则最终客户端将进入CERT-NONEXISTANT状态,并且SCEP客户端最终可以开启另一个注册请求。应注意的是,只要客户端不更改其主体名称或密钥,就会在新事务中使用相同的事务ID。

19、这一点很重要,因为基于此事务ID,证书认证机构可以将其识别为已有的事务,而不是当作新事务来处理。自动模式下的成功事务流程见图3。客户端PKCSReq:证书注册请求收到证书服务端CertRep: pkiStatus = SUCCESS 签发证书图3自动模式事务于动模式下成功的事务见图4。客户端PKCSReq:证书注册请求GetCertlnitial:轮询消息GetCertTnitial :轮询消息收到证书服务端CertRep:pkiStatus= PENDTNG 要求客户端等待CertRep: pkiStatus = PENDTNG 要求客户端等待CertRep: pkiStatus = SUC

20、CESS 签发证书图4手动模式事务5 G/T 0089-2020 5.6 证书查询为客户端定义了证书查询消息,以便从CA检索自己的证书副本。它允许不在本地存储证书的客户端在需要时获取副本。此功能不用于提供通用证书目录服务。要从证书认证机构查询证书,客户端将发送由证书签发者名称和序列号组成的请求。假定客户端已在以前的注册事务中将签发证书的签发者名称和序列号保存下来。查询证书的事务由一个GetCert消息和一个CertRep消息组成,见图5。客户端PKCSReq:证书注册请求收到证书服务端CertRep: pkiStatus = SUCCESS 证书图5GetCert事务5.7 CRL查询SCEP

21、客户端可通过以下两种方法之一获得CRL:a) 如果CA支持CDP,则应通过CDP中指定的机制查询CRL;b) 如果CA不支持CDP,则通过创建一个由GetCRL消息构成的CRL查询,该消息由一个待检索CRL范围内的证书的签发者名称和序列号组成。服务端宜使用CDP方法。消息以与其他SCEP请求相同的方式发送到SCEP服务端:要检索CRL的事务由一 个GetCRL消息和一个CertRep消息组成,其中只包含CRL,见图6。在收到此消息后,SCEP服务端可以使用IssuerAndSerial信息返回适当的CRL。客户端服务端GetCRL: CRL查询消息CertRep返回CRL图6GetCRL事务5

22、.8 证书撤销SCEP不指定请求证书撤销的方法。6 SCEP安全消息对象6.1 概述有机密性需求的SCEP消息采用两层结构,见GB/T35275。通过同时应用数字信封和数字签名,6 G/T 0089-2020 对SCEP消息的端到端事务信息完整性和信息部分的机密性进行保护。外层的ContentType宇段应是数字签名SignedData结构,也称为pkiMessage;内层的ContentInfo宇段应为EnvelopedData结构,也称为pkcsPKIE川elopeoSCEP消息携带的数据messageData封装在pkcsPKIEnvelope里,其数据格式由pkiMessage中的me

23、ssageType属性定义。如果没有传输messageData,则整个pkcsPKIEnvelop应忽略。例如,状态为FAILURE和PENDING的CertRep消息没有签名信息。6.2 SCEP 5肖,息6.2.1 SCEP消息结构所有安全SCEP消息对象的基本结构是SCEP消息,该结构由GB/T35275中的SignedData类型组成,如GB/T35275-2017中8.1所定义。存在如下的限制:如果出现了被签名的内容CCertRep消息为SUCCESS状态),该内容应是pkcsPKIEnvelope结构,并应匹配messageType属性。6.2.2 被签名的事务属性6.2.2.1

24、概述按照GB/T35275-2017的8.2,SignedData的Signerlnfo需要承载一系列认证属性CauthenticatedAt-tributes)。所有消息都应包括transactionID、messageType、senderNonce及其他任何GB/T35275-2017中8.2需要的属性。如果是响应消息,则应包括pkiStatus、recipientNo盯e属性,见表1。表1认证属性属性编码注释transactionID PrintableString 杂凑值messageType PrintableString 十进制数pkiStatus PrintableString

25、 十进制数failInfo PrintableString 十进制数senderNonce OCTET STRING recipientNonce OCTET STRING 6.2.2.2 事务标识CtransactionID ) 一个PKI操作就是一次包括客户端和服务端之间消息交换的事务。事务标识是事务开始时客户端产生的字符串。客户端应为事务标识产生唯一的字符串,编码为可打印字符串,在一次给定注册过程的所有PKI消息中使用。事务标识应是注册请求所注册公钥值的杂凑值。这样可以允许SCEP客户端为任意给定密钥对自动产生相同的事务标识,以便于后续的轮询能够匹配之前的事务。当使用本文件定义的证书和证

26、书撤销列表查询消息时,需要使用事务标识来确保客户端将响应消息与之前的请求消息相匹配。当使用LDAPC轻量级目录服务协议)来查询证书和证书撤销列表时,具体的行为过程由LDAP确定。对于非注册消息(例如GetCert和GetCRL),事务标识应是对客户端唯一的数字。7 G/T 0089-2020 6.2.2.3 消息类型(message Type) 消息类型属性确定事务所执行操作的类型。这个属性应包含在所有的PKI消息中。如下消息类型已被定义:PKCSReq(19) CertRep(3) GetCertInitial (20) GetCert ( 21 ) GM/ T 0092证书请求请求响应证书

27、轮询证书查询GetCRL(22) CRL查询未定义的消息类型作为错误处理。6.2.2.4 事务状态(pkiStatus) 所有的响应消息应包括事务状态信息,定义为pkiStatus:SUCCESS(O) 批准FAILURE(2) 拒绝,并提供6.2.2.5中定义的failInfo属性PENDING(3) 待处理未定义的消息类型作为错误处理。6.2.2.5 失败信息(failInfo) 失败信息属性应包括下列失败原因:、,/1IA /飞飞K PL 户/-n9 C() omVM门f人ae/飞SU巳g巳呵盯川剧MnNU-G1G1G1G aaaa ku101010 不能识别或未被支持的算法标识完整性校

28、验失败事务未被允许或支持签名时间属性和系统时间不够接近badCertId (4) 没有识别出可以匹配所提供标准的证书未定义的消息类型作为错误处理。6.2.2.6 发送者随机数和接受者随机数(senderNonce和recipientNonce)发送者随机数senderNo盯e和接受者随机数recipientNo盯e是每个事务产生的16字节随机数。用来抗重放攻击。客户端应在发送给服务端的PKI消息中包含发送者随机数。服务端应将发送者随机数复制到re凹Cl刷p户le川Non盯lC臼e,客户端应校验re凹Cl刷p户ler川NoI口盯lC臼e。6.2.2.7 签名时间(signingTime) 签名时

29、间属性指定签名者执行签名过程的时间,该属性可选。其定义可参考PKCS#9。6.2.3 SCEP数字信封SCEP消息的信息部分包含在EnvelopedData类型中,如GB/T35275-2017第9章所述,有以下限制:a) e盯ryptedContent应是被传送的SCEP消息,应和pkiMessage里的mesaageType认证属性匹配;b) GB/ T 35275使用消息接收方的公钥加密传输密钥。8 G/T 0089-2020 6.3 SCEP消息类型6.3.1 概述SCEP消息的类型应是在messageType认证属性中指定。以下章条定义了有效的消息类型、对应的消息数据格式,还有这个类

30、型强制性的认证属性。6.3.2 证书注册这个类型的MessageData域包含一个GM/T0092证书请求,证书注册可包含GM/T0092中定义的任意域,同时应要包含至少以下几项:一一主体标识名;主体公钥;一-ChallengePassword属性,ChallengePassword可能被用来认证注册请求自身。除有效GB/T35275所需要的authenticatedAttri butes以外,pkiMessage应还要包含以下几个属性:事务标识属性transactionID;一一消息类型属性messageType,设置为PKCSReq;发送者随机数属性senderNonce。正如6.2.3所

31、描述的,这种消息类型的pkcsPKIEnvelope属性由接收者的公钥保护。6.3.3 证书注册晌应6.3.3.1 概述这种类型的messageData属性包含一个如6.4所示的简化的SignedData,回复所需要的确切内容依赖于这个消息回复的请求类型,在表1和第4章有具体描述。除有效GB/T35275所需要的authenticatedAttri butes以外,pkiMessage应还要包含以下几个属性:一一事务标识属性transactionID:从请求消息中复制;消息类型属性messageType:设置为CertRep;发送者随机数属性senderNonce;一一接受者随机数属性reci

32、pientNonce:从申请消息的发送者随机数属性senderNonce复制得到;事务状态pkiStatus。正如6.1.2所描述的,这种消息类型的pkcsPKIEnvelope属性由接收者的公钥保护。例如,如果一个自签名证书用来发送请求,那么这个自签名证书的公钥就要用来加密SUCCESS回应的pkcsPKIEnvelope属性的内容加密密钥。SignedData数据中contentInfo宇段存储了SM2加密证书私钥数据,其数据格式遵循GB/T35275 中第10章signedAndEnvelopedDataoSignedData的certificates宇段存放着为客户端签发的SM2证书,

33、第一个是签名证书,第二个是加密证书。6.3.3.2 事务成功当事务状态被设置为SUCCESS,这个消息的messageData包含一个如6.4定义的简化的数字信封,其内容取决于证书注册请求,如表2所示。9 G/T 0089-2020 表2CertRep类型请求类型响应内容回复应至少包含签名数据的证书域中向请求者颁发的证书。回复可以包含附加证书,但颁发的PKCSReq 证书应处在列表中的首位。回复一定不包含CRL。所有返回的证书应符合GB/T20518-2018 GetCertIni tial 和PKCSReq一样回复应至少包含签名数据的证书域中请求的证书。回复可以包含附加证书,但请求的证书应处

34、GetCert 在列表中的首位。回复一定不包含CRL。所有返回的证书应符合GB/T20518-2018 GetCRL 回复应包含签名数据的crls域中的CRL。回复一定不包含证书。符合GB/T20518-2018要求的CRL才能被认为是有效的6.3.3.3 事务失败当事务状态被设置为FAILURE,响应应包含一个failInfo属性,来描述失败的原因。pkcsPKIEnvelope应省略。6.3.3.4 事务待处理当事务状态被设置为PENDINGopkcsPKIE川elope应省略。6.3.4 证书轮询这种类型的messageData属性包含一个证书签发者与主体IssuerAndSubject

35、。签发者被设置为证书认证机构的issuerName,主体被设置为请求证书时使用的SubjectName。除有效GB/T35275所需要的authenticatedAttri butes以外,pkiMessage应还要包含以下几个属性:一一和PKCSReq消息中相同的事务标识属性transactionID;消息类型属性messageType,设置为GetCertInitial ;一个senderNonce属性。Issuer AndSu bj ect类型的定义如下:IssuerAndSubject: : = SEQUENCE issuer N ame, subjectName 6.3.5 证书查询

36、这种类型的messageData包含一个IssuerAndSerialNumber,IssuerAndSerialNumber是在GB/T35275 中定义的,唯一确定了请求的证书。除有效GB/T35275所需要的authenticatedAttri butes以外,pkiMessage应还要包含以下几个属性:一一事务标识属性transactionID;一一消息类型属性messageType,设置为GetCert;发送者随机数属性senderNo盯e。10 G/T 0089-2020 6.3.6 CRL查询这种类型的messageData包含一个IssuerAndSerialNumber,其定

37、义在GB/T35275- 2017的6.7,包含需要确认的证书发布者姓名和序列号。除有效GB/T35275所需要的authenticatedAttri butes以外,pkiMessage应还要包含以下几个属性:事务标识属性TransactionID; 一一消息类型属性messageType,设置为GetCRL;一一发送者随机数属性senderNonce。6.4 简化的SignedData数据类型简化的SignedData数据类型是指GB/T35275中签名数据类型SignedData的简化,其没有签名者,只是为了传送证书和证书吊销列表。在携带证书时,证书将包含在SignedData的cert

38、ificates宇段中。在携带CRL时,CRL将包含在SignedData的crls宇段中。7 SCEP事务7.1 获取CA证书7.1.1 请求消息格式为了得到CA证书,客户端发送一个GetCACert消息到服务端。此消息中没有相关数据。7.1.2 晌应消息格式响应消息格式取决于服务端是否具有RA证书或只有一个CA证书,服务端应明确指定它发送的是何种响应。所有返回的证书格式应符合GB/T20518-2018。如果服务端就是CA证书认证机构,并且没有任何RA证书,那么响应由一个CA证书组成。如果服务端具有RA证书,则响应消息就是一个简化的SignedData数据类型,其中只包含CA证书和RA证书

39、。7.2 证书注册7.2.1 请求消息格式PKCSReq消息用于证书注册申请。先决条件:客户端和CA认证机构都已经完成了初始化过程。客户端已经配置了CA/RA证书。后置条件:客户端收到证书,请求可以被拒绝,或者请求待处理。待处理的响应可能表明需要人工认证。7.2.2 晌应消息格式响应消息应是一个服务端返回的CertRep消息,分为成功CSUCCESS)、失败CFAILURE)或待处理CPENDING)兰种状态。11 G/T 0089-2020 如果请求被授予,返回一个事务状态为SUCCESS的CertRep消息,响应消息应包含签发的证书。如果请求被拒绝,则返回一个事务状态为FAILURE的Ce

40、rtRep消息,响应消息应包含failInfo属性。如果CA配置为对客户端的验证为人工方式,则返回一个事务状态为PENDING的CertRep消息,CA也可能因为其他原因返回PENDING。7.3 证书轮询7.3.1 请求消息格式由事务状态为PENDING的CertRep触发,客户端将通过定期发送GetCertInitial状态查询请求到服务端,从而进入轮询状态,直到请求被授予并且证书被发回,或者请求被拒绝,或者超过配置的轮询时间限制(或最大轮询次数)。由于GetCertInitial是注册的一部分,在轮询期间的消息交换应携带与前一个PKCSReq相同的业务ID属性。服务端接收到一个与PKCS

41、Req不匹配的GetCertInitial时,应忽略该请求。由于此时证书尚未发出,客户端只能使用自己的主体名称(通过PKCSReq发送的,包含在GM/T0092 格式中的证书注册请求)来识别轮询证书请求。因为来自一个客户端可以有多个未完成的请求(例如,不同的密钥和不同的密钥用法将被用来请求多个证书),事务ID也应包括在内,以消除多个请求之间的歧义。先决条件:客户端已经收到一个事务状态为PENDING的CertRep消息。后 置条件:客户端已经收到了有效的回复,可以是有效的证书(事务状态为SUCCESS),也可以申请失败(事务状态为FAILURE),或者轮询周期超时。7.3.2 晌应消息格式Ge

42、tCertInitial的响应消息与7.2.2中相同。7.4 证书查询7.4.1 请求消息格式客户端可以通过签发者名称和待查询证书的证书序列号,从SCEP服务端查询签发的证书。此事务不用于提供通用证书目录服务。此事务由客户端发送到服务端的一个GetCert消息,并从服务端得到一个CertRep消息作为响应。先决条件:证书认证机构已发出客户端实体的证书,而签发者指定的序列号是已知的。后 置条件:成功应返回证书,或者请求被拒绝。7.4.2 晌应消息格式在这种情况下,服务端上的CertRep与7.2.2相同,只是服务端返回状态只有SUCCESS和FAILURE两种。7.5 CRL查询7.5.1 请求

43、消息格式客户端可以从SCEP服务端请求CRL。先决条件:证书认证机构证书已下载到最终实体。12 G/T 0089-2020 后置条件:将CRL发送回客户端。7.5.2 晌应消息格式CRL被通过CertRep消息发送回客户端,此消息的信息部分是如6.4的一个简化的SignedData数据类型,仅包含CRL。7.6 获取下一个CA证书7.6.1 请求消息格式当CA证书即将过期时,客户端需要检索CA的即将启用的新CA证书。这是通过GetNextCACert消息完成的,该消息没有相关请求数据。7.6.2 晌应消息格式响应消息应由CA或RA签名,客户端应在接受其任何内容之前应先对签名进行验证,签名消息符

44、合GB/T35275中的SignedData结构。SignedData的内容是简化的,其中包含新的CA证书和可能存在的新的RA证书,如8.2.1中所定义。如果CA没有即将启用的新CA证书,则应拒绝该请求,并从功能中删除GetNextCACert设置,直到其成功进行证书更新后再恢复设置。如果此响应中有任何RA证书,客户端应检查这些RA证书是否由CA签名,并且应检查这些RA证书的授权。8 SCEP传输协议8.1 HTTP消息格式8. 1. 1 请求消息SCEP使用HTTPGET消息实现传输协议。下面定义了从客户端发送到服务端HTTPGET消息的语法。GET CGI-PATH CGI-PROG ?

45、operation= OPERATION &message= MESSAGE 其中:CGI-PATH定义了调用解析请求CGI程序的实际CGI路径。CGI-RROG被设置为字符串pkiclient.exe。这是CA用来处理SCEP事务的程序。CA可忽略CGI-RROG,只使用CGI-PATH。OPERATION和MESSAGE取决于具体SCEP事务,在以下各条中定义。如果CA支持,则除GetCACert、GetNextCACert或GetCACaps之外,其他SCEP消息都可以不通过HTTPGET,而通过HTTPPOST发送。在这种形式的消息中,不使用base64编码。POST / cgi-bi

46、n/ pkiclient. exe? operation = PKIOperation HTTP/1. OContent-Length: 客户端可通过POSTPKIOperation功能来验证CA是否支持POST操作,按附录A进行。8.1.2 晌应消息对于每个GET操作,CA/RA服务端应返回内容类型和适当的响应数据。13 G/T 0089-2020 8.2 SCEP 5肖,息8.2.1 获取CA证书8.2.1.1 请求消息OPERATION应设置为GetCACert。MESSAGE可省略,也可能是表示证书认证机构签发者标识符的字符串。一个SCEP服务端可以支持多个CA。8.2.1.2 晌应消

47、息客户端在注册期间,根据CA设置的策略与CA或RA通信。a) CA证书响应响应消息应具有application/x-x509-ca-cert的内容类型。此响应消息的正文仅由CA证书组成,如7.1.2中所定义。Content-Type: application/ x-x509-ca-certnn(binary X.509 b) CA和RA证书响应响应消息应具有application/x-x509-ca-ra-cert的内容类型。此响应消息的正文由一个简化的数字信封组成,如7.1.2中所定义。Content-Type: application/ x-x509-ca-ra-certnn (binar

48、y GB/ T 35275 8.2.2 证书注册8.2.2.1 请求消息OPERATION应设置为PKIOperation。MESSAGE应设置为PKCSReq消息。该消息应按base64编码。base64编码的数据与base64 url编码的数据不同,可能包含URI保留字符,因此应进行转义。8.2.2.2 晌应消息响应消息应具有application/x-pki-message的内容类型。此响应消息应为CertRep消息,如7.2.1中所定义。Content-Type: application/ x-pki-messagenn (binary CertRep msg 8.2.3 证书轮询8.

49、2.3.1 请求消息OPERATION应设置为PKIOperation。MESSAGE应设置为GetCertInitial消息。该消息应按base64编码。base64编码的数据与base64 url编码的数据不同,可能包含URI保留字符,因此应进行转义。8.2.3.2 晌应消息此响应消息应设置为CertRep消息,如7.3.1中定义。14 G/T 0089-2020 8.2.4 证书查询8.2.4.1 请求消息OPERATION应设置为PKIOperation。MESSAGE应设置为GetCert消息,该消息应按base64编码。base64编码的数据与base64url编码的数据不同,可能

50、包含URI保留字符,因此应进行转义。8.2.4.2 晌应消息此响应消息应设置为CertRep消息,如7.4.1中定义。8.2.5 CRL查询8.2.5.1 请求消息OPERATION应设置为PKIOperation。MESSAGE应设置为GetCRL消息,该消息应按base64编码。base64编码的数据与base64url编码的数据不同,可能包含URI保留字符,因此应进行转义。8.2.5.2 晌应消息此响应消息应设置为CertRep消息,如7.5.1中定义。8.2.6 获取下一个CA证书8.2.6.1 请求消息OPERATION应设置为GetNextCACert。MESSAGE可省略,也可以

展开阅读全文
相似文档
猜你喜欢
搜索标签

当前位置:首页 > 品牌综合 > 行业标准/行业规范

移动网页_全站_页脚广告1

关于我们     诚招英才     服务填表     联系我们

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服