Valid

GM/T 0089-2020Simple certificate enrollment protocol specification (English PDF)

简单证书注册协议规范

Preview PDF

This is a limited preview

Buy now to download the full PDF (30 pages)

Need quotation for your management?

Get a formal quotation for GM/T 0089-2020 in 30 minutes.

Issued by

State Administration of Cryptography

Level / Type

National · Recommended

Issue date

December 28, 2020

Implementation date

July 1, 2021

Scope

GM/T 0089-2020 is the English-translated version of 简单证书注册协议规范.

GM/T 0089-2020 — This document defines a simple protocol for certificate enrollment using the SM2 algorithm. This document is applicable to guiding the development of a digital certificate authentication system that provides automatic certificate enrollment, as well as the use of SM2 algorithm for automatic enrollment of device certificates.

Found what you need?

Document preview — GM/T 0089-2020

National Standard of the People's Republic of China

ICS
35.040
Classification
L 80

Contents

  • Foreword1
  • Scope2
  • Normative references3
  • Terms and definitions4
  • Abbreviations5
  • Overview6
  • RA7
  • Client certification8
  • Enrollment certification9
  • CA/RA certificate distribution10
  • Certificate enrollment11
  • CRL query12
  • Certificate revocation13
  • Overview14
  • SCEP message structure15
  • Signing time (signingTime)16
  • Overview17
  • Certificate enrollment18
  • Overview19
  • Transaction success20
  • Simplified SignedData data type21
  • Request message format22
  • Request message format23
  • Response message format24
  • Request message format25
  • Response message format26
  • Request message format27
  • Response message format28
  • Request message format29
  • Request message format30
  • Request message31
  • Request message32
  • Request message33
  • Response message34
  • Request message35
  • Request message36
  • Foreword37
  • Request message38
  • Request message39
  • Request message40
  • Response message41
  • Request message42
  • Request message43

Foreword

This document is drafted in accordance with GB/T 1.1-2020 "Directives for standardization - Part 1: Rules for the structure and drafting of standardizing documents".

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The issuing authority of this document shall not be held responsible for identifying any or all such patent rights.

This document was proposed by and shall be under the jurisdiction of Cryptography Standardization Technical Committee.

Drafting organizations of this document. Changchun Jilin University Zhengyuan Information Technologies Co., Ltd., Beijing Infosec Technologies Co., Ltd., Koal Software Co., Ltd., Westone Information Industry INC., Feitian Technologies Co., Ltd., Beijing Certificate Authority Co., Ltd., Xingtang Telecommunications Technology Co., Ltd., Shanghai Electronic Certification Authority Co., Ltd., Beijing WatchSmart Technologies Co., Ltd., Beijing HuaDa ZhiBao Electronic System Co., Ltd., Beijing Creative Century Technology Co., Ltd., Shandong Dean Information Technology Co., Ltd.

Main drafters of this document. Zhao Lili, Zhang Qingyong, Zheng Qiang, Zhang Liting, Luo Jun, Zhu Pengfei, Fu Dapeng, Wang Nina, Han Wei, Wang Xuelin, Zhang Yuan, Chen Baoru, Wang Xiaochen, Ma Hongfu.

1 Scope

This document defines a simple protocol for certificate enrollment using the SM2 algorithm.

This document is applicable to guiding the development of a digital certificate authentication system that provides automatic certificate enrollment, as well as the use of SM2 algorithm for automatic enrollment of device certificates.

2 Normative references

The contents of the following documents, through normative references in this text, constitute indispensable provisions of this document. Among them, for dated references, only the edition corresponding to that date applies to this document. For undated references, the latest edition (including all amendments) applies to this document.

GB/T 20518-2018 Information security technology - Public key infrastructure - Digital certificate format GB/T 32918 (all parts) Information security technology - Public key cryptographic algorithm SM2 based on elliptic curves GB/T 35275-2017 Information security technology - SM2 cryptographic algorithm encrypted signature message syntax specification GM/T 0092 Specification of certificate request syntax based on SM2 cryptographic algorithm GM/Z 4001 Cryptology Terminology

3 Terms and definitions

The terms and definitions defined by GM/Z 4001 and the following ones apply to this document.

Client

The device which applies for certificate service.

Note. The client is also called the requester.

Server

The entities which provide certificate services, including CA and RA.

Digital envelope

A data structure which contains a ciphertext encrypted with a symmetric key and the symmetric key encrypted with a public key.

4 Abbreviations

The following abbreviations apply to this document.

CA. Certification Authority CDP. CRL Distribution Point CGI. Common Gateway Interface

5.1.1 Overview

SCEP entities include client and server. The server is composed of CA and RA.

SCEP describes the protocol process and format of the client's enrollment and certification with the server. The entity relationship of SCEP is shown in Figure 1.

5.1.4 RA

RA is a kind of SCEP server. It performs certification and authorization checks on SCEP clients. At the same time, the certification request is forwarded to the CA. The name of the RA shall not appear in the issuer field of the generated certificate.

5.2 Client certification

In order to encrypt and sign data according to the syntax format of GB/T 35275, the client shall have an available local certificate.

5.3 Enrollment certification

The server can set a policy, to automatically or manually enroll and authenticate the client's request.

5.4 CA/RA certificate distribution

If the client has not obtained a CA/RA certificate before, starting any PKI operation, it shall apply for a CA/RA certificate.

5.5 Certificate enrollment

The client creates a certificate request according to GM/T 0092 to start the certificate enrollment transaction; and sends it to CA/RA after encapsulating it according to GB/T 35275.

5.7 CRL query

SCEP clients can obtain CRL through one of the following two methods.

5.8 Certificate revocation

SCEP does not specify the method for requesting certificate revocation.

6.1 Overview

SCEP messages with confidentiality requirements adopt a two-layer structure, see GB/T 35275.By simultaneously applying digital envelope and digital signature, the end-to-end transaction information integrity and confidentiality of the information part of the SCEP message are protected.

6.2.1 SCEP message structure

The basic structure of all secure SCEP message objects is the SCEP message.

This structure is composed of the SignedData type in GB/T 35275, as defined in 8.1 in GB/T 35275-2017.There are the following restrictions.

If there is a signed content (the CertRep message is in the SUCCESS status), the content shall be a pkcsPKIEnvelope structure and shall match the messageType attribute.

6.2.2.7 Signing time (signingTime)

The signing time attribute specifies the time for the signer to perform the signing process. This attribute is optional. For its definition, please refer to PKCS#9.

6.3.1 Overview

The type of SCEP message shall be specified in the messageType certification attribute. The following subclauses define valid message types, corresponding message data formats, and mandatory certification attributes of this type.

6.3.2 Certificate enrollment

This type of MessageData domain contains a GM/T 0092 certificate request.

The certificate enrollment can include any domain defined in GM/T 0092; and shall contain at least the following items.

6.3.3.1 Overview

This type of messageData attribute contains a simplified SignedData as shown in 6.4.The exact content required for the response depends on the type of request for this message response, which is described in Table 1 and Clause 4.

In addition to the authenticatedAttributes required by valid GB/T 35275, pkiMessage shall also contain the following attributes.

6.3.3.2 Transaction success

When the transaction status is set to SUCCESS, the messageData of this message contains a simplified digital envelope as defined in 6.4.Its content depends on the certificate enrollment request, as shown in Table 2.

6.4 Simplified SignedData data type

The simplified SignedData data type refers to the simplification of the signed data type SignedData in GB/T 35275.It does not have a signer; is only used to transmit certificates and certificate revocation lists.

7.1.1 Request message format

In order to obtain the CA certificate, the client sends a GetCACert message to the server. There is no relevant data in this message.

7.2.1 Request message format

The PKCSReq message is used for certificate enrollment application.

Prerequisite. Both the client and the CA certification authority have completed the initialization process. The client has been configured with a CA/RA certificate.

7.2.2 Response message format

The response message shall be a CertRep message returned by the server, which is divided into three status. SUCCESS, FAILURE, or PENDING.

7.3.1 Request message format

Triggered by a CertRep whose transaction status is PENDING, the client will periodically send GetCertInitial status query requests to the server, to enter the polling status; until the request is granted and the certificate is sent back; or the request is rejected; or the configured polling time limit (or maximum number of polls) is exceeded.

7.3.2 Response message format

The response message of GetCertInitial is the same as in 7.2.2.

7.4.1 Request message format

Through the name of the issuer and the certificate serial number of the certificate to be queried, the client can query the issued certificate from the SCEP server. This transaction is not used to provide general certificate directory services.

7.4.2 Response message format

In this case, the CertRep on the server is the same as 7.2.2; except that the status returned by the server is only SUCCESS or FAILURE.

7.5.1 Request message format

The client can request the CRL from the SCEP server.

Prerequisite. The certificate of the certification authority has been downloaded to the end entity.

Post-condition. Send the CRL back to the client.

7.6.1 Request message format

When the CA certificate is about to expire, the client needs to retrieve the new CA certificate of the CA that is about to be activated. This is done through the GetNextCACert message. This message has no related request data.

8.1.1 Request message

SCEP uses the HTTP "GET" message to implement the transmission protocol.

The following defines the syntax of the HTTP GET message sent from the client to the server.

8.2.1.1 Request message

OPERATION shall be set to "GetCACert".

MESSAGE can be omitted; or it may be a string representing the identifier of the issuer of the certification authority. One SCEP server can support multiple CAs.

8.2.2.1 Request message

OPERATION shall be set to "PKIOperation".

MESSAGE shall be set to PKCSReq message. The message shall be base64 encoded. The "base64" encoded data is different from the "base64url" encoded data, which may contain URI reserved characters, so it shall be escaped.

8.2.2.2 Response message

The response message shall have a content type of "application/x-pki-message".

8.2.3.1 Request message

OPERATION shall be set to "PKIOperation".

MESSAGE shall be set to GetCertInitial message. The message shall be base64 encoded. The "base64" encoded data is different from the "base64url" encoded data, which may contain URI reserved characters, so it shall be escaped.

8.2.5.1 Request message

OPERATION shall be set to "PKIOperation".

MESSAGE shall be set to GetCRL message. The message shall be base64 encoded. The "base64" encoded data is different from the "base64url" encoded data, which may contain URI reserved characters, so it shall be escaped.

GM/T 0089-2020

CRYPTOGRAPHY INDUSTRY STANDARD ICS 35.040 CCS L 80 Simple certificate enrollment protocol specification Issued on. DECEMBER 28, 2020 Implemented on. JULY 01, 2021 Issued by. State Cryptography Administration

Table of Contents

Foreword... 3

Introduction... 4

1 Scope... 5

2 Normative references... 5

3 Terms and definitions... 5

4 Abbreviations... 6

5 SCEP function... 7

5.1 SCEP entities... 7

5.2 Client certification... 9

5.3 Enrollment certification... 9

5.4 CA/RA certificate distribution... 10

5.5 Certificate enrollment... 10

5.6 Certificate query... 13

5.7 CRL query... 14

5.8 Certificate revocation... 14

6 SCEP security message object... 15

6.1 Overview... 15

6.2 SCEP message... 15

6.3 SCEP message type... 18

6.4 Simplified SignedData data type... 21

7 SCEP transaction... 21

7.1 Obtain a CA certificate... 21

7.2 Certificate enrollment... 22

7.3 Certificate polling... 22

7.4 Certificate query... 23

7.5 CRL query... 24

7.6 Obtain the next CA certificate... 24

8 SCEP transmission protocol... 25

8.1 HTTP message format... 25

8.2 SCEP message... 25 Appendix A (Normative) GetCACaps message... 29 Bibliography... 30

Foreword

This document is drafted in accordance with GB/T 1.1-2020 "Directives for standardization - Part 1: Rules for the structure and drafting of standardizing documents".

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The issuing authority of this document shall not be held responsible for identifying any or all such patent rights.

This document was proposed by and shall be under the jurisdiction of Cryptography Standardization Technical Committee.

Drafting organizations of this document. Changchun Jilin University Zhengyuan Information Technologies Co., Ltd., Beijing Infosec Technologies Co., Ltd., Koal Software Co., Ltd., Westone Information Industry INC., Feitian Technologies Co., Ltd., Beijing Certificate Authority Co., Ltd., Xingtang Telecommunications Technology Co., Ltd., Shanghai Electronic Certification Authority Co., Ltd., Beijing WatchSmart Technologies Co., Ltd., Beijing HuaDa ZhiBao Electronic System Co., Ltd., Beijing Creative Century Technology Co., Ltd., Shandong Dean Information Technology Co., Ltd.

Main drafters of this document. Zhao Lili, Zhang Qingyong, Zheng Qiang, Zhang Liting, Luo Jun, Zhu Pengfei, Fu Dapeng, Wang Nina, Han Wei, Wang Xuelin, Zhang Yuan, Chen Baoru, Wang Xiaochen, Ma Hongfu.

1 Scope

This document defines a simple protocol for certificate enrollment using the SM2 algorithm.

This document is applicable to guiding the development of a digital certificate authentication system that provides automatic certificate enrollment, as well as the use of SM2 algorithm for automatic enrollment of device certificates.

2 Normative references the contents of the following documents, through normative references in this text, constitute indispensable provisions of this document. Among them, for dated references, only the edition corresponding to that date applies to this document. For undated references, the latest edition (including all amendments) applies to this document.

GB/T 20518-2018 Information security technology - Public key infrastructure - Digital certificate format GB/T 32918 (all parts) Information security technology - Public key cryptographic algorithm SM2 based on elliptic curves GB/T 35275-2017 Information security technology - SM2 cryptographic algorithm encrypted signature message syntax specification GM/T 0092 Specification of certificate request syntax based on SM2 cryptographic algorithm GM/Z 4001 Cryptology Terminology

3 Terms and definitions the terms and definitions defined by GM/Z 4001 and the following ones apply to this document.

Client

The device which applies for certificate service.

Note. The client is also called the requester.

Server

The entities which provide certificate services, including CA and RA.

Digital envelope

A data structure which contains a ciphertext encrypted with a symmetric key and the symmetric key encrypted with a public key.

4 Abbreviations

The following abbreviations apply to this document.

CA. Certification Authority CDP. CRL Distribution Point CGI. Common Gateway Interface

5 SCEP function

5.1 SCEP entities

5.1.1 Overview

SCEP entities include client and server. The server is composed of CA and RA.

SCEP describes the protocol process and format of the client's enrollment and certification with the server. The entity relationship of SCEP is shown in Figure 1.

5.1.4 RA

RA is a kind of SCEP server. It performs certification and authorization checks on SCEP clients. At the same time, the certification request is forwarded to the CA. The name of the RA shall not appear in the issuer field of the generated certificate.

5.2 Client certification in order to encrypt and sign data according to the syntax format of GB/T 35275, the client shall have an available local certificate.

5.3 Enrollment certification the server can set a policy, to automatically or manually enroll and authenticate the client's request.

5.4 CA/RA certificate distribution If the client has not obtained a CA/RA certificate before, starting any PKI operation, it shall apply for a CA/RA certificate.

5.5 Certificate enrollment the client creates a certificate request according to GM/T 0092 to start the certificate enrollment transaction; and sends it to CA/RA after encapsulating it according to GB/T 35275.

5.7 CRL query

SCEP clients can obtain CRL through one of the following two methods.

5.8 Certificate revocation SCEP does not specify the method for requesting certificate revocation.

6 SCEP security message object

6.1 Overview

SCEP messages with confidentiality requirements adopt a two-layer structure, see GB/T 35275.By simultaneously applying digital envelope and digital signature, the end-to-end transaction information integrity and confidentiality of the information part of the SCEP message are protected.

6.2 SCEP message

6.2.1 SCEP message structure the basic structure of all secure SCEP message objects is the SCEP message.

This structure is composed of the SignedData type in GB/T 35275, as defined in 8.1 in GB/T 35275-2017.There are the following restrictions.

If there is a signed content (the CertRep message is in the SUCCESS status), the content shall be a pkcsPKIEnvelope structure and shall match the messageType attribute.

6.2.2 Signed transaction attributes

6.2.2.7 Signing time (signingTime) the signing time attribute specifies the time for the signer to perform the signing process. This attribute is optional. For its definition, please refer to PKCS#9.

6.3 SCEP message type

6.3.1 Overview

The type of SCEP message shall be specified in the messageType certification attribute. The following subclauses define valid message types, corresponding message data formats, and mandatory certification attributes of this type.

6.3.2 Certificate enrollment this type of MessageData domain contains a GM/T 0092 certificate request.

The certificate enrollment can include any domain defined in GM/T 0092; and shall contain at least the following items.

6.3.3 Certificate enrollment response

6.3.3.1 Overview

This type of messageData attribute contains a simplified SignedData as shown in 6.4.The exact content required for the response depends on the type of request for this message response, which is described in Table 1 and Clause 4.

In addition to the authenticatedAttributes required by valid GB/T 35275, pkiMessage shall also contain the following attributes.

6.3.3.2 Transaction success when the transaction status is set to SUCCESS, the messageData of this message contains a simplified digital envelope as defined in 6.4.Its content depends on the certificate enrollment request, as shown in Table 2.

6.4 Simplified SignedData data type the simplified SignedData data type refers to the simplification of the signed data type SignedData in GB/T 35275.It does not have a signer; is only used to transmit certificates and certificate revocation lists.

7 SCEP transaction

7.1 Obtain a CA certificate

7.1.1 Request message format in order to obtain the CA certificate, the client sends a GetCACert message to the server. There is no relevant data in this message.

7.2 Certificate enrollment

7.2.1 Request message format the PKCSReq message is used for certificate enrollment application.

Prerequisite. Both the client and the CA certification authority have completed the initialization process. The client has been configured with a CA/RA certificate.

7.2.2 Response message format the response message shall be a CertRep message returned by the server, which is divided into three status. SUCCESS, FAILURE, or PENDING.

7.3 Certificate polling

7.3.1 Request message format Triggered by a CertRep whose transaction status is PENDING, the client will periodically send GetCertInitial status query requests to the server, to enter the polling status; until the request is granted and the certificate is sent back; or the request is rejected; or the configured polling time limit (or maximum number of polls) is exceeded.

7.3.2 Response message format the response message of GetCertInitial is the same as in 7.2.2.

7.4 Certificate query

7.4.1 Request message format Through the name of the issuer and the certificate serial number of the certificate to be queried, the client can query the issued certificate from the SCEP server. This transaction is not used to provide general certificate directory services.

7.4.2 Response message format in this case, the CertRep on the server is the same as 7.2.2; except that the status returned by the server is only SUCCESS or FAILURE.

7.5 CRL query

7.5.1 Request message format the client can request the CRL from the SCEP server.

Prerequisite. The certificate of the certification authority has been downloaded to the end entity.

Post-condition. Send the CRL back to the client.

7.6 Obtain the next CA certificate

7.6.1 Request message format when the CA certificate is about to expire, the client needs to retrieve the new CA certificate of the CA that is about to be activated. This is done through the GetNextCACert message. This message has no related request data.

8 SCEP transmission protocol

8.1.1 Request message

SCEP uses the HTTP "GET" message to implement the transmission protocol.

The following defines the syntax of the HTTP GET message sent from the client to the server.

8.2.1.1 Request message

OPERATION shall be set to "GetCACert".

MESSAGE can be omitted; or it may be a string representing the identifier of the issuer of the certification authority. One SCEP server can support multiple CAs.

8.2.2.1 Request message

OPERATION shall be set to "PKIOperation".

MESSAGE shall be set to PKCSReq message. The message shall be base64 encoded. The "base64" encoded data is different from the "base64url" encoded data, which may contain URI reserved characters, so it shall be escaped.

8.2.2.2 Response message

The response message shall have a content type of "application/x-pki-message".

8.2.3.1 Request message

OPERATION shall be set to "PKIOperation".

MESSAGE shall be set to GetCertInitial message. The message shall be base64 encoded. The "base64" encoded data is different from the "base64url" encoded data, which may contain URI reserved characters, so it shall be escaped.

8.2.5.1 Request message

OPERATION shall be set to "PKIOperation".

MESSAGE shall be set to GetCRL message. The message shall be base64 encoded. The "base64" encoded data is different from the "base64url" encoded data, which may contain URI reserved characters, so it shall be escaped.

......
This preview omits tables, figures, formulas and parts of the technical clauses. The complete document — 30 pages — is available in the English PDF.

Referenced standards

How to Download GM/T 0089-2020

  1. 1

    Add to cart

    Click "Download PDF" on this page and choose "Buy this standard". You can add more standards before checkout.

  2. 2

    Checkout

    Enter your email and billing details. Payment is processed securely by Stripe (cards or bank transfer). Prefer bank details? Request a quotation (min. order $300).

  3. 3

    Instant delivery (0–9 sec)

    Delivery is automatic: within seconds of payment you'll receive an email with a secure download link. The link stays valid for 72 hours.

  4. 4

    Invoice included

    A tax invoice is attached to the confirmation email. Need a custom invoice? Contact us.

Related Standards

English PDF
30 pages
Instant delivery (0–9 sec)
Invoice included
View Cart

Secure payment via Stripe

Payments accepted

VisaMastercardAmerican ExpressApple PayGoogle PayStripe

GM/T 0089-2020

$300.00