Network Working Group                                          D. Pinkas
Request for Comments: 3126                                      Integris
Category: Informational                                          J. Ross
                                                                 N. Pope
                                                    Security & Standards
                                                          September 2001
        
Network Working Group                                          D. Pinkas
Request for Comments: 3126                                      Integris
Category: Informational                                          J. Ross
                                                                 N. Pope
                                                    Security & Standards
                                                          September 2001
        

Electronic Signature Formats for long term electronic signatures

长期电子签名的电子签名格式

Status of this Memo

本备忘录的状况

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

本备忘录为互联网社区提供信息。它没有规定任何类型的互联网标准。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The Internet Society (2001). All Rights Reserved.

版权所有(C)互联网协会(2001年)。版权所有。

Abstract

摘要

This document defines the format of an electronic signature that can remain valid over long periods. This includes evidence as to its validity even if the signer or verifying party later attempts to deny (i.e., repudiates the validity of the signature).

本文件规定了可以长期有效的电子签字的格式。这包括关于其有效性的证据,即使签字人或验证方后来试图否认(即否认签字的有效性)。

The format can be considered as an extension to RFC 2630 and RFC 2634, where, when appropriate additional signed and unsigned attributes have been defined.

可以将该格式视为RFC 2630和RFC 2634的扩展,其中定义了适当的附加有符号和无符号属性。

The contents of this Informational RFC is technically equivalent to ETSI TS 101 733 V.1.2.2. The ETSI TS is under the ETSI Copyright (C). Individual copies of this ETSI deliverable can be downloaded from http://www.etsi.org

本信息RFC的内容在技术上等同于ETSI TS 101 733 V.1.2.2。ETSI TS受ETSI版权保护(C)。本ETSI交付成果的单独副本可从以下网站下载:http://www.etsi.org

Table of Contents

目录

1. Introduction 4 2 Overview 5 2.1 Aim 5 2.2 Basis of Present Document 5 2.3 Major Parties 6 2.4 Electronic Signatures and Validation Data 7 2.5 Forms of Validation Data 8 2.6 Extended Forms of Validation Data 11 2.7 Archive Validation Data 13 2.8 Arbitration 15 2.9 Validation Process 15 2.10 Example Validation Sequence 16 2.11 Additional optional features 21 3. Data structure of an Electronic Signature 22 3.1 General Syntax 22 3.2 Data Content Type 22 3.3 Signed-data Content Type 22 3.4 SignedData Type 22 3.5 EncapsulatedContentInfo Type 23 3.6 SignerInfo Type 23 3.6.1 Message Digest Calculation Process 23 3.6.2 Message Signature Generation Process 24 3.6.3 Message Signature Verification Process 24 3.7 CMS Imported Mandatory Present Attributes 24 3.7.1 Content Type 24 3.7.2 Message Digest 24 3.7.3 Signing Time 24 3.8 Alternative Signing Certificate Attributes 24 3.8.1 ESS Signing Certificate Attribute Definition 25 3.8.2 Other Signing Certificate Attribute Definition 25 3.9 Additional Mandatory Attributes 26 3.9.1 Signature policy Identifier 26 3.10 CMS Imported Optional Attributes 28 3.10.1 Countersignature 29 3.11 ESS Imported Optional Attributes 29 3.11.1 Content Reference Attribute 29 3.11.2 Content Identifier Attribute 29 3.11.3 Content Hints Attribute 29 3.12 Additional Optional Attributes 30 3.12.1 Commitment Type Indication Attribute 30 3.12.2 Signer Location attribute 32 3.12.3 Signer Attributes attribute 33 3.12.4 Content Time-Stamp attribute 34 3.13 Support for Multiple Signatures 34 3.13.1 Independent Signatures 34 3.13.2 Embedded Signatures 34

1. 导言4 2概述5 2.1目标5 2.2本文件的基础5 2.3主要缔约方6 2.4电子签名和验证数据7 2.5验证数据格式8 2.6验证数据扩展格式11 2.7归档验证数据13 2.8仲裁15 2.9验证过程15 2.10验证顺序示例16 2.11附加可选特色21 3。电子签名的数据结构22 3.1一般语法22 3.2数据内容类型22 3.3签名数据内容类型22 3.4签名数据类型22 3.5封装内容信息类型23 3.6签名信息类型23 3.6.1消息摘要计算过程23 3.6.2消息签名生成过程24 3.6.3消息签名验证过程24 3.7CMS导入的强制呈现属性24 3.7.1内容类型24 3.7.2消息摘要24 3.7.3签名时间24 3.8替代签名证书属性24 3.8.1 ESS签名证书属性定义25 3.8.2其他签名证书属性定义25 3.9其他强制属性26 3.9.1签名策略标识符263.10 CMS导入的可选属性28 3.10.1会签29 3.11 ESS导入的可选属性29 3.11.1内容参考属性29 3.11.2内容标识符属性29 3.11.3内容提示属性29 3.12其他可选属性30 3.12.1承诺类型指示属性30 3.12.2签名者位置属性32 3.12.3签名者属性33 3.12.4内容时间戳属性34 3.13支持多个签名34 3.13.1独立签名34 3.13.2嵌入签名34

4. Validation Data 35 4.1 Electronic Signature Time-Stamp 36 4.1.1 Signature Time-Stamp Attribute Definition 36 4.2 Complete Validation Data 37 4.2.1 Complete Certificate Refs Attribute Definition 38 4.2.2 Complete Revocation Refs Attribute Definition 38 4.3 Extended Validation Data 40 4.3.1 Certificate Values Attribute Definition 40 4.3.2 Revocation Values Attribute Definition 41 4.3.3 ES-C Time-Stamp Attribute Definition 42 4.3.4 Time-Stamped Certificates and CRLs Attribute Definition 42 4.4 Archive Validation Data 43 4.4.1 Archive Time-Stamp Attribute Definition 43 5. Security Considerations 44 5.1 Protection of Private Key 44 5.2 Choice of Algorithms 44 6. Conformance Requirements 45 6.1 Signer 45 6.2 Verifier using time-stamping 46 6.3 Verifier using secure records 46 7. References 47 8. Authors' Addresses 48 Annex A (normative): ASN.1 Definitions 49 A.1 Definitions Using X.208 (1988) ASN.1 Syntax 49 A.2 Definitions Using X.680 1997 ASN.1 Syntax 57 Annex B (informative): General Description 66 B.1 The Signature Policy 66 B.2 Signed Information 67 B.3 Components of an Electronic Signature 68 B.3.1 Reference to the Signature Policy 68 B.3.2 Commitment Type Indication 69 B.3.3 Certificate Identifier from the Signer 69 B.3.4. Role Attributes 70 B.3.4.1 Claimed Role 71 B.3.4.2 Certified Role 71 B.3.5 Signer Location 72 B.3.6 Signing Time 72 B.3.7 Content Format 73 B.4 Components of Validation Data 73 B.4.1 Revocation Status Information 73 B.4.2 CRL Information 74 B.4.3 OCSP Information 74 B.4.4 Certification Path 75 B.4.5 Time-Stamping for Long Life of Signature 76 B.4.6 Time-Stamping before CA Key Compromises 77 B.4.6.1 Time-Stamping the ES with Complete validation data 77 B.4.6.2 Time-Stamping Certificates and Revocation Information 78 B.4.7 Time-Stamping for Long Life of Signature 79

4. 验证数据35 4.1电子签名时间戳36 4.1.1签名时间戳属性定义36 4.2完整验证数据37 4.2.1完整证书引用属性定义38 4.2.2完整撤销引用属性定义38 4.3扩展验证数据40 4.3.1证书值属性定义40 4.3.2撤销值属性定义41 4.3.3 ES-C时间戳属性定义42 4.3.4时间戳证书和CRLs属性定义42 4.4存档验证数据43 4.4.1存档时间戳属性定义43 5。安全考虑44 5.1私钥保护44 5.2算法选择44 6。合规性要求45 6.1签名人45 6.2使用时间戳的验证者46 6.3使用安全记录的验证者46 7。参考文献478。作者地址48附件A(规范性):ASN.1定义49 A.1使用X.208(1988)的定义ASN.1语法49 A.2使用X.680 1997 ASN.1语法57的定义附件B(资料性):概述66 B.1签名策略66 B.2签名信息67 B.3电子签名的组件68 B.3.1签名策略68 B.3.2承诺类型指示69 B.3.3签名者的证书标识符69 B.3.4。角色属性70 B.3.4.1声明角色71 B.3.4.2认证角色71 B.3.5签名者位置72 B.3.6签名时间72 B.3.7内容格式73 B.4验证数据组件73 B.4.1撤销状态信息73 B.4.2 CRL信息74 B.4.3 OCSP信息74 B.4.4认证路径75 B.4.5签名长寿命时间戳76B.4.6 CA密钥泄露前的时间戳77 B.4.6.1使用完整验证数据为ES加盖时间戳77 B.4.6.2加盖时间戳证书和撤销信息78 B.4.7签名长寿命的时间戳79

B.4.8 Reference to Additional Data 80 B.4.9 Time-Stamping for Mutual Recognition 80 B.4.10 TSA Key Compromise 81 B.5 Multiple Signatures 81 Annex C (informative): Identifiers and roles 82 C.1 Signer Name Forms 82 C.2 TSP Name Forms 82 C.3 Roles and Signer Attributes 83 Full Copyright Statement 84

B.4.8 参考附加数据80 B.4.9相互承认的时间戳80 B.4.10 TSA密钥妥协81 B.5多重签名81附录C(资料性):标识符和角色82 C.1签名人姓名表82 C.2 TSP姓名表82 C.3角色和签名人属性83完整版权声明84

1. Introduction
1. 介绍

This document is intended to cover electronic signatures for various types of transactions, including business transactions (e.g., purchase requisition, contract, and invoice applications) where long term validity of such signatures is important. This includes evidence as to its validity even if the signer or verifying party later attempts to deny (i.e., repudiates, see [ISONR]) the validity of the signature).

本文件旨在涵盖各类交易的电子签名,包括商业交易(如请购单、合同和发票申请),此类签名的长期有效性非常重要。这包括关于其有效性的证据,即使签字人或验证方后来试图否认(即否认,见[ISONR])签字的有效性。

Electronic signatures can be used for any transaction between an individual and a company, between two companies, between an individual and a governmental body, etc. This document is independent of any environment. It can be applied to any environment e.g., smart cards, GSM SIM cards, special programs for electronic signatures etc.

电子签名可用于个人与公司、两家公司、个人与政府机构等之间的任何交易。本文件独立于任何环境。它可以应用于任何环境,例如智能卡、GSM SIM卡、用于电子签名的特殊程序等。

An electronic signature produced in accordance with this document provides evidence that can be processed to get confidence that some commitment has been explicitly endorsed under a signature policy, at a given time, by a signer under an identifier, e.g., a name or a pseudonym, and optionally a role.

根据本文件制作的电子签名提供了证据,可以对其进行处理,以确信某项承诺已在给定时间由签名人在某一标识符(例如姓名或笔名)下明确背书,也可以是某个角色。

The European Directive on a community framework for Electronic Signatures defines an electronic signature as: "data in electronic form which is attached to or logically associated with other electronic data and which serves as a method of authentication". An electronic signature as used in the current document is a form of advanced electronic signature as defined in the Directive.

《欧洲共同体电子签名框架指令》将电子签名定义为:“附属于其他电子数据或与其他电子数据在逻辑上有关联的电子形式数据,作为认证方法”。当前文件中使用的电子签名是指令中定义的高级电子签名的一种形式。

The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document (in uppercase, as shown) are to be interpreted as described in [RFC2119].

本文件中的关键词“必须”、“不得”、“必需”、“应该”、“不应该”、“建议”、“可以”和“可选”(大写,如图所示)应按照[RFC2119]中所述进行解释。

2 Overview

2概述

2.1 Aim
2.1 目标

The aim of this document is to define an Electronic Signature (ES) that remains valid over long periods. This includes evidence as to its validity even if the signer or verifying party later attempts to deny (repudiates) the validity of the signature.

本文件的目的是定义长期有效的电子签名。这包括关于签名有效性的证据,即使签名人或验证方后来试图否认(否认)签名的有效性。

This document specifies the use of trusted service providers (e.g., Time-Stamping Authorities (TSA)), and the data that needs to be archived (e.g., cross certificates and revocation lists) to meet the requirements of long term electronic signatures. An electronic signature defined by this document can be used for arbitration in case of a dispute between the signer and verifier, which may occur at some later time, even years later. This document uses a signature policy, referenced by the signer, as the basis for establishing the validity of an electronic signature.

本文件规定了使用受信任的服务提供商(例如,时间戳机构(TSA)),以及需要存档的数据(例如,交叉证书和撤销列表),以满足长期电子签名的要求。本文件定义的电子签名可用于在签名人和验证者之间发生争议的情况下进行仲裁,该争议可能会在以后某个时间,甚至几年后发生。本文件使用签名人引用的签名政策作为确定电子签名有效性的基础。

2.2 Basis of Present Document
2.2 本文件的依据

This document is based on the use of public key cryptography to produce digital signatures, supported by public key certificates.

本文档基于使用公钥加密技术生成数字签名,并由公钥证书支持。

A Public key certificate is a public keys of a user, together with some other information, rendered unforgeable by encipherment with the private key of the Certification Authority (CA) which issued it (ITU-T Recommendation X.509 [1]).

公钥证书是用户的公钥以及一些其他信息,通过使用颁发该证书的认证机构(CA)的私钥进行加密而变得不可伪造(ITU-T建议X.509[1])。

This document also specifies the uses of time-stamping services to prove the validity of a signature long after the normal lifetime of critical elements of an electronic signature and to support non-repudiation. It also, as an option, defines the use of additional time-stamps to provide very long-term protection against key compromise or weakened algorithms.

本文件还规定了使用时间戳服务证明电子签名的关键要素在正常使用寿命之后很久的签名有效性,并支持不可否认性。作为一种选择,它还定义了额外时间戳的使用,以提供针对密钥泄露或削弱算法的长期保护。

This document builds on existing standards that are widely adopted. This includes:

本文件以广泛采用的现有标准为基础。这包括:

* RFC 2459 [RFC2459] Internet X.509 Public Key Infrastructure Certificate and CRL Profile (PKIX); * RFC 2630 [CMS] Crytographic Message Syntax (CMS); * RFC 2634 [ESS] Enhanced Security Services (ESS); * RFC 2439 [OCSP] One-line Certificate Status Protocol (OCSP); * ITU-T Recommendation X.509 [1] Authentication framework; * RFC (to be published) [TSP] PKIX Time Stamping protocol (TSP).

* RFC 2459[RFC2459]Internet X.509公钥基础设施证书和CRL配置文件(PKIX)*RFC 2630[CMS]晶体信息语法(CMS)*RFC 2634[ESS]增强型安全服务(ESS)*RFC 2439[OCSP]单行证书状态协议(OCSP)*ITU-T建议X.509[1]认证框架;*RFC(待发布)[TSP]PKIX时间戳协议(TSP)。

NOTE: See clause 8 for a full set of references.

注:全套参考资料见第8条。

2.3 Major Parties
2.3 主要政党

The following are the major parties involved in a business transaction supported by electronic signatures as defined in this document:

以下是本文件中定义的电子签名支持的商业交易的主要参与方:

* the Signer; * the Verifier; * the Arbitrator; * Trusted Service Providers (TSP).

* 签字人;*验证者;*仲裁员;*可信服务提供者(TSP)。

A Signer is an entity that initially creates the electronic signature. When the signer digitally signs over data using the prescribed format, this represents a commitment on behalf of the signing entity to the data being signed.

签名人是最初创建电子签名的实体。当签名者使用规定的格式对数据进行数字签名时,这表示代表签名实体对被签名数据的承诺。

A verifier is an entity that verifies an evidence. (ISO/IEC 13888-1 [13]). Within the context of this document this is an entity that validates an electronic signature. An arbitrator, is an entity which arbitrates disputes between a signer and a verifier when there is a disagreement on the validity of a digital signature.

验证者是验证证据的实体。(ISO/IEC 13888-1[13])。在本文件中,这是一个验证电子签名的实体。仲裁员是在数字签名的有效性存在分歧时,对签名人和验证者之间的争议进行仲裁的实体。

Trusted Service Providers (TSPs) are one or more entities that help to build trust relationships between the signer and verifier. Use of some specific TSP services MAY be mandated by signature policy. TSP supporting services may provide the following information: user certificates, cross-certificates, time-stamping tokens, CRLs, ARLs, OCSP responses.

可信服务提供者(TSP)是一个或多个帮助在签名者和验证者之间建立信任关系的实体。签名策略可能强制使用某些特定的TSP服务。TSP支持服务可能提供以下信息:用户证书、交叉证书、时间戳令牌、CRL、ARL、OCSP响应。

The following TSPs are used to support the validation or the verification of electronic signatures:

以下TSP用于支持电子签名的验证或验证:

* Certification Authorities; * Registration Authorities; * Repository Authorities (e.g., a Directory); * Time-Stamping Authorities; * One-line Certificate Status Protocol responders; * Attribute Authorities; * Signature Policy Issuers.

* 核证机关;*登记机关;*存储库权限(例如目录);*加盖时间戳的当局;*单行证书状态协议响应程序;*属性权限;*签名保单发行人。

Certification Authorities provide users with public key certificates.

证书颁发机构向用户提供公钥证书。

Registration Authorities allows the registration of entities before a CA generates certificates.

注册机构允许在CA生成证书之前注册实体。

Repository Authorities publish CRLs issued by CAs, cross-certificates (i.e., CA certificates) issued by CAs, signature policies issued by Signature Policy Issuers and optionally public key certificates (i.e., leaf certificates) issued by CAs.

存储库管理机构发布CAs发布的CRL、CAs发布的交叉证书(即CA证书)、签名策略发布者发布的签名策略以及CAs发布的可选公钥证书(即叶证书)。

Time-Stamping Authorities attest that some data was formed before a given trusted time.

时间戳权威机构证明,某些数据是在给定的可信时间之前形成的。

One-line Certificate Status Protocol responders (OSCP responders) provide information about the status (i.e., revoked, not revoked, unknown) of a particular certificate.

单行证书状态协议响应程序(OSCP响应程序)提供特定证书的状态信息(即已撤销、未撤销、未知)。

A Signature Policy Issuer issues signatures policies that define the technical and procedural requirements for electronic signature creation, validation and verification, in order to meet a particular business need.

签名策略发行人发布的签名策略定义了电子签名创建、验证和验证的技术和程序要求,以满足特定的业务需要。

Attributes Authorities provide users with attributes linked to public key certificates

属性授权为用户提供链接到公钥证书的属性

2.4 Electronic Signatures and Validation Data
2.4 电子签名和验证数据

Validation of an electronic signature in accordance with this document requires:

根据本文件验证电子签名需要:

* The electronic signature; this includes:

* 电子签名;这包括:

- the signature policy; - the signed user data; - the digital signature; - other signed attributes provided by the signer; - other unsigned attributes provided by the signer.

- 签名政策;-已签名的用户数据;-数字签名;-签名者提供的其他签名属性;-签名者提供的其他未签名属性。

Validation data which is the additional data needed to validate the electronic signature; this includes:

验证数据,即验证电子签名所需的附加数据;这包括:

- certificates references; - certificates; - revocation status information references; - revocation status information; - time-stamps from Time Stamping Authorities (TSAs).

- 证书及参考资料;-证书;-撤销状态信息引用;-撤销状态信息;-时间戳机构(TSA)提供的时间戳。

* The signature policy specifies the technical requirements on signature creation and validation in order to meet a particular business need. A given legal/contractual context may recognize a particular signature policy as meeting its requirements.

* 签名策略规定了签名创建和验证的技术要求,以满足特定的业务需要。给定的法律/合同上下文可能会认为特定的签名策略满足其要求。

For example: a specific signature policy may be recognized by court of law as meeting the requirements of the European Directive for electronic commerce. A signature policy may be written using a formal notation like ASN.1 or in an informal free text form provided the rules of the policy are clearly identified. However, for a given signature policy there shall be one definitive form which has a unique binary encoded value.

例如:法院可能承认特定的签名政策符合《欧洲电子商务指令》的要求。签名策略可以使用ASN.1之类的正式符号或非正式的自由文本形式编写,前提是明确标识了策略的规则。但是,对于给定的签名策略,应有一种具有唯一二进制编码值的确定形式。

Signed user data is the user's data that is signed.

已签名用户数据是已签名的用户数据。

The Digital Signature is the digital signature applied over the following attributes provided by the signer:

数字签名是应用于签名者提供的以下属性的数字签名:

* hash of the user data (message digest); * signature Policy Identifier; * other signed attributes

* 用户数据散列(消息摘要);*签名策略标识符;*其他有符号属性

The other signed attributes include any additional information which must be signed to conform to the signature policy or this document (e.g., signing time).

其他签名属性包括必须签名以符合签名策略或本文档的任何附加信息(例如,签名时间)。

According to the requirements of a specific signature policy in use, various Validation Data shall be collected and attached to or associated with the signature structure by the signer and/or the verifier. The validation data includes CA certificates as well as revocation status information in the form of certificate revocation lists (CRLs) or certificate status information provided by an on-line service. Additional data also includes time-stamps and other time related data used to provide evidence of the timing of given events. It is required, as a minimum, that either the signer or verifier obtains a time-stamp over the signer's signature or a secure time record of the electronic signature must be maintained. Such secure records must not be undetectably modified and must record the time close to when the signature was first validated.

根据正在使用的特定签名策略的要求,签名人和/或验证人应收集各种验证数据,并将其附在签名结构上或与签名结构相关联。验证数据包括CA证书以及证书吊销列表(CRL)形式的吊销状态信息或在线服务提供的证书状态信息。其他数据还包括时间戳和用于提供给定事件时间证据的其他时间相关数据。作为最低要求,签名人或验证人必须在签名人的签名上获得时间戳,或者必须保留电子签名的安全时间记录。此类安全记录不得被不可察觉地修改,并且必须记录签名首次验证的时间。

2.5 Forms of Validation Data
2.5 验证数据的格式

An electronic signature may exist in many forms including:

电子签名可以有多种形式,包括:

* the Electronic Signature (ES), which includes the digital signature and other basic information provided by the signer;

* 电子签名,包括签名人提供的数字签名和其他基本信息;

* the ES with Time-Stamp (ES-T), which adds a time-stamp to the Electronic Signature, to take initial steps towards providing long term validity;

* 带有时间戳的电子签名系统(ES-T)在电子签名上添加时间戳,以采取初始步骤提供长期有效性;

* the ES with Complete validation data (ES-C), which adds to the ES-T references to the complete set of data supporting the validity of the electronic signature (i.e., revocation status information).

* 具有完整验证数据(ES-C)的电子签名系统,该系统在ES-T中添加了对支持电子签名有效性的完整数据集的引用(即撤销状态信息)。

The signer must provide at least the ES form, but in some cases may decide to provide the ES-T form and in the extreme case could provide the ES-C form. If the signer does not provide ES-T, the verifier must either create the ES-T on first receipt of an electronic signature or shall keep a secure time record of the ES. Either of these two approaches provide independent evidence of the existence of the signature at the time it was first verified which should be near the time it was created, and so protects against later repudiation of the existence of the signature. If the signer does not provide ES-C the verifier must create the ES-C when the complete set of revocation and other validation data is available.

签名人必须至少提供ES表格,但在某些情况下可能决定提供ES-T表格,在极端情况下,可以提供ES-C表格。如果签名人未提供ES-T,验证者必须在第一次收到电子签名时创建ES-T,或者应保存ES的安全时间记录。这两种方法中的任何一种都提供了独立的证据,证明在首次验证签名时签名的存在,而该签名应在签名创建时附近,因此可以防止以后否认签名的存在。如果签名者未提供ES-C,则验证者必须在完整的撤销集和其他验证数据可用时创建ES-C。

The ES satisfies the legal requirements for electronic signatures as defined in the European Directive on electronic signatures, see Annex C for further discussion on relationship of this document to the Directive. It provides basic authentication and integrity protection and can be created without accessing on-line (time-stamping) services. However, without the addition of a time-stamp or a secure time record the electronic signature does not protect against the threat that the signer later denies having created the electronic signature (i.e., does not provide non-repudiation of its existence).

ES满足《欧洲电子签名指令》中定义的电子签名的法律要求,有关本文件与该指令关系的进一步讨论,请参见附录C。它提供基本的身份验证和完整性保护,可以在不访问在线(时间戳)服务的情况下创建。但是,如果不添加时间戳或安全时间记录,电子签名就不能防止签名人后来否认创建了电子签名的威胁(即,不提供对其存在的不可否认性)。

The ES-T time-stamp or time record should be created close to the time that ES was created to provide protection against repudiation. At this time all the data needed to complete the validation may not be available but what information is readily available may be used to carry out some of the initial checks. For example, only part of the revocation information may be available for verification at that point in time. Generally, the ES-C form cannot be created at the same time as the ES, as it is necessary to allow time for any revocation information to be captured. Also, if a certificate is found to be temporarily suspended, it will be necessary to wait until the end of the suspension period.

创建ES-T时间戳或时间记录的时间应接近创建ES的时间,以提供抵赖保护。此时,完成验证所需的所有数据可能不可用,但可用的信息可用于执行一些初始检查。例如,在该时间点,只有部分撤销信息可用于验证。通常,ES-C表单不能与ES同时创建,因为需要留出时间来捕获任何撤销信息。此外,如果发现证书被暂时吊销,则必须等到暂停期结束。

The signer should only create the ES-C in situations where it was prepared to wait for a sufficient length of time after creating the ES form before dispatching the ES-C. This, however, has the advantage that the verifier can be presented with the complete set of data supporting the validity of the ES.

在发送ES-C之前,签名人只应在创建ES表单后等待足够长时间的情况下创建ES-C。然而,这有一个优点,即可以向验证者提供支持ES有效性的完整数据集。

Support for ES-C by the verifier is mandated (see clause 6 for specific conformance requirements).

授权验证人支持ES-C(具体合规性要求见第6条)。

An Electronic Signature (ES), with the additional validation data forming the ES-T and ES-C is illustrated in Figure 1:

电子签名(ES)以及形成ES-T和ES-C的附加验证数据如图1所示:

+------------------------------------------------------------ES-C-----+
|+--------------------------------------------ES-T-----+              |
||+------Elect.Signature (ES)----------+ +------------+| +-----------+|
|||+---------+ +----------+ +---------+| |Time-Stamp  || |Complete   ||
||||Signature| |  Other   | | Digital || |over digital|| |certificate||
||||Policy ID| |  Signed  | |Signature|| |signature   || |and        ||
||||         | |Attributes| |         || +------------+| |revocation ||
|||+---------+ +----------+ +---------+|               | |references ||
||+------------------------------------+               | +-----------+|
|+-----------------------------------------------------+              |
+---------------------------------------------------------------------+
        
+------------------------------------------------------------ES-C-----+
|+--------------------------------------------ES-T-----+              |
||+------Elect.Signature (ES)----------+ +------------+| +-----------+|
|||+---------+ +----------+ +---------+| |Time-Stamp  || |Complete   ||
||||Signature| |  Other   | | Digital || |over digital|| |certificate||
||||Policy ID| |  Signed  | |Signature|| |signature   || |and        ||
||||         | |Attributes| |         || +------------+| |revocation ||
|||+---------+ +----------+ +---------+|               | |references ||
||+------------------------------------+               | +-----------+|
|+-----------------------------------------------------+              |
+---------------------------------------------------------------------+
        

Figure 1: Illustration of an ES, ES-T and ES-C

图1:ES、ES-T和ES-C的图示

The verifiers conformance requirements of an ES with a time-stamp of the digital signature is defined in subclause 6.2.

带有数字签名时间戳的ES的验证者一致性要求在第6.2款中定义。

The ES on its own satisfies the legal requirements for electronic signatures as defined in the European Directive on electronic signatures. The signers conformance requirements of an ES are defined in subclause 6.1, and are met using a structure as indicated in figure 2:

ES本身满足《欧洲电子签名指令》中定义的电子签名的法律要求。ES的签字人合规性要求在第6.1款中定义,并使用图2所示的结构予以满足:

               +------Elect.Signature (ES)-----------|
               |+---------+ +----------+ +---------+ |
               ||Signature| |  Other   | | Digital | |
               ||Policy ID| |  Signed  | |Signature| |
               ||         | |Attributes| |         | |
               |+---------+ +----------+ +---------+ |
               |+-----------------------------------+|
        
               +------Elect.Signature (ES)-----------|
               |+---------+ +----------+ +---------+ |
               ||Signature| |  Other   | | Digital | |
               ||Policy ID| |  Signed  | |Signature| |
               ||         | |Attributes| |         | |
               |+---------+ +----------+ +---------+ |
               |+-----------------------------------+|
        

Figure 2: Illustration of an ES

图2:ES的示意图

Where there are requirements for long term signatures without time-stamping the digital signature, then a secure record is needed of the time of verification in association with the electronic signature (i.e., both must be securely recorded). In addition the certificates and revocation information used at the time of verification should to be recorded as indicated in figure 3 as an ES-C(bis).

如果要求在数字签名上不加盖时间戳的情况下进行长期签名,则需要与电子签名相关联的验证时间的安全记录(即必须安全记录两者)。此外,验证时使用的证书和撤销信息应记录为ES-C(bis),如图3所示。

   +-------------------------------------------------------ES-C-----+
   |                                                                |
   | +------Elect.Signature (ES)----------+|           +-----------+|
   | |+---------+ +----------+ +---------+||           |Complete   ||
   | ||Signature| |  Other   | | Digital |||           |certificate||
   | ||Policy ID| |  Signed  | |Signature|||           |and        ||
   | ||         | |Attributes| |         |||           |revocation ||
   | |+---------+ +----------+ +---------+||           |references ||
   | +------------------------------------+|           +-----------+|
   |                                                                |
   +----------------------------------------------------------------+
        
   +-------------------------------------------------------ES-C-----+
   |                                                                |
   | +------Elect.Signature (ES)----------+|           +-----------+|
   | |+---------+ +----------+ +---------+||           |Complete   ||
   | ||Signature| |  Other   | | Digital |||           |certificate||
   | ||Policy ID| |  Signed  | |Signature|||           |and        ||
   | ||         | |Attributes| |         |||           |revocation ||
   | |+---------+ +----------+ +---------+||           |references ||
   | +------------------------------------+|           +-----------+|
   |                                                                |
   +----------------------------------------------------------------+
        

Figure 3: Illustration of an ES-C(bis)

图3:ES-C(bis)示意图

The verifiers conformance requirements of an ES-C(bis) is defined in subclause 6.3.

ES-C(bis)的验证人合规性要求见第6.3款。

Note: A time-stamp attached to the electronic signature or a secure time record helps to protect the validity of the signature even if some of the verification data associated with the signature become compromised AFTER the signature was generated. The time-stamp or a secure time record provides evidence that the signature was generated BEFORE the event of compromise; hence the signature will maintain its validity status.

注:附在电子签名上的时间戳或安全的时间记录有助于保护签名的有效性,即使与签名相关的一些验证数据在签名生成后遭到破坏。时间戳或安全时间记录提供证据,证明签名是在发生妥协事件之前生成的;因此,签名将保持其有效状态。

2.6 Extended Forms of Validation Data
2.6 验证数据的扩展形式

The complete validation data (ES-C) described above may be extended to form an ES with eXtended validation data (ES-X) to meet following additional requirements.

上述完整的验证数据(ES-C)可以扩展,形成具有扩展验证数据(ES-X)的ES,以满足以下附加要求。

Firstly, when the verifier does not has access to,

首先,当验证者无法访问,

* the signer's certificate, * all the CA certificates that make up the full certification path, * all the associated revocation status information, as referenced in the ES-C.

* 签名者的证书,*组成完整证书路径的所有CA证书,*所有相关的吊销状态信息,如ES-C中所述。

then the values of these certificates and revocation information may be added to the ES-C. This form of extended validation data is called a X-Long.

然后,这些证书的值和撤销信息可以添加到ES-C中。这种形式的扩展验证数据称为X-Long。

Secondly, if there is a risk that any CA keys used in the certificate chain may be compromised, then it is necessary to additionally time-stamp the validation data by either:

其次,如果存在证书链中使用的任何CA密钥可能被泄露的风险,则有必要通过以下方式对验证数据附加时间戳:

* time-stamping all the validation data as held with the ES(ES-C), this eXtended validation data is called a Type 1 X-Time-Stamp; or * time-stamping individual reference data as used for complete validation.

* 时间戳ES(ES-C)保存的所有验证数据,该扩展验证数据称为1类X时间戳;或*用于完整验证的单个参考数据的时间戳。

This form of eXtended validation data is called a Type 2 X-Time-Stamp.

这种形式的扩展验证数据称为2型X时间戳。

NOTE: The advantages/drawbacks for Type 1 and Type 2 X-Time-Stamp are discussed in this document (see clause B.4.6.)

注:本文件讨论了类型1和类型2 X时间戳的优点/缺点(见第B.4.6条)

If all the above conditions occur then a combination of the two formats above may be used. This form of eXtended validation data is called a X-Long-Time-Stamped.

如果出现上述所有情况,则可使用上述两种格式的组合。这种形式的扩展验证数据称为X长时间戳。

Support for the extended forms of validation data is optional.

对扩展形式的验证数据的支持是可选的。

An Electronic Signature (ES) , with the additional validation data forming the ES-X long is illustrated in Figure 4:

电子签名(ES)以及形成ES-X长度的附加验证数据如图4所示:

  +-------------------------------------------------------- ES-X Long--+
  |+---------------------------------------- EC-C --------+            |
  ||+---- Elect.Signature (ES)----+             +--------+| +--------+ |
  |||+-------+-+-------+-+-------+| +----------+|Complete|| |Complete| |
  ||||Signa- | |Other  | |Digital|| |Time-Stamp||certi-  || |certi-  | |
  ||||ture   | |Signed | |Signa- || |over      ||ficate  || |ficate  | |
  ||||Policy | |Attri- | |ture   || |digital   ||and     || |and     | |
  ||||ID     | |butes  | |       || |signature ||revoc.  || |revoc.  | |
  |||+-------+ +-------+ +-------+| +----------+|refs    || |data    | |
  ||+-----------------------------+             +--------+| +--------+ |
  |+------------------------------------------------------+            |
  +--------------------------------------------------------------------+
        
  +-------------------------------------------------------- ES-X Long--+
  |+---------------------------------------- EC-C --------+            |
  ||+---- Elect.Signature (ES)----+             +--------+| +--------+ |
  |||+-------+-+-------+-+-------+| +----------+|Complete|| |Complete| |
  ||||Signa- | |Other  | |Digital|| |Time-Stamp||certi-  || |certi-  | |
  ||||ture   | |Signed | |Signa- || |over      ||ficate  || |ficate  | |
  ||||Policy | |Attri- | |ture   || |digital   ||and     || |and     | |
  ||||ID     | |butes  | |       || |signature ||revoc.  || |revoc.  | |
  |||+-------+ +-------+ +-------+| +----------+|refs    || |data    | |
  ||+-----------------------------+             +--------+| +--------+ |
  |+------------------------------------------------------+            |
  +--------------------------------------------------------------------+
        

Figure 4: Illustration of an ES and ES-X long.

图4:ES和ES-X长电缆的图示。

An Electronic Signature (ES) , with the additional validation data forming the eXtended Validation Data - Type 1 is illustrated in Figure 5:

电子签名和附加验证数据构成扩展验证数据类型1,如图5所示:

  +----------------------------------------------------------- ES-X 1 -+
  |+----------------------------------------- EC-C --------+           |
  || +---- Elect.Signature (ES)----+             +--------+| +-------+ |
  || |+-------+ +-------+ +-------+| +----------+|Complete|| |       | |
  || ||Signa- | |Other  | |Digital|| |Time-Stamp||certifi-|| | Time- | |
  || ||ture   | |Signed | |Signa- || |over      ||cate and|| | stamp | |
  || ||Policy | |Attri- | |ture   || |digital   ||revoc.  || | over  | |
  || ||ID     | |butes  | |       || |signature ||refs    || | CES   | |
  || |+-------+ +-------+ +-------+| +----------+|        || |       | |
  || +-----------------------------+             +--------+| +-------+ |
  |+-------------------------------------------------------+           |
  +--------------------------------------------------------------------+
        
  +----------------------------------------------------------- ES-X 1 -+
  |+----------------------------------------- EC-C --------+           |
  || +---- Elect.Signature (ES)----+             +--------+| +-------+ |
  || |+-------+ +-------+ +-------+| +----------+|Complete|| |       | |
  || ||Signa- | |Other  | |Digital|| |Time-Stamp||certifi-|| | Time- | |
  || ||ture   | |Signed | |Signa- || |over      ||cate and|| | stamp | |
  || ||Policy | |Attri- | |ture   || |digital   ||revoc.  || | over  | |
  || ||ID     | |butes  | |       || |signature ||refs    || | CES   | |
  || |+-------+ +-------+ +-------+| +----------+|        || |       | |
  || +-----------------------------+             +--------+| +-------+ |
  |+-------------------------------------------------------+           |
  +--------------------------------------------------------------------+
        

Figure 5: Illustration of ES with ES-X Type 1

图5:ES-X类型1的ES示意图

An Electronic Signature (ES) , with the additional validation data forming the eXtended Validation Data - Type 2 is illustrated in Figure 6:

电子签名(ES)和其他验证数据构成扩展验证数据-类型2,如图6所示:

  +--------------------------------------------------------- ES-X 2 ---+
  |+---------------------------------------- EC-C --------+            |
  ||+---- Elect.Signature (ES)----+             +--------+| +--------+ |
  |||+-------+ +-------+ +-------+| +----------+|Complete|| |Times   | |
  ||||Signa- | |Other  | |Digital|| |Time-Stamp||certs   || |Stamp   | |
  ||||ture   | |Signed | |Signa- || |over      ||and     || |over    | |
  ||||Policy | |Attri- | |ture   || |digital   ||revoc.  || |Complete| |
  ||||ID     | |butes  | |       || |signature ||refs    || |certs   | |
  |||+-------+ +-------+ +-------+| +----------+|        || |and     | |
  ||+-----------------------------+             +--------+| |revoc.  | |
  ||                                                      | |refs    | |
  |+------------------------------------------------------+ +--------+ |
  +--------------------------------------------------------------------+
        
  +--------------------------------------------------------- ES-X 2 ---+
  |+---------------------------------------- EC-C --------+            |
  ||+---- Elect.Signature (ES)----+             +--------+| +--------+ |
  |||+-------+ +-------+ +-------+| +----------+|Complete|| |Times   | |
  ||||Signa- | |Other  | |Digital|| |Time-Stamp||certs   || |Stamp   | |
  ||||ture   | |Signed | |Signa- || |over      ||and     || |over    | |
  ||||Policy | |Attri- | |ture   || |digital   ||revoc.  || |Complete| |
  ||||ID     | |butes  | |       || |signature ||refs    || |certs   | |
  |||+-------+ +-------+ +-------+| +----------+|        || |and     | |
  ||+-----------------------------+             +--------+| |revoc.  | |
  ||                                                      | |refs    | |
  |+------------------------------------------------------+ +--------+ |
  +--------------------------------------------------------------------+
        

Figure 6: Illustration of ES with ES-X Type 2

图6:ES-X类型2的ES示意图

2.7 Archive Validation Data
2.7 存档验证数据

Before the algorithms, keys and other cryptographic data used at the time the ES-C was built become weak and the cryptographic functions become vulnerable, or the certificates supporting previous time-stamps expires, the signed data, the ES-C and any additional information (ES-X) should be time-stamped. If possible this should use stronger algorithms (or longer key lengths) than in the original time-stamp.

在生成ES-C时使用的算法、密钥和其他加密数据变弱,加密功能变得易受攻击,或者支持以前时间戳的证书过期之前,签名数据、ES-C和任何附加信息(ES-X)都应该有时间戳。如果可能,这应该使用比原始时间戳更强的算法(或更长的密钥长度)。

This additional data and time-stamp is called Archive Validation Data (ES-A). The Time-Stamping process may be repeated every time the protection used to time-stamp a previous ES-A become weak. An ES-A may thus bear multiple embedded time stamps.

此附加数据和时间戳称为归档验证数据(ES-A)。每次用于对先前ES-a进行时间戳的保护变弱时,可重复时间戳过程。因此,ES-A可能具有多个嵌入的时间戳。

An example of an Electronic Signature (ES), with the additional validation data for the ES-C and ES-X forming the ES-A is illustrated in Figure 7.

图7中说明了电子签名的示例,以及形成电子签名的电子签名C和电子签名X的附加验证数据。

         +-------------------------------- ES-A --------- ----------+
         |  +-------------------- ES-A -----------------+           |
         |  |  +--------- ES-X -------------- +         |           |
         |  |  |..............................| +-----+ |  +-----+  |
         |  |  |..............................| |Time | |  |Time |  |
         |  |  |..............................| |Stamp| |  |Stamp|  |
         |  |  |                              | +-----+ |  +-----+  |
         |  |  +----------------------------- +         |           |
         |  +-------------------------------------------+           |
         +----------------------------------------------------------+
        
         +-------------------------------- ES-A --------- ----------+
         |  +-------------------- ES-A -----------------+           |
         |  |  +--------- ES-X -------------- +         |           |
         |  |  |..............................| +-----+ |  +-----+  |
         |  |  |..............................| |Time | |  |Time |  |
         |  |  |..............................| |Stamp| |  |Stamp|  |
         |  |  |                              | +-----+ |  +-----+  |
         |  |  +----------------------------- +         |           |
         |  +-------------------------------------------+           |
         +----------------------------------------------------------+
        

Figure 7: Illustration of ES -A

图7:ES-A的图解

Support for ES-A is optional.

对ES-A的支持是可选的。

2.8 Arbitration
2.8 仲裁

The ES-C may be used for arbitration should there be a dispute between the signer and verifier, provided that:

如果签名人和验证人之间存在争议,ES-C可用于仲裁,前提是:

* a copy of the signature policy referenced by the signer is available;

* 签名人引用的签名政策副本可用;

* the arbitrator knows where to retrieve the signer's certificate (if not already present), all the cross-certificates and the required CRLs and/or OCSPs responses referenced in the ES-C;

* 仲裁员知道从何处检索签名人的证书(如果尚未存在)、所有交叉证书以及ES-C中引用的所需CRL和/或OCSP响应;

* none of the issuing key from the certificate chain have ever been compromised;

* 证书链中的任何颁发密钥都没有被泄露;

* the cryptography used at the time the ES-C was built has not been broken at the time the arbitration is performed.

* 在建立ES-C时使用的加密在执行仲裁时未被破坏。

When the second condition is not met, then the plaintiff must provide an ES-X Long.

如果不满足第二个条件,则原告必须提供ES-X Long。

When it is known by some external means that the third condition is not met, then the plaintiff must provide an ES-X Time-Stamped.

当通过某种外部手段得知第三个条件不满足时,原告必须提供一份ES-X时间戳。

When the two previous conditions are not met, the plaintiff must provide the two above information (i.e., an ES-X Time-Stamped and Long).

如果不满足上述两个条件,原告必须提供上述两个信息(即ES-X时间戳和Long)。

When the last condition is not met, the plaintiff must provide an ES-A.

如果不满足最后一个条件,原告必须提供ES-A。

It should be noticed that a verifier may need to get two time stamps at two different instants of time: one soon after the generation of the ES and one soon after some grace period allowing any entity from the certification chain to declare a key compromise.

应该注意的是,验证者可能需要在两个不同的时刻获得两个时间戳:一个在ES生成之后不久,另一个在允许来自认证链的任何实体声明密钥泄露的某个宽限期之后不久。

2.9 Validation Process
2.9 验证过程

The Validation Process validates an electronic signature in accordance with the requirements of the signature policy. The output status of the validation process can be:

验证过程根据签名策略的要求验证电子签名。验证过程的输出状态可以是:

* valid; * invalid; * incomplete verification.

* 有效;*无效;*不完全核实。

A Valid response indicates that the signature has passed verification and it complies with the signature validation policy.

有效响应表示签名已通过验证,并且符合签名验证策略。

A signature validation policy is a part of the signature policy which specifies the technical requirements on the signer in creating a signature and verifier when validating a signature.

签名验证策略是签名策略的一部分,它规定了签名人在验证签名时创建签名和验证人的技术要求。

An Invalid response indicates that either the signature format is incorrect or that the digital signature value fails verification (e.g., the integrity checks on the digital signature value fails or any of the certificates on which the digital signature verification depends is known to be invalid or revoked).

无效响应表示签名格式不正确或数字签名值未通过验证(例如,对数字签名值的完整性检查失败,或数字签名验证所依赖的任何证书已知无效或已撤销)。

An Incomplete Validation response indicates that the format and digital signature verifications have not failed but there is insufficient information to determine if the electronic signature is valid under the signature policy. This can include situations where additional information, which does not effect the validity of the digital signature value, may be available but is invalid.

验证响应不完整表示格式和数字签名验证没有失败,但没有足够的信息来确定电子签名在签名策略下是否有效。这可能包括不影响数字签名值有效性的附加信息可用但无效的情况。

In the case of Incomplete Validation, it may be possible to request that the electronic signature be checked again at a later date when additional validation information might become available. Also, in the case of incomplete validation, additional information may be made available to the application or user, thus allowing the application or user to decide what to do with partially correct electronic signatures.

在验证不完整的情况下,可以要求在以后可能获得其他验证信息的日期再次检查电子签名。此外,在验证不完整的情况下,可向应用程序或用户提供附加信息,从而允许应用程序或用户决定如何处理部分正确的电子签名。

The validation process may also output validation data:

验证过程还可以输出验证数据:

* a signature time-stamp; * the complete validation data; * the archive validation data.

* 签名时间戳;*完整的验证数据;*存档验证数据。

2.10 Example Validation Sequence
2.10 验证序列示例

Figure 8, and subsequent description, describes how the validation process may build up a complete electronic signature over time.

图8和随后的描述描述了验证过程如何随着时间的推移建立完整的电子签名。

Soon after receiving the electronic signature (ES) from the signer (1), the digital signature value may be checked, the validation process must at least add a time-stamp (2), unless the signer has provided one which is trusted by the verifier. The validation process may also validate the electronic signature, as required under the identified signature policy, using additional data (e.g., certificates, CRL, etc.) provided by trusted service providers. If the validation process is not complete then the output from this stage is the ES-T.

在收到来自签名者(1)的电子签名后不久,可以检查数字签名值,验证过程必须至少添加时间戳(2),除非签名者提供了一个由验证者信任的时间戳。验证过程还可以根据已识别签名策略的要求,使用可信服务提供商提供的附加数据(例如证书、CRL等)验证电子签名。如果验证过程未完成,则此阶段的输出为ES-T。

When all the additional data (e.g., the complete certificate and revocation information) necessary to validate the electronic signature first becomes available, then the validation process:

当验证电子签名所需的所有附加数据(例如,完整的证书和撤销信息)首次可用时,验证过程:

* obtains all the necessary additional certificate and revocation status information;

* 获取所有必要的附加证书和吊销状态信息;

* completes all the validation checks on the ES, using the complete certificate and revocation information (if a time-stamp is not already present, this may be added at the same stage combining ES-T and ES-C process);

* 使用完整的证书和撤销信息完成ES上的所有验证检查(如果时间戳不存在,可在结合ES-T和ES-C流程的同一阶段添加);

* records the complete certificate and revocation references (3);

* 记录完整的证书和撤销参考(3);

* indicates the validity status to the user (4).

* 向用户指示有效性状态(4)。

         +----------------------------------------- ES-C ----------+
         |+----------------------------- ES-T --------+            |
         ||+--- Elect.Signature (ES) ----+            | +--------+ |
         |||+-------+ +-------+ +-------+|+----------+| |Complete| |
         ||||Signa- | |Other  | |Digital|||Time-Stamp|| |certifi-| |
         ||||ture   | |Signed | |Signa- |||over      || |cate and| |
         ||||Policy | |Attri- | |ture   |||digital   || |revoca- | |
         ||||ID     | |butes  | |       |||signature || |tion    | |
         |||+-------+ +-------+ +-------+|+----------+| |referen-| |
         ||+------------\----------------+    ^       | |ces     | |
         ||              \                    |       | +--------+ |
         ||               \ 1                /        |      ^     |
         |+----------------\----------------/---------+      |     |
         +------------------\--------------/--------------- /------+
                             \            /2    ----3------/
          +----------+        |          /     /
          | Signed   |\       v         /     |
          |User data | \     +--------------------+     +------------+
          +----------+  \--->| Validation Process |---> |- Valid     |
                             +---|--^-------|--^--+ 4   |- Invalid   |
                                 |  |       |  |        |- Validation|
                                 v  |       v  |        |  Incomplete|
                             +---------+ +--------+     +------------+
                             |Signature| |Trusted |
                             | Policy  | |Service |
                             | Issuer  | |Provider|
                             +---------+ +--------+
        
         +----------------------------------------- ES-C ----------+
         |+----------------------------- ES-T --------+            |
         ||+--- Elect.Signature (ES) ----+            | +--------+ |
         |||+-------+ +-------+ +-------+|+----------+| |Complete| |
         ||||Signa- | |Other  | |Digital|||Time-Stamp|| |certifi-| |
         ||||ture   | |Signed | |Signa- |||over      || |cate and| |
         ||||Policy | |Attri- | |ture   |||digital   || |revoca- | |
         ||||ID     | |butes  | |       |||signature || |tion    | |
         |||+-------+ +-------+ +-------+|+----------+| |referen-| |
         ||+------------\----------------+    ^       | |ces     | |
         ||              \                    |       | +--------+ |
         ||               \ 1                /        |      ^     |
         |+----------------\----------------/---------+      |     |
         +------------------\--------------/--------------- /------+
                             \            /2    ----3------/
          +----------+        |          /     /
          | Signed   |\       v         /     |
          |User data | \     +--------------------+     +------------+
          +----------+  \--->| Validation Process |---> |- Valid     |
                             +---|--^-------|--^--+ 4   |- Invalid   |
                                 |  |       |  |        |- Validation|
                                 v  |       v  |        |  Incomplete|
                             +---------+ +--------+     +------------+
                             |Signature| |Trusted |
                             | Policy  | |Service |
                             | Issuer  | |Provider|
                             +---------+ +--------+
        

Figure 8: Illustration of an ES with Complete validation data (ES-C)

图8:具有完整验证数据的ES的图示(ES-C)

At the same time as the validation process creates the ES-C, the validation process may provide and/or record the values of certificates and revocation status information used in ES-C, called the ES-X Long (5). This is illustrated in figure 9:

在验证过程创建ES-C的同时,验证过程可提供和/或记录ES-C中使用的证书值和撤销状态信息,称为ES-X长(5)。如图9所示:

  +----------------------------------------------------- ES-X ---------+
  |+---------------------------------------- ES-C --------+ +--------+ |
  ||+--- Elect.Signature (ES) ----+            +--------+ | |Complete| |
  |||+-------+ +-------+ +-------+|+----------+|Complete| | |certifi-| |
  ||||Signa- | |Other  | |Digital|||Time-Stamp||certifi-| | |cate    | |
  ||||ture   | |Signed | |Signa- |||over      ||cate and| | |and     | |
  ||||Policy | |Attri- | |ture   |||digital   ||revoca- | | |revoca- | |
  ||||ID     | |butes  | |       |||signature ||tion    | | |tion    | |
  |||+-------+ +---|---+ +-------+|+----------+|referen-| | |Data    | |
  ||+--------------\--------------+    ^       |ces     | | +--------+ |
  ||                \                  |       +--------+ |      ^     |
  ||                 \ 1             2/           ^       |      |     |
  |+------------------\--------------/------------|-------+     /      |
  +--------------------\------------/------------/-------------/-------+
                        \          /    ---3----/             /
   +----------+          |        /    /   ------------5-----/
   | Signed   |\         v       |     |  /
   |User data | \     +--------------------+     +-----------+
   +----------+  \--->| Validation Process |---> | - Valid   |
                      +---|--^-------|--^--+ 4   | - Invalid |
                          |  |       |  |        +-----------+
                          v  |       v  |
                      +---------+ +--------+
                      |Signature| |Trusted |
                      | Policy  | |Service |
                      | Issuer  | |Provider|
                      +---------+ +--------+
        
  +----------------------------------------------------- ES-X ---------+
  |+---------------------------------------- ES-C --------+ +--------+ |
  ||+--- Elect.Signature (ES) ----+            +--------+ | |Complete| |
  |||+-------+ +-------+ +-------+|+----------+|Complete| | |certifi-| |
  ||||Signa- | |Other  | |Digital|||Time-Stamp||certifi-| | |cate    | |
  ||||ture   | |Signed | |Signa- |||over      ||cate and| | |and     | |
  ||||Policy | |Attri- | |ture   |||digital   ||revoca- | | |revoca- | |
  ||||ID     | |butes  | |       |||signature ||tion    | | |tion    | |
  |||+-------+ +---|---+ +-------+|+----------+|referen-| | |Data    | |
  ||+--------------\--------------+    ^       |ces     | | +--------+ |
  ||                \                  |       +--------+ |      ^     |
  ||                 \ 1             2/           ^       |      |     |
  |+------------------\--------------/------------|-------+     /      |
  +--------------------\------------/------------/-------------/-------+
                        \          /    ---3----/             /
   +----------+          |        /    /   ------------5-----/
   | Signed   |\         v       |     |  /
   |User data | \     +--------------------+     +-----------+
   +----------+  \--->| Validation Process |---> | - Valid   |
                      +---|--^-------|--^--+ 4   | - Invalid |
                          |  |       |  |        +-----------+
                          v  |       v  |
                      +---------+ +--------+
                      |Signature| |Trusted |
                      | Policy  | |Service |
                      | Issuer  | |Provider|
                      +---------+ +--------+
        

Figure 9: Illustration ES with eXtended validation data (Long)

图9:带有扩展验证数据的插图ES(长)

When the validation process creates the ES-C it may also create extended forms of validation data. A first alternative is to time-stamp all data forming the Type 1 X-Time-Stamp (6). This is illustrated in figure 10:

当验证过程创建ES-C时,也可能创建扩展形式的验证数据。第一种备选方案是对构成类型1 X时间戳(6)的所有数据进行时间戳。如图10所示:

   +----------------------------------------------------- ES-X -------+
   |+---------------------------------------- ES-C --------+ +------+ |
   ||+--- Elect.Signature (ES) ----+            +--------+ | |Time- | |
   |||+-------+ +-------+ +-------+|+----------+|Complete| | |Stamp | |
   ||||Signa- | |Other  | |Digital|||Time-Stamp||certifi-| | |over  | |
   ||||ture   | |Signed | |Signa- |||over      ||cate and| | |CES   | |
   ||||Policy | |Attri- | |ture   |||digital   ||revoca- | | +------+ |
   ||||ID     | |butes  | |       |||signature ||tion    | |     ^    |
   |||+-------+ +--|----+ +-------+|+----------+|referen-| |     |    |
   ||+-------------|---------------+     ^      |ces     | |     |    |
   ||              |                     |      +--------+ |     |    |
   ||               \ 1                 2/         ^       |     |    |
   |+----------------\------------------/----------|-------+     |    |
   +------------------\----------------/-----------/-------------/----+
                       \              /   ----3---/             /
    +----------+        |            /   /  ---------------6---/
    | Signed   |\       v           |   |  /
    |User data | \     +--------------------+     +-----------+
    +----------+  \--->| Validation Process |---> | - Valid   |
                       +---|--^-------|--^--+ 4   | - Invalid |
                           |  |       |  |        +-----------+
                           v  |       v  |
                       +---------+ +--------+
                       |Signature| |Trusted |
                       | Policy  | |Service |
                       | Issuer  | |Provider|
                       +---------+ +--------+
        
   +----------------------------------------------------- ES-X -------+
   |+---------------------------------------- ES-C --------+ +------+ |
   ||+--- Elect.Signature (ES) ----+            +--------+ | |Time- | |
   |||+-------+ +-------+ +-------+|+----------+|Complete| | |Stamp | |
   ||||Signa- | |Other  | |Digital|||Time-Stamp||certifi-| | |over  | |
   ||||ture   | |Signed | |Signa- |||over      ||cate and| | |CES   | |
   ||||Policy | |Attri- | |ture   |||digital   ||revoca- | | +------+ |
   ||||ID     | |butes  | |       |||signature ||tion    | |     ^    |
   |||+-------+ +--|----+ +-------+|+----------+|referen-| |     |    |
   ||+-------------|---------------+     ^      |ces     | |     |    |
   ||              |                     |      +--------+ |     |    |
   ||               \ 1                 2/         ^       |     |    |
   |+----------------\------------------/----------|-------+     |    |
   +------------------\----------------/-----------/-------------/----+
                       \              /   ----3---/             /
    +----------+        |            /   /  ---------------6---/
    | Signed   |\       v           |   |  /
    |User data | \     +--------------------+     +-----------+
    +----------+  \--->| Validation Process |---> | - Valid   |
                       +---|--^-------|--^--+ 4   | - Invalid |
                           |  |       |  |        +-----------+
                           v  |       v  |
                       +---------+ +--------+
                       |Signature| |Trusted |
                       | Policy  | |Service |
                       | Issuer  | |Provider|
                       +---------+ +--------+
        

Figure 10: Illustration of ES with eXtended validation data - Type 1 X-Time-Stamp

图10:具有扩展验证数据的ES图解-类型1 X时间戳

Another alternative is to time-stamp the certificate and revocation information references used to validate the electronic signature (but not the signature) (6'); this is called Type 2 X-Time-Stamped. This is illustrated in figure 11:

另一种选择是对用于验证电子签名(但不是签名)的证书和撤销信息引用加盖时间戳(6’);这称为类型2 X时间戳。如图11所示:

  +----------------------------------------------------- ES-X -----------+
  |+---------------------------------------- ES-C --------+ +----------+ |
  ||+--- Elect.Signature (ES) ----+            +--------+ | |Time-Stamp| |
  |||+-------+ +-------+ +-------+|+----------+|Complete| | |over      | |
  ||||Signa- | |Other  | |Digital|||Time-Stamp||certifi-| | |Complete  | |
  ||||ture   | |Signed | |Signa- |||over      ||cate and| | |Certifi-  | |
  ||||Policy | |Attri- | |ture   |||digital   ||revoc.  | | |cate and  | |
  ||||ID     | |butes  | |       |||signature ||refs    | | |revoc.    | |
  |||+-------+ +---^---+ +-------+|+----^-----++---^----+ | |refs      | |
  ||+--------------\--------------+     |          |      | +----------+ |
  |+----------------\------------------/-----------|------+      ^       |
  +----------------1-\----------------/-----------/--------------|-------+
                      \              /  -----3---/               |
   +----------+        |           2/  /   ---------------6'-----/
   | Signed   |\       v           |  |   /
   |User data | \     +--------------------+     +-----------+
   +----------+  \--->| Validation Process |---> | - Valid   |
                      +---|--^-------|--^--+ 4   | - Invalid |
                          |  |       |  |        +-----------+
                          v  |       v  |
                      +---------+ +--------+
                      |Signature| |Trusted |
                      | Policy  | |Service |
                      | Issuer  | |Provider|
                      +---------+ +--------+
        
  +----------------------------------------------------- ES-X -----------+
  |+---------------------------------------- ES-C --------+ +----------+ |
  ||+--- Elect.Signature (ES) ----+            +--------+ | |Time-Stamp| |
  |||+-------+ +-------+ +-------+|+----------+|Complete| | |over      | |
  ||||Signa- | |Other  | |Digital|||Time-Stamp||certifi-| | |Complete  | |
  ||||ture   | |Signed | |Signa- |||over      ||cate and| | |Certifi-  | |
  ||||Policy | |Attri- | |ture   |||digital   ||revoc.  | | |cate and  | |
  ||||ID     | |butes  | |       |||signature ||refs    | | |revoc.    | |
  |||+-------+ +---^---+ +-------+|+----^-----++---^----+ | |refs      | |
  ||+--------------\--------------+     |          |      | +----------+ |
  |+----------------\------------------/-----------|------+      ^       |
  +----------------1-\----------------/-----------/--------------|-------+
                      \              /  -----3---/               |
   +----------+        |           2/  /   ---------------6'-----/
   | Signed   |\       v           |  |   /
   |User data | \     +--------------------+     +-----------+
   +----------+  \--->| Validation Process |---> | - Valid   |
                      +---|--^-------|--^--+ 4   | - Invalid |
                          |  |       |  |        +-----------+
                          v  |       v  |
                      +---------+ +--------+
                      |Signature| |Trusted |
                      | Policy  | |Service |
                      | Issuer  | |Provider|
                      +---------+ +--------+
        

Figure 11: Illustration of ES with eXtended validation data - Type 2 X-Time-Stamp

图11:具有扩展验证数据的ES图解-类型2 X时间戳

Before the algorithms used in any of electronic signatures become or are likely, to be compromised or rendered vulnerable in the future, it is necessary to time-stamp the entire electronic signature, including all the values of the validation and user data as an ES with Archive validation data (ES-A)

在任何电子签名中使用的算法在将来变得或可能受到损害或变得易受攻击之前,有必要对整个电子签名(包括验证和用户数据的所有值)加上时间戳,并将其作为ES和存档验证数据(ES-A)

An ES-A is illustrated in figure 12:

ES-A如图12所示:

-------------------------------------------- ES-A --------------------+
----------------------------------------------------------------+     |
+------------------------------- EC-C --------++-----+          |     |
|                                             ||Time-|          |     |
|+-- Elect.Signature (ES) -+        +--------+||Stamp|  +-------+     |
||+------++-------++-------|+------+|Complete|||over |  Complete|     |
|||Signa-||Other  ||Digital||Time- ||certifi-|||CES  |  |certi- |+----|
|||ture  ||Signed ||Signa- ||Stamp ||cate and||+-----+  |ficate |Arch-|
|||Policy||Attri- ||ture   ||over  ||revoca- ||+------+ |and    |ive  |
|||ID    ||butes  ||       ||digit.||tion    |||Time- | |revoca-|Time |
||+------++---|---++-------||signa-||referen-|||Stamp-| |tion   |stamp|
|+------------|------------+|ture  ||ces     |||over  | |data   |+----|
|             |             +------++--------+|Complete\+-------+  ^  |
|             |                ^         ^    ||cert.  |        |  |  |
+-------------|----------------|---------|----+|and rev|        |  |  |
               \               |         /     |refs.  |        |  |  |
                \              |        /      +-------+        |  |  |
-----------------\-------------|-------/------------------------+  |  |
+----------+      \            |      /                            /  |
| Signed   |       \2          |3    /     /--------------7-------/   |
|User data |        \          |    |     /                           |
+-------\--+         \         |    |    /                            |
---------\------------|--------|----|---/-----------------------------+
          \           v        |    |   |
          1\        +--------------------+     +-----------+
            \------>| Validation Process |---> | - Valid   |
                    +---|--^-------|--^--+ 4   | - Invalid |
                        |  |       |  |        +-----------+
                        v  |       v  |
                    +---------+ +--------+
                    |Signature| |Trusted |
                    | Policy  | |Service |
                    | Issuer  | |Provider|
                    +---------+ +--------+
        
-------------------------------------------- ES-A --------------------+
----------------------------------------------------------------+     |
+------------------------------- EC-C --------++-----+          |     |
|                                             ||Time-|          |     |
|+-- Elect.Signature (ES) -+        +--------+||Stamp|  +-------+     |
||+------++-------++-------|+------+|Complete|||over |  Complete|     |
|||Signa-||Other  ||Digital||Time- ||certifi-|||CES  |  |certi- |+----|
|||ture  ||Signed ||Signa- ||Stamp ||cate and||+-----+  |ficate |Arch-|
|||Policy||Attri- ||ture   ||over  ||revoca- ||+------+ |and    |ive  |
|||ID    ||butes  ||       ||digit.||tion    |||Time- | |revoca-|Time |
||+------++---|---++-------||signa-||referen-|||Stamp-| |tion   |stamp|
|+------------|------------+|ture  ||ces     |||over  | |data   |+----|
|             |             +------++--------+|Complete\+-------+  ^  |
|             |                ^         ^    ||cert.  |        |  |  |
+-------------|----------------|---------|----+|and rev|        |  |  |
               \               |         /     |refs.  |        |  |  |
                \              |        /      +-------+        |  |  |
-----------------\-------------|-------/------------------------+  |  |
+----------+      \            |      /                            /  |
| Signed   |       \2          |3    /     /--------------7-------/   |
|User data |        \          |    |     /                           |
+-------\--+         \         |    |    /                            |
---------\------------|--------|----|---/-----------------------------+
          \           v        |    |   |
          1\        +--------------------+     +-----------+
            \------>| Validation Process |---> | - Valid   |
                    +---|--^-------|--^--+ 4   | - Invalid |
                        |  |       |  |        +-----------+
                        v  |       v  |
                    +---------+ +--------+
                    |Signature| |Trusted |
                    | Policy  | |Service |
                    | Issuer  | |Provider|
                    +---------+ +--------+
        

Figure 12: Illustration of an ES with Archive validation data (ES-A)

图12:带有存档验证数据(ES-A)的ES示意图

2.11 Additional optional features of an ES
2.11 ES的其他可选功能

This document also defines additional optional features of an electronic signature to:

本文件还定义了电子签名的其他可选特征,以:

* indicate a commitment type being made by the signer; * indicate the role under which a signature was created; * support multiple signatures.

* 指明签字人正在作出的承诺类型;*指明创建签名的角色;*支持多个签名。

3. Data structure of an Electronic Signature
3. 电子签名的数据结构

This clause uses and builds upon the Cryptographic Message Syntax (CMS), as defined in RFC 2630 [CMS], and Enhanced Security Services (ESS), as defined in RFC 2634 [ESS]. The overall structure of Electronic Signature is as defined in [CMS]. The Electronic Signature (ES) uses attributes defined in [CMS], [ESS] and this document. This document defines in full the ES attributes which it uses and are not defined elsewhere.

本条款使用并建立在RFC 2630[CMS]中定义的加密消息语法(CMS)和RFC 2634[ESS]中定义的增强安全服务(ESS)的基础上。电子签名的总体结构如[CMS]所定义。电子签名使用[CMS]、[ESS]和本文件中定义的属性。本文件完整定义了其使用的ES属性,其他地方未定义。

The mandated set of attributes and the digital signature value is defined as the minimum Electronic Signature (ES) required by this document. A signature policy MAY mandate other signed attributes to be present.

强制属性集和数字签名值定义为本文件要求的最小电子签名。签名策略可以强制要求存在其他已签名属性。

3.1 General Syntax
3.1 一般语法

The general syntax of the ES is as defined in [CMS].

ES的一般语法如[CMS]中所定义。

3.2 Data Content Type
3.2 数据内容类型

The data content type of the ES is as defined in [CMS].

ES的数据内容类型如[CMS]中所定义。

The data content type is intended to refer to arbitrary octet strings, such as ASCII text files; the interpretation is left to the application. Such strings need not have any internal structure (although they could have their own ASN.1 definition or other structure).

数据内容类型旨在指任意八位字符串,如ASCII文本文件;解释权留给应用程序。这样的字符串不需要任何内部结构(尽管它们可以有自己的ASN.1定义或其他结构)。

3.3 Signed-data Content Type
3.3 签名数据内容类型

The Signed-data content type of the ES is as defined in [CMS].

ES的签名数据内容类型如[CMS]中所定义。

The signed-data content type consists of a content of any type and zero or more signature values. Any number of signers in parallel can sign any type of content. The typical application of the signed-data content type represents one signer's digital signature on content of the data content type.

签名数据内容类型由任何类型的内容和零个或多个签名值组成。任意数量的签名者可以并行签名任何类型的内容。签名数据内容类型的典型应用程序表示一个签名者对数据内容类型内容的数字签名。

To make sure that the verifier uses the right certificate, this document mandates that the hash of the signers certificate is always included in the Signing Certificate signed attribute.

为了确保验证器使用正确的证书,本文档要求签名者证书的哈希始终包含在签名证书签名属性中。

3.4 SignedData Type
3.4 符号数据类型

The syntax of the SignedData type of the ES is as defined in [CMS].

ES的SignedData类型的语法如[CMS]中所定义。

The fields of type SignedData have the meanings defined [CMS] except that:

SignedData类型的字段具有[CMS]定义的含义,除了:

* version is the syntax version number. The value of version must be 3.

* version是语法版本号。版本的值必须为3。

* The identification of signer's certificate used to create the signature is always present as a signed attribute.

* 用于创建签名的签名者证书的标识始终作为签名属性存在。

* The degenerate case where there are no signers is not valid in this document.

* 没有签名者的退化情况在本文档中无效。

3.5 EncapsulatedContentInfo Type
3.5 封装的ContentInfo类型

The syntax of the EncapsulatedContentInfo a type of the ES is as defined in [CMS].

ES类型的封装ContentInfo的语法如[CMS]中所定义。

For the purpose of long term validation as defined by this document, it is advisable that either the eContent is present, or the data which is signed is archived in such as way as to preserve the any data encoding. It is important that the OCTET STRING used to generate the signature remains the same every time either the verifier or an arbitrator validates the signature.

出于本文件定义的长期验证目的,建议存在eContent,或以保存任何数据编码的方式存档已签名的数据。每次验证器或仲裁器验证签名时,用于生成签名的八位字节字符串保持不变,这一点很重要。

The degenerate case where there are no signers is not valid in this document.

没有签名者的退化情况在本文档中无效。

3.6 SignerInfo Type
3.6 签名信息类型

The syntax of the SignerInfo a type of the ES is as defined in [CMS].

ES类型的签名者的语法如[CMS]中所定义。

Per-signer information is represented in the type SignerInfo. In the case of multiple independent signatures, there is an instance of this field for each signer.

每个签名者的信息在SignerInfo类型中表示。在多个独立签名的情况下,每个签名者都有一个此字段的实例。

The fields of type SignerInfo have the meanings defined in [CMS] except that signedAttributes must, as a minimum, contain the following attributes:

SignerInfo类型的字段具有[CMS]中定义的含义,但SignedAttribute必须至少包含以下属性:

* ContentType as defined in clause 3.7.1. * MessageDigest as defined in clause 3.7.2. * SigningTime as defined in clause 3.7.3. * SigningCertificate as defined in clause 3.8.1. * SignaturePolicyId as defined in clause 3.9.1.

* 第3.7.1条中定义的内容类型。*第3.7.2条中定义的消息摘要。*第3.7.3条规定的签字时间。*第3.8.1条规定的签署证书。*第3.9.1条中定义的签名政策。

3.6.1 Message Digest Calculation Process
3.6.1 消息摘要计算过程

The message digest calculation process is as defined in [CMS].

消息摘要计算过程如[CMS]中所定义。

3.6.2 Message Signature Generation Process
3.6.2 消息签名生成过程

The input to the digital signature generation process is as defined in [CMS].

数字签名生成过程的输入如[CMS]中所定义。

3.6.3 Message Signature Verification Process
3.6.3 消息签名验证过程

The procedures for CMS signed data validation are as defined in [CMS] and enhanced in this document.

CMS签名数据验证程序如[CMS]所定义,并在本文件中得到了增强。

The input to the signature verification process includes the signer's public key verified as correct using either the ESS Signing Certificate attribute or the Other Signing Certificate attribute.

签名验证过程的输入包括使用ESS签名证书属性或其他签名证书属性验证为正确的签名者公钥。

3.7 CMS Imported Mandatory Present Attributes
3.7 CMS导入了必需的呈现属性

The following attributes MUST be present with the signed-data defined by this document. The attributes are defined in [CMS].

此文档定义的签名数据必须具有以下属性。属性在[CMS]中定义。

3.7.1 Content Type
3.7.1 内容类型

The syntax of the content-type attribute type of the ES is as defined in [CMS].

ES的内容类型属性类型的语法如[CMS]中所定义。

3.7.2 Message Digest
3.7.2 消息摘要

The syntax of the message-digest attribute type of the ES is as defined in [CMS].

ES的消息摘要属性类型的语法如[CMS]中所定义。

3.7.3 Signing Time
3.7.3 签署时间

The syntax of the message-digest attribute type of the ES is as defined in [CMS] and further qualified by this document.

ES的消息摘要属性类型的语法如[CMS]中所定义,并由本文件进一步限定。

The signing-time attribute type specifies the time at which the signer claims to have performed the signing process.

签名时间属性类型指定签名者声称已执行签名过程的时间。

This present document recommends the use of GeneralizedTime.

本文档建议使用GeneralizedTime。

3.8 Alternative Signing Certificate Attributes
3.8 替代签名证书属性

One, and only one, of the following two alternative attributes MUST be present with the signed-data defined by this document to identify the signing certificate. Both attributes include an identifier and a hash of the signing certificate. The first, which is adopted in existing standards, may be only used with the SHA-1 hashing algorithm. The other shall be used when other hashing algorithms are to be supported.

以下两个可选属性中的一个(且仅一个)必须与本文档定义的签名数据一起出现,以标识签名证书。这两个属性都包括签名证书的标识符和散列。第一种是在现有标准中采用的,只能与SHA-1哈希算法一起使用。当支持其他散列算法时,应使用另一种算法。

The signing certificate attribute is designed to prevent the simple substitution and re-issue attacks, and to allow for a restricted set of authorization certificates to be used in verifying a signature.

签名证书属性旨在防止简单的替换和重新颁发攻击,并允许在验证签名时使用一组受限的授权证书。

3.8.1 ESS Signing Certificate Attribute Definition
3.8.1 ESS签名证书属性定义

The syntax of the signing certificate attribute type of the ES is as defined in [ESS], and further qualified and profile in this document.

ES的签名证书属性类型的语法如[ESS]中所定义,并在本文档中进一步限定和配置。

The ESS signing certificate attribute must be a signed attribute.

ESS签名证书属性必须是已签名属性。

This document mandates the presence of this attribute as a signed CMS attribute, and the sequence must not be empty. The certificate used to verify the signature must be identified in the sequence, the Signature Validation Policy may mandate other certificate references to be present, that may include all the certificates up to the point of trust. The encoding of the ESSCertID for this certificate must include the issuerSerial field.

本文档要求该属性作为已签名的CMS属性存在,且序列不得为空。用于验证签名的证书必须按顺序标识,签名验证策略可能会要求提供其他证书引用,其中可能包括信任点之前的所有证书。此证书的ESSCertID编码必须包括issuerSerial字段。

The issuerAndSerialNumber present in the SignerInfo must be consistent with issuerSerial field. The certificate identified must be used during the signature verification process. If the hash of the certificate does not match the certificate used to verify the signature, the signature must be considered invalid.

SignerInfo中的issuerAndSerialNumber必须与issuerSerial字段一致。在签名验证过程中必须使用标识的证书。如果证书的哈希与用于验证签名的证书不匹配,则签名必须视为无效。

The sequence of policy information field is not used in this document.

本文档中未使用“策略信息序列”字段。

NOTE: Where an attribute certificate is used by the signer to associate a role, or other attributes of the signer, with the electronic signature this is placed in the Signer Attribute attribute as defined in clause 3.12.3.

注:如果签名人使用属性证书将角色或签名人的其他属性与电子签名相关联,则将其置于第3.12.3条中定义的签名人属性中。

3.8.2 Other Signing Certificate Attribute Definition
3.8.2 其他签名证书属性定义

The following attribute is identical to the ESS SigningCertificate defined above except that this attribute can be used with hashing algorithms other than SHA-1.

以下属性与上面定义的ESS SigningCertificate相同,只是该属性可用于SHA-1以外的散列算法。

This attribute must be used in the same manner as defined above for the ESS SigningCertificate attribute.

此属性的使用方式必须与上面为ESS SigningCertificate属性定义的方式相同。

The following object identifier identifies the signing certificate attribute:

以下对象标识符标识签名证书属性:

   id-aa-ets-otherSigCert OBJECT IDENTIFIER ::= { iso(1)
       member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
       smime(16) id-aa(2) 19 }
        
   id-aa-ets-otherSigCert OBJECT IDENTIFIER ::= { iso(1)
       member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
       smime(16) id-aa(2) 19 }
        

The signing certificate attribute value has the ASN.1 syntax OtherSigningCertificate

签名证书属性值具有ASN.1语法OtherSigningCertificate

   OtherSigningCertificate ::=  SEQUENCE {
       certs        SEQUENCE OF OtherCertID,
       policies     SEQUENCE OF PolicyInformation OPTIONAL
                    -- NOT USED IN THIS DOCUMENT
   }
        
   OtherSigningCertificate ::=  SEQUENCE {
       certs        SEQUENCE OF OtherCertID,
       policies     SEQUENCE OF PolicyInformation OPTIONAL
                    -- NOT USED IN THIS DOCUMENT
   }
        
   OtherCertID ::= SEQUENCE {
        otherCertHash            OtherHash,
        issuerSerial             IssuerSerial OPTIONAL
   }
        
   OtherCertID ::= SEQUENCE {
        otherCertHash            OtherHash,
        issuerSerial             IssuerSerial OPTIONAL
   }
        
   OtherHash ::= CHOICE {
       sha1Hash OtherHashValue,  -- This contains a SHA-1 hash
       otherHash OtherHashAlgAndValue
   }
        
   OtherHash ::= CHOICE {
       sha1Hash OtherHashValue,  -- This contains a SHA-1 hash
       otherHash OtherHashAlgAndValue
   }
        
   OtherHashValue ::= OCTET STRING
        
   OtherHashValue ::= OCTET STRING
        
   OtherHashAlgAndValue ::= SEQUENCE {
     hashAlgorithm  AlgorithmIdentifier,
     hashValue      OtherHashValue
   }
        
   OtherHashAlgAndValue ::= SEQUENCE {
     hashAlgorithm  AlgorithmIdentifier,
     hashValue      OtherHashValue
   }
        
3.9 Additional Mandatory Attributes
3.9 其他强制性属性
3.9.1 Signature policy Identifier
3.9.1 签名策略标识符

This document mandates that a reference to the signature policy, is included in the signedData, this reference is either explicitly identified or implied by the semantics of the signed content and other external data. A signature policy defines the rules for creation and validation of an electronic signature, is included as a signed attribute with every signature. The signature policy identifier must be a signed attribute.

本文档要求在signedData中包含对签名策略的引用,该引用由签名内容和其他外部数据的语义明确标识或暗示。签名策略定义了创建和验证电子签名的规则,作为签名属性包含在每个签名中。签名策略标识符必须是已签名的属性。

The following object identifier identifies the signature policy identifier attribute:

以下对象标识符标识签名策略标识符属性:

   id-aa-ets-sigPolicyId OBJECT IDENTIFIER ::= { iso(1)
       member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
       smime(16) id-aa(2) 15 }
        
   id-aa-ets-sigPolicyId OBJECT IDENTIFIER ::= { iso(1)
       member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
       smime(16) id-aa(2) 15 }
        

Signature-policy-identifier attribute values have ASN.1 type SignaturePolicyIdentifier.

签名策略标识符属性值具有ASN.1类型的SignaturePolicyIdentifier。

   SignaturePolicyIdentifier ::= CHOICE{
            SignaturePolicyId          SignaturePolicyId,
            SignaturePolicyImplied     SignaturePolicyImplied }
        
   SignaturePolicyIdentifier ::= CHOICE{
            SignaturePolicyId          SignaturePolicyId,
            SignaturePolicyImplied     SignaturePolicyImplied }
        
   SignaturePolicyId ::= SEQUENCE {
           sigPolicyIdentifier   SigPolicyId,
           sigPolicyHash         SigPolicyHash,
           sigPolicyQualifiers   SEQUENCE SIZE (1..MAX) OF
                                 SigPolicyQualifierInfo      OPTIONAL
                                                                    }
        
   SignaturePolicyId ::= SEQUENCE {
           sigPolicyIdentifier   SigPolicyId,
           sigPolicyHash         SigPolicyHash,
           sigPolicyQualifiers   SEQUENCE SIZE (1..MAX) OF
                                 SigPolicyQualifierInfo      OPTIONAL
                                                                    }
        
   SignaturePolicyImplied ::= NULL
        
   SignaturePolicyImplied ::= NULL
        

The presence of the NULL type indicates that the signature policy is implied by the semantics of the signed data and other external data.

NULL类型的存在表示签名策略由签名数据和其他外部数据的语义隐含。

The sigPolicyId field contains an object-identifier which uniquely identifies a specific version of the signature policy. The syntax of this field is as follows:

sigPolicyId字段包含一个对象标识符,该标识符唯一标识签名策略的特定版本。此字段的语法如下所示:

      SigPolicyId ::= OBJECT IDENTIFIER
        
      SigPolicyId ::= OBJECT IDENTIFIER
        

The sigPolicyHash field contains the identifier of the hash algorithm and the hash of the value of the signature policy.

sigPolicyHash字段包含哈希算法的标识符和签名策略值的哈希。

If the signature policy is defined using a computer processable notation like ASN.1, then the hash is calculated on the value without the outer type and length fields and the hashing algorithm must be as specified in the field signPolicyHshAlg.

如果签名策略是使用计算机可处理的表示法(如ASN.1)定义的,则散列是在没有外部类型和长度字段的值上计算的,并且散列算法必须与signPolicyHshAlg字段中指定的一样。

If the signature policy is defined using another structure, the type of structure and the hashing algorithm must be either specified as part of the signature policy, or indicated using a signature policy qualifier.

如果签名策略是使用其他结构定义的,则必须将结构类型和哈希算法指定为签名策略的一部分,或者使用签名策略限定符来指示。

      SigPolicyHash ::= OtherHashAlgAndValue
        
      SigPolicyHash ::= OtherHashAlgAndValue
        

A signature policy identifier may be qualified with other information about the qualifier. The semantics and syntax of the qualifier is as associated with the object-identifier in the sigPolicyQualifierId field. The general syntax of this qualifier is as follows:

签名策略标识符可以与有关限定符的其他信息一起限定。限定符的语义和语法与sigPolicyQualifierId字段中的对象标识符相关联。此限定符的一般语法如下所示:

      SigPolicyQualifierInfo ::= SEQUENCE {
           sigPolicyQualifierId  SigPolicyQualifierId,
           sigQualifier          ANY DEFINED BY sigPolicyQualifierId
   }
        
      SigPolicyQualifierInfo ::= SEQUENCE {
           sigPolicyQualifierId  SigPolicyQualifierId,
           sigQualifier          ANY DEFINED BY sigPolicyQualifierId
   }
        

This document specifies the following qualifiers:

本文档指定了以下限定符:

* spuri: This contains the web URI or URL reference to the signature policy

* spuri:它包含对签名策略的web URI或URL引用

* spUserNotice: This contains a user notice which should be displayed whenever the signature is validated.

* spUserNotice:它包含一个用户通知,在验证签名时应显示该用户通知。

-- sigpolicyQualifierIds defined in this document

--本文档中定义的SIGPolicyQualifierID

   SigPolicyQualifierId ::=  OBJECT IDENTIFIER
        
   SigPolicyQualifierId ::=  OBJECT IDENTIFIER
        
       id-spq-ets-uri OBJECT IDENTIFIER ::= { iso(1)
       member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
       smime(16) id-spq(5) 1 }
        
       id-spq-ets-uri OBJECT IDENTIFIER ::= { iso(1)
       member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
       smime(16) id-spq(5) 1 }
        
      SPuri ::= IA5String
        
      SPuri ::= IA5String
        
       id-spq-ets-unotice OBJECT IDENTIFIER ::= { iso(1)
       member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
       smime(16) id-spq(5) 2 }
        
       id-spq-ets-unotice OBJECT IDENTIFIER ::= { iso(1)
       member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
       smime(16) id-spq(5) 2 }
        
      SPUserNotice ::= SEQUENCE {
           noticeRef        NoticeReference OPTIONAL,
           explicitText     DisplayText OPTIONAL
   }
        
      SPUserNotice ::= SEQUENCE {
           noticeRef        NoticeReference OPTIONAL,
           explicitText     DisplayText OPTIONAL
   }
        
      NoticeReference ::= SEQUENCE {
           organization     DisplayText,
           noticeNumbers    SEQUENCE OF INTEGER
   }
        
      NoticeReference ::= SEQUENCE {
           organization     DisplayText,
           noticeNumbers    SEQUENCE OF INTEGER
   }
        
      DisplayText ::= CHOICE {
           visibleString    VisibleString  (SIZE (1..200)),
           bmpString        BMPString      (SIZE (1..200)),
           utf8String       UTF8String     (SIZE (1..200))
   }
        
      DisplayText ::= CHOICE {
           visibleString    VisibleString  (SIZE (1..200)),
           bmpString        BMPString      (SIZE (1..200)),
           utf8String       UTF8String     (SIZE (1..200))
   }
        
3.10 CMS Imported Optional Attributes
3.10 CMS导入了可选属性

The following attributes MAY be present with the signed-data defined by this document. The attributes are defined in ref [CMS] and are imported into this specification and were appropriate qualified and profiling by this document.

本文档定义的签名数据可能包含以下属性。这些属性在ref[CMS]中定义,并导入本规范,本文件对其进行了适当的鉴定和分析。

3.10.1 Countersignature
3.10.1 会签

The syntax of the countersignature attribute type of the ES is as defined in [CMS]. The countersignature attribute must be an unsigned attribute.

ES的会签属性类型的语法如[CMS]中所定义。反签名属性必须是未签名的属性。

3.11 ESS Imported Optional Attributes
3.11 ESS导入了可选属性

The following attributes MAY be present with the signed-data defined by this document. The attributes are defined in ref [ESS] and are imported into this specification and were appropriate qualified and profiling by this document.

本文档定义的签名数据可能包含以下属性。这些属性在ref[ESS]中定义,并导入到本规范中,本文档对其进行了适当的限定和分析。

3.11.1 Content Reference Attribute
3.11.1 内容引用属性

The content reference attribute is a link from one SignedData to another. It may be used to link a reply to the original message to which it refers, or to incorporate by reference one SignedData into another.

内容引用属性是从一个SignedData到另一个SignedData的链接。它可以用于将回复链接到它所引用的原始消息,或者通过引用将一个签名数据合并到另一个签名数据中。

The content reference attribute MUST be used as defined in [ESS]. The content reference MUST be a signed attribute.

内容引用属性必须按照[ESS]中的定义使用。内容引用必须是已签名的属性。

The syntax of the content reference attribute type of the ES is as defined in [ESS].

ES的内容引用属性类型的语法如[ESS]中所定义。

3.11.2 Content Identifier Attribute
3.11.2 内容标识符属性

The content identifier attribute provides an identifier for the signed content for use when reference may be later required to that content, for example in the content reference attribute in other signed data sent later.

内容标识符属性提供签名内容的标识符,以便在稍后可能需要引用该内容时使用,例如在稍后发送的其他签名数据中的内容引用属性中。

The content identifier must be a signed attribute.

内容标识符必须是已签名的属性。

The syntax of the content identifier attribute type of the ES is as defined in [ESS].

ES的内容标识符属性类型的语法如[ESS]中所定义。

The minimal signedContentIdentifier should contain a concatenation of user-specific identification information (such as a user name or public keying material identification information), a GeneralizedTime string, and a random number.

最小signedContentIdentifier应包含特定于用户的标识信息(如用户名或公钥材料标识信息)、泛化时间字符串和随机数的串联。

3.11.3 Content Hints Attribute
3.11.3 内容提示属性

The content hints attribute provides information that describes the format of the signed content. It may be used by the signer to indicate to a verifier the precise format that MUST be used to

“内容提示”属性提供描述已签名内容格式的信息。签名人可以使用它向验证者指示必须用于验证的精确格式

present the data (e.g., text, voice, video) to a verifier. This attribute MUST be present when it is mandatory to present the signed data to human users on verification.

将数据(例如文本、语音、视频)呈现给验证器。当必须在验证时向人工用户提供签名数据时,必须存在此属性。

The syntax of the content hints attribute type of the ES is as defined in ESS (RFC 2634, section 2.9 [9]).

ES的内容提示属性类型的语法如ESS(RFC 2634,第2.9[9]节)中所定义。

When used to indicate the precise format of the data to be presented to the user the following rules apply:

当用于指示要呈现给用户的数据的精确格式时,以下规则适用:

The contentType (defined in RFC 2630 [8]) indicates the type of the associated content. It is an object identifier (i.e., a unique string of integers) assigned by an authority that defines the content type.

contentType(在RFC 2630[8]中定义)表示关联内容的类型。它是由定义内容类型的机构分配的对象标识符(即唯一的整数字符串)。

The UTF8String shall define the presentation format. The format may be defined by MIME types as indicated below.

UTF8字符串应定义表示格式。格式可以由MIME类型定义,如下所示。

Note 1: The contentType can be id-data defined in CMS (RFC 2630 [8]). The UTF8String can be used to indicate the encoding of the data, like MIME type. RFC 2045 [25] provides a common structure for encoding a range of electronic documents and other multi-media types, see annex B for further information, a system supporting verification of electronic signature may present information to users in the form identified by the MIME type.

注1:contentType可以是CMS(RFC 2630[8])中定义的id数据。UTF8String可用于指示数据的编码,如MIME类型。RFC 2045[25]提供了一种通用结构,用于对一系列电子文档和其他多媒体类型进行编码,有关更多信息,请参见附录B。支持电子签名验证的系统可能会以MIME类型标识的形式向用户提供信息。

   id-data OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
   rsadsi(113549) pkcs(1) pkcs7(7) 1 }
        
   id-data OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
   rsadsi(113549) pkcs(1) pkcs7(7) 1 }
        
3.12 Additional Optional Attributes
3.12 附加可选属性
3.12.1 Commitment Type Indication Attribute
3.12.1 承诺类型指示属性

There may be situation were a signer wants to explicitly indicate to a verifier that by signing the data, it illustrates a type of commitment on behalf of the signer. The commitmentTypeIndication attribute conveys such information.

可能存在这样的情况,即签名者希望明确地向验证者表明,通过对数据进行签名,它代表签名者说明了一种承诺类型。commitmentTypeIndication属性传递此类信息。

The commitmentTypeIndication attribute must be a signed attribute.

commitmentTypeIndication属性必须是已签名属性。

The commitment type may be:

承诺类型可以是:

* defined as part of the signature policy, in which case the commitment type has precise semantics that is defined as part of the signature policy.

* 定义为签名策略的一部分,在这种情况下,承诺类型具有定义为签名策略一部分的精确语义。

* be a registered type, in which case the commitment type has precise semantics defined by registration, under the rules of the registration authority. Such a registration authority may be a trading association or a legislative authority.

* 是注册类型,在这种情况下,承诺类型具有注册机构根据注册规则定义的精确语义。这种登记机关可以是贸易协会或立法机关。

The signature policy specifies a set of attributes that it "recognizes". This "recognized" set includes all those commitment types defined as part of the signature policy as well as any externally defined commitment types that the policy may choose to recognize. Only recognized commitment types are allowed in this field.

签名策略指定它“识别”的一组属性。此“已识别”集合包括作为签名策略一部分定义的所有承诺类型,以及策略可能选择识别的任何外部定义的承诺类型。此字段中只允许识别的承诺类型。

The following object identifier identifies the commitment type indication attribute:

以下对象标识符标识承诺类型指示属性:

id-aa-ets-commitmentType OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 16}
        
id-aa-ets-commitmentType OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 16}
        

Commitment-Type-Indication attribute values have ASN.1 type CommitmentTypeIndication.

承诺类型指示属性值具有ASN.1类型承诺类型指示。

CommitmentTypeIndication ::= SEQUENCE {
   commitmentTypeId            CommitmentTypeIdentifier,
   commitmentTypeQualifier     SEQUENCE SIZE (1..MAX) OF
                               CommitmentTypeQualifier      OPTIONAL
}
        
CommitmentTypeIndication ::= SEQUENCE {
   commitmentTypeId            CommitmentTypeIdentifier,
   commitmentTypeQualifier     SEQUENCE SIZE (1..MAX) OF
                               CommitmentTypeQualifier      OPTIONAL
}
        
CommitmentTypeIdentifier ::= OBJECT IDENTIFIER
        
CommitmentTypeIdentifier ::= OBJECT IDENTIFIER
        
CommitmentTypeQualifier ::= SEQUENCE {
    commitmentTypeIdentifier   CommitmentTypeIdentifier,
    qualifier                  ANY DEFINED BY
                               commitmentTypeIdentifier
}
        
CommitmentTypeQualifier ::= SEQUENCE {
    commitmentTypeIdentifier   CommitmentTypeIdentifier,
    qualifier                  ANY DEFINED BY
                               commitmentTypeIdentifier
}
        

The use of any qualifiers to the commitment type is outside the scope of this document.

对承诺类型使用任何限定符都超出了本文档的范围。

The following generic commitment types are defined in this document:

本文件中定义了以下通用承诺类型:

      id-cti-ets-proofOfOrigin OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      cti(6) 1}
        
      id-cti-ets-proofOfOrigin OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      cti(6) 1}
        
      id-cti-ets-proofOfReceipt OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      cti(6) 2}
        
      id-cti-ets-proofOfReceipt OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      cti(6) 2}
        
      id-cti-ets-proofOfDelivery OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 3}
        
      id-cti-ets-proofOfDelivery OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 3}
        
      id-cti-ets-proofOfSender OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      cti(6) 4}
        
      id-cti-ets-proofOfSender OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      cti(6) 4}
        
      id-cti-ets-proofOfApproval OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 5}
        
      id-cti-ets-proofOfApproval OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 5}
        
      id-cti-ets-proofOfCreation OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 6}
        
      id-cti-ets-proofOfCreation OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 6}
        

These generic commitment types have the following meaning:

这些通用承诺类型具有以下含义:

Proof of origin indicates that the signer recognizes to have created, approved and sent the message.

原产地证明表示签名人确认已创建、批准并发送该邮件。

Proof of receipt indicates that signer recognizes to have received the content of the message.

收到证明表示签名人确认已收到邮件内容。

Proof of delivery indicates that the TSP providing that indication has delivered a message in a local store accessible to the recipient of the message.

传递证明表明提供该指示的TSP已在本地存储中传递消息,该本地存储可供消息接收方访问。

Proof of sender indicates that the entity providing that indication has sent the message (but not necessarily created it).

发送方证明表明提供该指示的实体已发送消息(但不一定创建了该消息)。

Proof of approval indicates that the signer has approved the content of the message.

批准证明表明签名人已批准邮件内容。

Proof of creation indicates that the signer has created the message (but not necessarily approved, nor sent it).

创建证明表明签名者已创建消息(但不一定已批准或已发送)。

3.12.2 Signer Location attribute
3.12.2 签名者位置属性

The signer-location attribute is an attribute which specifies a mnemonic for an address associated with the signer at a particular geographical (e.g., city) location. The mnemonic is registered in the country in which the signer is located and is used in the provision of the Public Telegram Service (according to ITU-T Recommendation F.1 [PTS]).

签名者位置属性是一个属性,用于指定在特定地理位置(例如城市)与签名者关联的地址的助记符。助记符在签名人所在国注册,并用于提供公共电报服务(根据ITU-T建议F.1[PTS])。

The signer-location attribute must be a signed attribute.

签名者位置属性必须是已签名属性。

The following object identifier identifies the signer-location attribute:

以下对象标识符标识签名者位置属性:

id-aa-ets-signerLocation OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 17}
        
id-aa-ets-signerLocation OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 17}
        

Signer-location attribute values have ASN.1 type SignerLocation.

签名者位置属性值具有ASN.1类型的SignerLocation。

   SignerLocation ::= SEQUENCE {
        -- at least one of the following must be present
      countryName          [0] DirectoryString      OPTIONAL,
        -- as used to name a Country in X.500
      localityName         [1] DirectoryString      OPTIONAL,
         -- as used to name a locality in X.500
      postalAdddress       [2] PostalAddress        OPTIONAL
}
        
   SignerLocation ::= SEQUENCE {
        -- at least one of the following must be present
      countryName          [0] DirectoryString      OPTIONAL,
        -- as used to name a Country in X.500
      localityName         [1] DirectoryString      OPTIONAL,
         -- as used to name a locality in X.500
      postalAdddress       [2] PostalAddress        OPTIONAL
}
        
   PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
        
   PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
        
3.12.3 Signer Attributes attribute
3.12.3 签名者属性

The signer-attributes attribute is an attribute which specifies additional attributes of the signer (e.g., role).

签名者属性是一个属性,用于指定签名者的其他属性(例如,角色)。

It may be either:

它可以是:

* claimed attributes of the signer; or * certified attributes of the signer;

* 签名人声称的属性;或*签字人的认证属性;

The signer-attributes attribute must be a signed attribute.

签名者属性必须是已签名属性。

The following object identifier identifies the signer-attribute attribute:

以下对象标识符标识签名者属性:

   id-aa-ets-signerAttr OBJECT IDENTIFIER ::= { iso(1) member-body(2)
       us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 18}
        
   id-aa-ets-signerAttr OBJECT IDENTIFIER ::= { iso(1) member-body(2)
       us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 18}
        

signer-attribute attribute values have ASN.1 type SignerAttribute.

签名者属性值具有ASN.1类型的SignerAttribute。

      SignerAttribute ::= SEQUENCE OF CHOICE {
         claimedAttributes      [0]  ClaimedAttributes,
         certifiedAttributes    [1]  CertifiedAttributes
   }
        
      SignerAttribute ::= SEQUENCE OF CHOICE {
         claimedAttributes      [0]  ClaimedAttributes,
         certifiedAttributes    [1]  CertifiedAttributes
   }
        
   ClaimedAttributes ::= SEQUENCE OF Attribute
        
   ClaimedAttributes ::= SEQUENCE OF Attribute
        
   CertifiedAttributes ::= AttributeCertificate
            -- as defined in X.509 : see section 10.3
        
   CertifiedAttributes ::= AttributeCertificate
            -- as defined in X.509 : see section 10.3
        

NOTE: The claimed and certified attribute are imported from ITU-T Recommendations X.501 [16] and ITU-T Recommendation X.509:Draft Amendment on Certificate Extensions, October 1999.

注:声明和认证属性是从ITU-T建议X.501[16]和ITU-T建议X.509:1999年10月证书扩展修订草案中导入的。

3.12.4 Content Time-Stamp attribute
3.12.4 内容时间戳属性

The content time-stamp attribute is an attribute which is the time-stamp of the signed data content before it is signed.

内容时间戳属性是一个属性,它是已签名数据内容在签名之前的时间戳。

The content time-stamp attribute must be a signed attribute.

内容时间戳属性必须是已签名属性。

The following object identifier identifies the signer-attribute attribute:

以下对象标识符标识签名者属性:

      id-aa-ets-contentTimestamp OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) id-aa(2) 20}
        
      id-aa-ets-contentTimestamp OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) id-aa(2) 20}
        
   Content time-stamp attribute values have ASN.1 type ContentTimestamp:
   ContentTimestamp::= TimeStampToken
        
   Content time-stamp attribute values have ASN.1 type ContentTimestamp:
   ContentTimestamp::= TimeStampToken
        

The value of messageImprint field within TimeStampToken must be a hash of the value of eContent field within encapContentInfo within the signedData.

TimeStampToken中messageImprint字段的值必须是signedData中encapContentInfo中eContent字段值的散列。

For further information and definition of TimeStampToken see [TSP].

有关TimeStampToken的更多信息和定义,请参见[TSP]。

3.13 Support for Multiple Signatures
3.13 支持多个签名
3.13.1 Independent Signatures
3.13.1 独立签名

Multiple independent signatures are supported by independent SignerInfo from each signer.

每个签名者的独立签名信息支持多个独立签名。

Each SignerInfo must include all the attributes required under this document and must be processed independently by the verifier.

每个签名信息必须包含本文件要求的所有属性,并且必须由验证者独立处理。

3.13.2 Embedded Signatures
3.13.2 嵌入签名

Multiple embedded signatures are supported using the counter-signature unsigned attribute (see clause 3.10.1). Each counter signature is carried in Countersignature held as an unsigned attribute to the SignerInfo to which the counter-signature is applied.

使用计数器签名未签名属性支持多个嵌入式签名(见第3.10.1条)。每个反签名都在反签名中进行,作为应用反签名的SignerinInfo的未签名属性。

4. Validation Data
4. 验证数据

This clause specifies the validation data structures which builds on the electronic signature specified in clause 3. This includes:

本条规定了以第3条规定的电子签名为基础的验证数据结构。这包括:

* Time-Stamp applied to the electronic signature value.

* 应用于电子签名值的时间戳。

* Complete validation data which comprises the time-stamp of the signature value, plus references to all the certificates and revocation information used for full validation of the electronic signature.

* 完整的验证数据,包括签名值的时间戳,以及用于完全验证电子签名的所有证书和撤销信息的参考。

The following optional eXtended forms of validation data are also defined:

还定义了以下可选的验证数据扩展形式:

* X-timestamp: There are two types of time-stamp used in extended validation data defined by this document.

* X-timestamp:本文档定义的扩展验证数据中使用了两种类型的时间戳。

- Type 1 -Time-Stamp which comprises a time-stamp over the ES with Complete validation data (ES-C).

- 类型1-时间戳,包括ES上的时间戳和完整的验证数据(ES-C)。

- Type 2 X-Time-Stamp which comprises of a time-stamp over the certification path references and the revocation information references used to support the ES-C.

- 类型2 X时间戳,包括用于支持ES-C的认证路径引用和撤销信息引用上的时间戳。

* X-Long: This comprises a Complete validation data plus the actual values of all the certificates and revocation information used in the ES-C.

* X-Long:这包括完整的验证数据加上ES-C中使用的所有证书和吊销信息的实际值。

* X-Long-Time-Stamp: This comprises a Type 1 or Type 2 X-Timestamp plus the actual values of all the certificates and revocation information used in the ES-C.

* X-Long-Time-Stamp:这包括类型1或类型2 X-Timestamp加上ES-C中使用的所有证书和吊销信息的实际值。

This clause also specifies the data structures used in Archive validation data:

本条款还规定了存档验证数据中使用的数据结构:

* Archive validation data comprises a Complete validation data, the certificate and revocation values (as in a X-Long validation data), any other existing X-timestamps, plus the Signed User data and an additional archive time-stamp over all that data. An archive time-stamp may be repeatedly applied after long periods to maintain validity when electronic signature and timestamping algorithms weaken.

* 归档验证数据包括完整的验证数据、证书和吊销值(如在X长验证数据中)、任何其他现有的X时间戳,加上已签名的用户数据和所有数据上的附加归档时间戳。当电子签名和时间戳算法减弱时,存档时间戳可在长时间后重复应用,以保持有效性。

The additional data required to create the forms of electronic signature identified above is carried as unsigned attributes associated with an individual signature by being placed in the

创建上述电子签名形式所需的附加数据通过放置在

unsignedAttrs field of SignerInfo. Thus all the attributes defined in clause 4 are unsigned attributes.

SignerInfo的unsignedAttrs字段。因此,第4条中定义的所有属性都是无符号属性。

NOTE: Where multiple signatures are to be supported, as described in clause 3.13, each signature has a separate SignerInfo. Thus, each signature requires its own unsigned attribute values to create ES-T, ES-C etc.

注:如第3.13条所述,如果需要支持多个签名,则每个签名都有一个单独的签名信息。因此,每个签名都需要自己的无符号属性值来创建ES-T、ES-C等。

4.1 Electronic Signature Timestamp
4.1 电子签名时间戳

An Electronic Signature with Timestamp is an Electronic Signature for which part, but not all, of the additional data required for validation is available (e.g., some certificates and revocation information is available but not all).

带有时间戳的电子签名是一种电子签名,其中验证所需的附加数据的一部分(但不是全部)可用(例如,某些证书和撤销信息可用,但不是全部)。

The minimum structure Timestamp validation data is the Signature Timestamp Attribute as defined in clause 4.1.1 over the ES signature value.

最小结构时间戳验证数据是第4.1.1条中针对ES签名值定义的签名时间戳属性。

4.1.1 Signature Timestamp Attribute Definition
4.1.1 签名时间戳属性定义

The Signature Timestamp attribute is timestamp of the signature value. It is an unsigned attribute. Several instances of this attribute from different TSAs may occur with an electronic signature.

签名时间戳属性是签名值的时间戳。它是一个无符号属性。电子签名可能会出现来自不同TSA的该属性的多个实例。

The Signature Validation Policy specifies, in the signatureTimestampDelay field of TimestampTrustConditions, a maximum acceptable time difference which is allowed between the time indicated in the signing time attribute and the time indicated by the Signature Timestamp attribute. If this delay is exceeded then the electronic signature must be considered as invalid.

签名验证策略在TimestampTrustConditions的signatureTimestampDelay字段中指定签名时间属性中指示的时间与签名时间戳属性中指示的时间之间允许的最大可接受时间差。如果超过此延迟,则电子签名必须视为无效。

The following object identifier identifies the Signature Timestamp attribute:

以下对象标识符标识签名时间戳属性:

      id-aa-signatureTimeStampToken OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      id-aa(2) 14}
        
      id-aa-signatureTimeStampToken OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      id-aa(2) 14}
        

The Signature timestamp attribute value has ASN.1 type SignatureTimeStampToken.

签名时间戳属性值具有ASN.1类型SignatureTimeStampToken。

   SignatureTimeStampToken ::= TimeStampToken
        
   SignatureTimeStampToken ::= TimeStampToken
        

The value of messageImprint field within TimeStampToken must be a hash of the value of signature field within SignerInfo for the signedData being timestamped.

TimeStampToken中messageImprint字段的值必须是SignerInfo中signedData的signature字段值的散列。

For further information and definition of TimeStampToken see [TSP].

有关TimeStampToken的更多信息和定义,请参见[TSP]。

4.2 Complete Validation Data
4.2 完整的验证数据

An electronic signature with complete validation data is an Electronic Signature for which all the additional data required for validation (i.e., all certificates and revocation information) is available. Complete validation data (ES-C) build on the electronic signature Time-Stamp as defined above.

具有完整验证数据的电子签名是指具有验证所需的所有附加数据(即所有证书和撤销信息)的电子签名。完整的验证数据(ES-C)建立在上述电子签名时间戳上。

The minimum structure of a Complete validation data is:

完整验证数据的最低结构为:

* the Signature Time-Stamp Attribute, as defined in clause 4.1.1; * Complete Certificate Refs, as defined in clause 4.2.1; * Complete Revocation Refs, as defined in clause 4.2.2.

* 第4.1.1条中定义的签名时间戳属性;*完整的证书参考,如第4.2.1条所定义;*按照第4.2.2条的规定,完成撤销参考。

The Complete validation data MAY also include the following additional information, forming a X-Long validation data, for use if later validation processes may not have access to this information:

完整的验证数据还可能包括以下附加信息,形成X长验证数据,以供后续验证过程无法访问该信息时使用:

* Complete Certificate Values, as defined in clause 4.2.3; * Complete Revocation Values, as defined in clause 4.2.4.

* 完整的证书值,如第4.2.3条所定义;*完整的撤销值,如第4.2.4条所定义。

The Complete validation data MAY also include one of the following additional attributes, forming a X-Time-Stamp validation data, to provide additional protection against later CA compromise and provide integrity of the validation data used:

完整的验证数据还可以包括以下附加属性之一,形成X时间戳验证数据,以提供额外的保护,防止以后CA泄露,并提供所用验证数据的完整性:

* ES-C Time-Stamp, as defined in clause 4.2.5; or * Time-Stamped Certificates and CRLs references, as defined in clause 4.2.6.

* 第4.2.5条规定的ES-C时间戳;或*第4.2.6条中定义的带时间戳的证书和CRL参考。

NOTE 1: As long as the CA's are trusted such that these keys cannot be compromised or the cryptography used broken, the ES-C provides long term proof of a valid electronic signature.

注1:只要CA是可信的,这样这些密钥就不会被泄露或使用的密码被破坏,ES-C就会提供有效电子签名的长期证明。

A valid electronic signature is an electronic signature which passes validation according to a signature validation policy.

有效电子签名是根据签名验证策略通过验证的电子签名。

NOTE 2: The ES-C provides the following important property for long standing signatures; that is having been found once to be valid, must continue to be so months or years later. Long after the validity period of the certificates have expired, or after the user key has been compromised.

注2:ES-C为长期签名提供以下重要属性:;一旦被发现是有效的,必须在几个月或几年后继续有效。证书的有效期过期后很长时间,或者用户密钥被泄露后很长时间。

4.2.1 Complete Certificate Refs Attribute Definition
4.2.1 完整的证书引用属性定义

The Complete Certificate Refs attribute is an unsigned attribute. It references the full set of CA certificates that have been used to validate a ES with Complete validation data (ES-C) up to (but not including) the signer's certificate. Only a single instance of this attribute must occur with an electronic signature.

“完整证书引用”属性是一个未签名的属性。它引用了用于验证具有完整验证数据(ES-C)的ES至(但不包括)签名者证书的完整CA证书集。电子签名只能出现此属性的一个实例。

Note: The signer's certified is referenced in the signing certificate attribute (see clause 3.1).

注:签名者的认证证书在签名证书属性中引用(见第3.1条)。

id-aa-ets-certificateRefs OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 21}
        
id-aa-ets-certificateRefs OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 21}
        

The complete certificate refs attribute value has the ASN.1 syntax CompleteCertificateRefs.

complete certificate refs属性值具有ASN.1语法CompleteCertificateRefs。

   CompleteCertificateRefs ::=  SEQUENCE OF OTHERCertID
        
   CompleteCertificateRefs ::=  SEQUENCE OF OTHERCertID
        

OTHERCertID is defined in clause 3.8.2.

第3.8.2条定义了其他认证。

The IssuerSerial that must be present in OTHERCertID. The certHash must match the hash of the certificate referenced.

必须存在于OTHERCertID中的发行人序列。certHash必须与引用的证书的哈希匹配。

NOTE: Copies of the certificate values may be held using the Certificate Values attribute defined in clause 4.3.1.

注:可使用第4.3.1条中定义的证书值属性保存证书值的副本。

4.2.2 Complete Revocation Refs Attribute Definition
4.2.2 完全撤销引用属性定义

The Complete Revocation Refs attribute is an unsigned attribute. Only a single instance of this attribute must occur with an electronic signature. It references the full set of the CRL or OCSP responses that have been used in the validation of the signer and CA certificates used in ES with Complete validation data.

“完全吊销引用”属性是一个未签名的属性。电子签名只能出现此属性的一个实例。它引用了用于验证签名者的全套CRL或OCSP响应,以及ES中使用的CA证书和完整的验证数据。

The following object identifier identifies the CompleteRevocationRefs attribute:

以下对象标识符标识CompleteRetailationRefs属性:

id-aa-ets-revocationRefs OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 22}
        
id-aa-ets-revocationRefs OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 22}
        

The complete revocation refs attribute value has the ASN.1 syntax CompleteRevocationRefs.

complete revocation refs属性值具有ASN.1语法CompleteResocationRefs。

   CompleteRevocationRefs ::=  SEQUENCE OF CrlOcspRef
        
   CompleteRevocationRefs ::=  SEQUENCE OF CrlOcspRef
        
   CrlOcspRef ::= SEQUENCE {
       crlids           [0] CRLListID        OPTIONAL,
       ocspids          [1] OcspListID       OPTIONAL,
       otherRev         [2] OtherRevRefs     OPTIONAL
   }
        
   CrlOcspRef ::= SEQUENCE {
       crlids           [0] CRLListID        OPTIONAL,
       ocspids          [1] OcspListID       OPTIONAL,
       otherRev         [2] OtherRevRefs     OPTIONAL
   }
        

CompleteRevocationRefs must contain one CrlOcspRef for the signing certificate, followed by one for each OTHERCertID in the CompleteCertificateRefs attribute. The second and subsequent CrlOcspRef fields must be in the same order as the OTHERCertID to which they relate. At least one of CRLListID or OcspListID or OtherRevRefs should be present for all but the "trusted" CA of the certificate path.

CompleteCertificateRefs必须在CompleteCertificateRefs属性中为签名证书包含一个CrlOcspRef,然后为每个其他CertId包含一个CrlOcspRef。第二个和后续CrlOcspRef字段的顺序必须与它们相关的其他CertId的顺序相同。除了证书路径的“受信任”CA之外,其他所有CA都应至少存在一个CRLListID或OcspListID或其他REVREF。

   CRLListID ::=  SEQUENCE {
       crls        SEQUENCE OF CrlValidatedID}
        
   CRLListID ::=  SEQUENCE {
       crls        SEQUENCE OF CrlValidatedID}
        
   CrlValidatedID ::=  SEQUENCE {
        crlHash                   OtherHash,
        crlIdentifier             CrlIdentifier OPTIONAL}
        
   CrlValidatedID ::=  SEQUENCE {
        crlHash                   OtherHash,
        crlIdentifier             CrlIdentifier OPTIONAL}
        
   CrlIdentifier ::= SEQUENCE {
       crlissuer                 Name,
       crlIssuedTime             UTCTime,
       crlNumber                 INTEGER OPTIONAL
                                               }
        
   CrlIdentifier ::= SEQUENCE {
       crlissuer                 Name,
       crlIssuedTime             UTCTime,
       crlNumber                 INTEGER OPTIONAL
                                               }
        
   OcspListID ::=  SEQUENCE {
       ocspResponses        SEQUENCE OF OcspResponsesID}
        
   OcspListID ::=  SEQUENCE {
       ocspResponses        SEQUENCE OF OcspResponsesID}
        
   OcspResponsesID ::=  SEQUENCE {
       ocspIdentifier              OcspIdentifier,
       ocspRepHash                 OtherHash    OPTIONAL
                                               }
        
   OcspResponsesID ::=  SEQUENCE {
       ocspIdentifier              OcspIdentifier,
       ocspRepHash                 OtherHash    OPTIONAL
                                               }
        
   OcspIdentifier ::= SEQUENCE {
        ocspResponderID    ResponderID,
                          -- As in OCSP response data
        producedAt      GeneralizedTime
                          -- As in OCSP response data
                                                }
        
   OcspIdentifier ::= SEQUENCE {
        ocspResponderID    ResponderID,
                          -- As in OCSP response data
        producedAt      GeneralizedTime
                          -- As in OCSP response data
                                                }
        

When creating an crlValidatedID, the crlHash is computed over the entire DER encoded CRL including the signature. The crlIdentifier would normally be present unless the CRL can be inferred from other information.

在创建crlValidatedID时,将对整个DER编码的CRL(包括签名)计算crlHash。除非可以从其他信息推断CRL,否则CRL标识符通常存在。

The crlIdentifier is to identify the CRL using the issuer name and the CRL issued time which must correspond to the time "thisUpdate" contained in the issued CRL. The crlListID attribute is an unsigned attribute. In the case that the identified CRL is a Delta CRL then references to the set of CRLs to provide a complete revocation list must be included.

CRL标识符使用发卡机构名称和CRL发布时间来识别CRL,CRL发布时间必须与已发布CRL中包含的时间“thisUpdate”相对应。crlListID属性是一个无符号属性。如果识别的CRL是增量CRL,则必须包括对CRL集的引用,以提供完整的撤销列表。

The OcspIdentifier is to identify the OSCP response using the issuer name and the time of issue of the OCSP response which must correspond to the time "producedAt" contained in the issued OCSP response. Since it may be needed to make the difference between two OCSP responses received within the same second, then the hash of the response contained in the OcspResponsesID may be needed to solve the ambiguity.

OCSP识别器使用发卡机构名称和OCSP响应的发布时间来识别OSCP响应,OCSP响应的发布时间必须与已发布OCSP响应中包含的时间“producedAt”相对应。由于可能需要在同一秒钟内接收到的两个OCSP响应之间产生差异,因此可能需要OCSPResponseId中包含的响应的散列来解决歧义。

NOTE: Copies of the CRL and OCSP responses values may be held using the Revocation Values attribute defined in clause 4.3.2.

注:可使用第4.3.2条中定义的撤销值属性保存CRL和OCSP响应值的副本。

   OtherRevRefs ::= SEQUENCE {
      otherRevRefType      OtherRevRefType,
      otherRevRefs         ANY DEFINED BY otherRevRefType
   }
        
   OtherRevRefs ::= SEQUENCE {
      otherRevRefType      OtherRevRefType,
      otherRevRefs         ANY DEFINED BY otherRevRefType
   }
        
   OtherRevRefType ::= OBJECT IDENTIFIER
        
   OtherRevRefType ::= OBJECT IDENTIFIER
        

The syntax and semantics of other revocation references is outside the scope of this document. The definition of the syntax of the other form of revocation information is as identified by OtherRevRefType.

其他撤销引用的语法和语义不在本文档的范围内。其他形式的撤销信息的语法定义由OtherRevRefType标识。

4.3 Extended Validation Data
4.3 扩展验证数据
4.3.1 Certificate Values Attribute Definition
4.3.1 证书值属性定义

The Certificate Values attribute is an unsigned attribute. Only a single instance of this attribute must occur with an electronic signature. It holds the values of certificates referenced in the CompleteCertificateRefs attribute.

证书值属性是一个无符号属性。电子签名只能出现此属性的一个实例。它保存CompleteCertificateRefs属性中引用的证书的值。

Note: If an Attribute Certificate is used, it is not provided in this structure but must be provided by the signer as a signer-attributes attribute (see clause 12.3).

注:如果使用属性证书,则此结构中不提供属性证书,但必须由签名者作为签名者属性提供(见第12.3条)。

The following object identifier identifies the CertificateValues attribute:

以下对象标识符标识CertificateValues属性:

   id-aa-ets-certValues OBJECT IDENTIFIER ::= { iso(1) member-body(2)
       us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 23}
        
   id-aa-ets-certValues OBJECT IDENTIFIER ::= { iso(1) member-body(2)
       us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 23}
        

The certificate values attribute value has the ASN.1 syntax CertificateValues.

CertificateValues属性值具有ASN.1语法CertificateValues。

   CertificateValues ::=  SEQUENCE OF Certificate
        
   CertificateValues ::=  SEQUENCE OF Certificate
        

Certificate is defined in RFC2459 and ITU-T Recommendation X.509 [1])

证书定义见RFC2459和ITU-T建议X.509[1])

4.3.2 Revocation Values Attribute Definition
4.3.2 撤销值属性定义

The Revocation Values attribute is an unsigned attribute. Only a single instance of this attribute must occur with an electronic signature. It holds the values of CRLs and OCSP referenced in the CompleteRevocationRefs attribute.

吊销值属性是一个无符号属性。电子签名只能出现此属性的一个实例。它保存CompleteReshicateRefs属性中引用的CRLs和OCSP的值。

The following object identifier identifies the Revocation Values attribute:

以下对象标识符标识吊销值属性:

      id-aa-ets-revocationValues OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      id-aa(2) 24}
        
      id-aa-ets-revocationValues OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      id-aa(2) 24}
        

The revocation values attribute value has the ASN.1 syntax RevocationValues.

吊销值属性值具有ASN.1语法RevocationValues。

   RevocationValues ::=  SEQUENCE {
      crlVals           [0] SEQUENCE OF CertificateList     OPTIONAL,
      ocspVals          [1] SEQUENCE OF BasicOCSPResponse   OPTIONAL,
      otherRevVals      [2] OtherRevVals
   }
        
   RevocationValues ::=  SEQUENCE {
      crlVals           [0] SEQUENCE OF CertificateList     OPTIONAL,
      ocspVals          [1] SEQUENCE OF BasicOCSPResponse   OPTIONAL,
      otherRevVals      [2] OtherRevVals
   }
        
   OtherRevVals ::= SEQUENCE {
      otherRevValType       OtherRevValType,
      otherRevVals          ANY DEFINED BY otherRevValType
   }
        
   OtherRevVals ::= SEQUENCE {
      otherRevValType       OtherRevValType,
      otherRevVals          ANY DEFINED BY otherRevValType
   }
        
   OtherRevValType ::= OBJECT IDENTIFIER
        
   OtherRevValType ::= OBJECT IDENTIFIER
        

The syntax and semantics of the other revocation values is outside the scope of this document. The definition of the syntax of the other form of revocation information is as identified by OtherRevRefType.

其他撤销值的语法和语义不在本文档的范围内。其他形式的撤销信息的语法定义由OtherRevRefType标识。

CertificateList is defined in RFC 2459 [RFC2459] and in ITU-T Recommendation X.509 [X509]).

RFC 2459[RFC2459]和ITU-T建议X.509[X509]中定义了证书列表。

BasicOCSPResponse is defined in RFC 2560 [OCSP].

RFC 2560[OCSP]中定义了基本响应。

4.3.3 ES-C Time-Stamp Attribute Definition
4.3.3 ES-C时间戳属性定义

This attribute is used for the Type 1 X-Time-Stamped validation data. The ES-C Time-Stamp attribute is an unsigned attribute. It is time-stamp of a hash of the electronic signature and the complete validation data (ES-C). It is a special purpose TimeStampToken Attribute which time-stamps the ES-C. Several instances instance of this attribute may occur with an electronic signature from different TSAs.

此属性用于类型1 X时间戳验证数据。ES-C时间戳属性是一个无符号属性。它是电子签名和完整验证数据(ES-C)散列的时间戳。它是一种特殊用途的TimeStampToken属性,对ES-C进行时间戳。该属性的几个实例可能与来自不同TSA的电子签名一起出现。

The following object identifier identifies the ES-C Time-Stamp attribute:

以下对象标识符标识ES-C时间戳属性:

      id-aa-ets-escTimeStamp OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      id-aa(2) 25}
        
      id-aa-ets-escTimeStamp OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      id-aa(2) 25}
        

The ES-C time-stamp attribute value has the ASN.1 syntax ESCTimeStampToken.

ES-C时间戳属性值具有ASN.1语法ESCTimeStampToken。

   ESCTimeStampToken ::= TimeStampToken
        
   ESCTimeStampToken ::= TimeStampToken
        

The value of messageImprint field within TimeStampToken must be a hash of the concatenated values (without the type or length encoding for that value) of the following data objects as present in the ES with Complete validation data (ES-C):

TimeStampToken内messageImprint字段的值必须是ES中存在的具有完整验证数据(ES-C)的以下数据对象的串联值(无该值的类型或长度编码)的散列:

* signature field within SignerInfo;

* SignerInfo中的签名字段;

* SignatureTimeStampToken attribute;

* SignatureTimeStampToken属性;

* CompleteCertificateRefs attribute;

* CompleteCertificateRefs属性;

* CompleteRevocationRefs attribute.

* CompleteRefs属性。

For further information and definition of the Time Stamp Token see [TSP].

有关时间戳令牌的更多信息和定义,请参阅[TSP]。

4.3.4 Time-Stamped Certificates and CRLs Attribute Definition
4.3.4 时间戳证书和CRLs属性定义

This attribute is used for the Type 2 X-Time-Stamp validation data. A TimestampedCertsCRLsRef attribute is an unsigned attribute. It is a list of referenced certificates and OCSP responses/CRLs which are been time-stamped to protect against certain CA compromises. Its syntax is as follows:

此属性用于类型2 X时间戳验证数据。TimestampedCertsCRLsRef属性是未签名的属性。它是一个参考证书和OCSP响应/CRL的列表,这些证书和OCSP响应/CRL带有时间戳,以防止某些CA泄露。其语法如下:

The following object identifier identifies the TimestampedCertsCRLsRef attribute:

以下对象标识符标识TimestampedCertsCRLsRef属性:

      id-aa-ets-certCRLTimestamp OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      id-aa(2) 26}
        
      id-aa-ets-certCRLTimestamp OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      id-aa(2) 26}
        

The attribute value has the ASN.1 syntax TimestampedCertsCRLs.

属性值具有ASN.1语法TimestampedCertsCRLs。

   TimestampedCertsCRLs ::= TimeStampToken
        
   TimestampedCertsCRLs ::= TimeStampToken
        

The value of messageImprint field within TimeStampToken must be a hash of the concatenated values (without the type or length encoding for that value) of the following data objects as present in the ES with Complete validation data (ES-C):

TimeStampToken内messageImprint字段的值必须是ES中存在的具有完整验证数据(ES-C)的以下数据对象的串联值(无该值的类型或长度编码)的散列:

* CompleteCertificateRefs attribute; * CompleteRevocationRefs attribute.

* CompleteCertificateRefs属性;*CompleteRefs属性。

4.4 Archive Validation Data
4.4 存档验证数据

Where an electronic signature is required to last for a very long time, and a the time-stamp on an electronic signature is in danger of being invalidated due to algorithm weakness or limits in the validity period of the TSA certificate, then it may be required to time-stamp the electronic signature several times. When this is required an archive time-stamp attribute may be required. This time-stamp may be repeatedly applied over a period of time.

如果要求电子签名持续很长时间,并且由于算法缺陷或TSA证书有效期的限制,电子签名上的时间戳有可能失效,则可能需要多次对电子签名加盖时间戳。如果需要,则可能需要存档时间戳属性。此时间戳可以在一段时间内重复应用。

4.4.1 Archive Time-Stamp Attribute Definition
4.4.1 存档时间戳属性定义

The Archive Time-Stamp attribute is time-stamp of the user data and the entire electronic signature. If the Certificate values and Revocation Values attributes are not present these attributes must be added to the electronic signature prior to the time-stamp. The Archive Time-Stamp attribute is an unsigned attribute. Several instances of this attribute may occur with on electronic signature both over time and from different TSAs.

存档时间戳属性是用户数据和整个电子签名的时间戳。如果证书值和吊销值属性不存在,则必须在时间戳之前将这些属性添加到电子签名中。存档时间戳属性是一个未签名的属性。随着时间的推移以及来自不同TSA的电子签名可能会出现此属性的多个实例。

The following object identifier identifies the Nested Archive Time-Stamp attribute:

以下对象标识符标识嵌套的存档时间戳属性:

      id-aa-ets-archiveTimestamp OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      id-aa(2) 27}
        
      id-aa-ets-archiveTimestamp OBJECT IDENTIFIER ::= { iso(1) member-
      body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
      id-aa(2) 27}
        

Archive time-stamp attribute values have the ASN.1 syntax ArchiveTimeStampToken

存档时间戳属性值具有ASN.1语法ArchiveTimeStampToken

   ArchiveTimeStampToken ::= TimeStampToken
        
   ArchiveTimeStampToken ::= TimeStampToken
        

The value of messageImprint field within Time-StampToken must be a hash of the concatenated values (without the type or length encoding for that value) of the following data objects as present in the electronic signature:

Time StampToken内messageImprint字段的值必须是电子签名中存在的以下数据对象的串联值(不带该值的类型或长度编码)的散列:

* encapContentInfo eContent OCTET STRING; * signedAttributes; * signature field within SignerInfo; * SignatureTimeStampToken attribute; * CompleteCertificateRefs attribute; * CompleteRevocationData attribute; * CertificateValues attribute (If not already present this information must be included in the ES-A); * RevocationValues attribute (If not already present this information must be included in the ES-A); * ESCTimeStampToken attribute if present; * TimestampedCertsCRLs attribute if present; * any previous ArchiveTimeStampToken attributes.

* encapContentInfo eContent八位字节字符串;*签名属性;*SignerInfo中的签名字段;*SignatureTimeStampToken属性;*CompleteCertificateRefs属性;*CompleteRelationData属性;*CertificateValues属性(如果尚未提供此信息,则必须将其包含在ES-A中);*RevocationValues属性(如果尚未提供此信息,则必须将其包含在ES-A中);*ESCTimeStampToken属性(如果存在)*TimestampedCertsCRLs属性(如果存在)*任何以前的ArchiveTimeStampToken属性。

For further information and definition of TimeStampToken see [TSP]

有关TimeStampToken的更多信息和定义,请参见[TSP]

The time-stamp should be created using stronger algorithms (or longer key lengths) than in the original electronic signatures.

应使用比原始电子签名更强的算法(或更长的密钥长度)创建时间戳。

5. Security Considerations
5. 安全考虑
5.1 Protection of Private Key
5.1 私钥保护

The security of the electronic signature mechanism defined in this document depends on the privacy of the signer's private key. Implementations must take steps to ensure that private keys cannot be compromised.

本文件中定义的电子签名机制的安全性取决于签名人私钥的隐私。实现必须采取措施确保私钥不会被泄露。

5.2 Choice of Algorithms
5.2 算法的选择

Implementers should be aware that cryptographic algorithms become weaker with time. As new cryptoanalysis techniques are developed and computing performance improves, the work factor to break a particular cryptographic algorithm will reduce. Therefore, cryptographic algorithm implementations should be modular allowing new algorithms to be readily inserted. That is, implementers should be prepared for the set of mandatory to implement algorithms to change over time.

实现者应该意识到加密算法会随着时间的推移变得越来越弱。随着新密码分析技术的发展和计算性能的提高,破坏特定密码算法的工作因素将减少。因此,密码算法的实现应该是模块化的,这样就可以很容易地插入新的算法。也就是说,实现者应该准备好一组强制算法,以实现随时间变化的算法。

6. Conformance Requirements
6. 一致性要求

This document only defines conformance requirements up to a ES with Complete validation data (ES-C). This means that none of the extended and archive forms of Electronic Signature (ES-X, ES-A) need to be implemented to get conformance to this standard.

本文件仅定义了符合性要求,直至具有完整验证数据(ES-C)的ES。这意味着无需实施任何扩展和归档形式的电子签名(ES-X、ES-A)即可符合本标准。

This document mandates support for elements of the signature policy.

本文件要求支持签名策略的要素。

6.1 Signer
6.1 签字人

A system supporting signers according to this document must, at a minimum, support generation of an electronic signature consisting of the following components:

根据本文件,支持签名人的系统必须至少支持生成由以下组件组成的电子签名:

* The general CMS syntax and content type as defined in RFC 2630 (see clauses 4.1 and 4.2).

* RFC 2630中定义的通用CMS语法和内容类型(见第4.1和4.2条)。

* CMS SignedData as defined in RFC 2630 with version set to 3 and at least one SignerInfo must be present (see clauses 4.3, 4.4, 4.5, 4.6).

* RFC 2630中定义的CMS SignedData,版本设置为3,必须至少有一个SignerinInfo(见第4.3、4.4、4.5、4.6条)。

* The following CMS Attributes as defined in RFC 2630:

* RFC 2630中定义的以下CMS属性:

- ContentType; This must always be present (see clause 3.7.1);

- 内容类型;这必须始终存在(见第3.7.1条);

- MessageDigest; This must always be present (see clause 3.7.2);

- 信息摘要;这必须始终存在(见第3.7.2条);

- SigningTime; This must always be present (see clause 3.7.3).

- 签约时间;这必须始终存在(见第3.7.3条)。

* The following ESS Attributes as defined in RFC 2634:

* RFC 2634中定义的以下ESS属性:

- SigningCertificate: This must be set as defined in clauses 3.8.1 and 3.8.2.

- 签署证书:必须按照第3.8.1条和第3.8.2条的规定进行设置。

* The following Attributes as defined in clause 3.9:

* 第3.9条中定义的以下属性:

- SignaturePolicyIdentifier; This must always be present.

- 签名者;这必须始终存在。

* Public Key Certificates as defined in ITU-T Recommendation X.509 [1] and profiled in RFC 2459 [7] (see clause 9.1).

* ITU-T建议X.509[1]中定义并在RFC 2459[7]中描述的公钥证书(见第9.1条)。

6.2 Verifier using time-stamping
6.2 使用时间戳的验证器

A system supporting verifiers according to this document with time-stamping facilities must, at a minimum, support:

根据本文件,具有时间戳设施的系统支持验证者必须至少支持:

* Verification of the mandated components of an electronic signature, as defined in clause 5.1.

* 按照第5.1条的规定,验证电子签名的法定组成部分。

* Signature Time-Stamp attribute, as defined in clause 4.1.1.

* 第4.1.1条中定义的签名时间戳属性。

* Complete Certificate Refs attribute, as defined in clause 4.2.1.

* 按照第4.2.1条的定义,完成证书参考属性。

* Complete Revocation Refs Attribute, as defined in clause 4.2.2.

* 按照第4.2.2条的定义,完成撤销参考属性。

* Public Key Certificates, as defined in ITU-T Recommendation X.509 and profiled in RFC 2459.

* 公开密钥证书,如ITU-T建议X.509所定义,并在RFC 2459中概述。

* Either of:

* 以下任一项:

- Certificate Revocation Lists, as defined in ITU-T Recommendation X.509 [1] and profiled in RFC 2459 [7]; or

- ITU-T建议X.509[1]中定义并在RFC 2459[7]中概述的证书撤销列表;或

- On-line Certificate Status Protocol responses, as defined in RFC 2560.

- 在线证书状态协议响应,如RFC 2560中所定义。

6.3 Verifier using secure records
6.3 使用安全记录的验证器

A system supporting verifiers according to the present document shall, at a minimum, support:

根据本文件,支持验证者的系统至少应支持:

* Verification of the mandated components of an electronic signature, as defined in subclause 5.1.

* 按照第5.1款的规定,验证电子签名的法定组成部分。

* Complete Certificate Refs attribute, as defined in subclause 4.2.1.

* 按照子条款4.2.1中的定义,完成证书引用属性。

* Complete Revocation Refs Attribute, as defined in subclause 9.2.2.

* 按照子条款9.2.2中的定义,完成撤销参考属性。

* A record shall be maintained, which cannot be undetectably modified, of the electronic signature and the time when the signature was first validated using the referenced certificates and revocation information.

* 应保留电子签名的记录以及使用参考证书和撤销信息首次验证签名的时间,该记录不能被不可察觉地修改。

* Public Key Certificates, as defined in ITU-T Recommendation X.509 [1] and profiled in RFC 2459 [7] (see subclause 10.1).

* 公开密钥证书,如ITU-T建议X.509[1]所定义,并在RFC 2459[7]中描述(见第10.1款)。

* Either of:

* 以下任一项:

- Certificate Revocation Lists, as defined in ITU-T Recommendation X.509 [1] and profiled in RFC 2459 [7] Or

- ITU-T建议X.509[1]中定义并在RFC 2459[7]中描述的证书撤销列表,或

- On-line Certificate Status Protocol, as defined in RFC 2560 [8] (see subclause 10.3).

- RFC 2560[8]中定义的在线证书状态协议(见第10.3款)。

7. References
7. 工具书类

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

[ESS] Hoffman, P., "Enhanced Security Services for S/MIME", RFC 2634, June 1999.

[ESS]Hoffman,P.,“S/MIME的增强安全服务”,RFC 2634,1999年6月。

[CMS] Housley, R., "Cryptographic Message Syntax", RFC 2630, June 1999.

[CMS]Housley,R.,“加密消息语法”,RFC 2630,1999年6月。

[OCSP] Myers, M., Ankney, R., Malpani, A., Galperin, S. and C. Adams, "On-line Status Certificate Protocol", RFC 2560, June 1999.

[OCSP]Myers,M.,Ankney,R.,Malpani,A.,Galperin,S.和C.Adams,“在线状态证书协议”,RFC 25601999年6月。

[TSP] Adams, C., Cain, P., Pinkas, D. and R. Zuccherato, "Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)", RFC 3161, August 2001.

[TSP]Adams,C.,Cain,P.,Pinkas,D.和R.Zuccherato,“互联网X.509公钥基础设施时间戳协议(TSP)”,RFC 31612001年8月。

[PTS] Public Telegram Service. ITU-T Recommendation F1.

公共电报服务。ITU-T建议F1。

[RFC2459] Housley, R., Ford, W., Polk, W. and D. Solo, "Internet X.509 Public Key Infrastructure, Certificate and CRL Profile", RFC 2459, January 1999.

[RFC2459]Housley,R.,Ford,W.,Polk,W.和D.Solo,“互联网X.509公钥基础设施,证书和CRL配置文件”,RFC 2459,1999年1月。

[PKCS9] RSA Laboratories, "The Public-Key Cryptography Standards (PKCS)", RSA Data Security Inc., Redwood City, California, November 1993 Release.

[PKCS9]RSA实验室,“公钥加密标准(PKCS)”,RSA数据安全公司,加利福尼亚州红木市,1993年11月发布。

[ISONR] ISO/IEC 10181-5: Security Frameworks in Open Systems. Non-Repudiation Framework. April 1997.

[ISONR]ISO/IEC 10181-5:开放系统中的安全框架。不可否认框架。1997年4月。

[TS101733] ETSI Standard TS 101 733 V.1.2.2 (2000-12) Electronic Signature Formats. Note: copies of ETSI TS 101 733 can be freely downloaded from the ETSI web site www.etsi.org.

[TS101733]ETSI标准TS 101 733 V.1.2.2(2000-12)电子签名格式。注:ETSI TS 101 733的副本可从ETSI网站www.ETSI.org免费下载。

8. Authors' Addresses
8. 作者地址

This Informational RFC has been produced in ETSI TC-SEC.

此信息RFC已在ETSI TC-SEC中生成。

      ETSI
      F-06921 Sophia Antipolis, Cedex - FRANCE
      650 Route des Lucioles - Sophia Antipolis
      Valbonne - France
      Tel: +33 4 92 94 42 00  Fax: +33 4 93 65 47 16
      secretariat@etsi.fr
      http://www.etsi.org
        
      ETSI
      F-06921 Sophia Antipolis, Cedex - FRANCE
      650 Route des Lucioles - Sophia Antipolis
      Valbonne - France
      Tel: +33 4 92 94 42 00  Fax: +33 4 93 65 47 16
      secretariat@etsi.fr
      http://www.etsi.org
        

Contact Point

接触点

Harri Rasilainen ETSI 650 Route des Lucioles F-06921 Sophia Antipolis, Cedex FRANCE

Harri Rasilainen ETSI 650路卢西奥F-06921索菲亚安提波利斯,法国塞德克斯

      EMail: harri.rasilainen@etsi.fr
        
      EMail: harri.rasilainen@etsi.fr
        

Denis Pinkas Integris 68, Route de Versailles 78434 Louveciennes CEDEX FRANCE

Denis Pinkas Integris 68,法国凡尔赛路78434号

      EMail: Denis.Pinkas@bull.net
        
      EMail: Denis.Pinkas@bull.net
        

John Ross Security & Standards 192 Moulsham Street Chelmsford, Essex CM2 0LG United Kingdom

英国埃塞克斯郡切姆斯福德莫尔沙姆街192号约翰·罗斯安全与标准公司

      EMail: ross@secstan.com
        
      EMail: ross@secstan.com
        

Nick Pope Security & Standards 192 Moulsham Street Chelmsford, Essex CM2 0LG United Kingdom

Nick Pope Security&Standards英国埃塞克斯郡切姆斯福德莫尔沙姆街192号

      EMail: pope@secstan.com
        
      EMail: pope@secstan.com
        

Annex A (normative): ASN.1 Definitions

附录A(规范性附录):ASN.1定义

This annex provides a summary of all the ASN.1 syntax definitions for new syntax defined in this document.

本附件概述了本文件中定义的新语法的所有ASN.1语法定义。

A.1 Definitions Using X.208 (1988) ASN.1 Syntax
A.1使用X.208(1988)ASN.1语法的定义

NOTE: The ASN.1 module defined in clause A.1 has precedence over that defined in Annex A-2 in the case of any conflict.

注:在任何冲突情况下,第A.1条中定义的ASN.1模块优先于附录A-2中定义的模块。

      ETS-ElectronicSignatureFormats-88syntax { iso(1) member-body(2)
      us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-mod(0) 5}
        
      ETS-ElectronicSignatureFormats-88syntax { iso(1) member-body(2)
      us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-mod(0) 5}
        
DEFINITIONS EXPLICIT TAGS ::=
        
DEFINITIONS EXPLICIT TAGS ::=
        

BEGIN

开始

-- EXPORTS All -

--全部出口-

IMPORTS

进口

-- Crypographic Message Syntax (CMS): RFC 2630

--Crypopographic消息语法(CMS):RFC 2630

ContentInfo, ContentType, id-data, id-signedData, SignedData, EncapsulatedContentInfo, SignerInfo, id-contentType, id-messageDigest, MessageDigest, id-signingTime, SigningTime, id-countersignature, Countersignature

ContentInfo,ContentType,id数据,id signedData,signedData,封装ContentInfo,SignerinInfo,id ContentType,id messageDigest,messageDigest,id signingTime,signingTime,id会签,会签

  FROM CryptographicMessageSyntax
    { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) modules(0) cms(1) }
        
  FROM CryptographicMessageSyntax
    { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) modules(0) cms(1) }
        
-- ESS Defined attributes: RFC 2634
-- (Enhanced Security Services for S/MIME)
        
-- ESS Defined attributes: RFC 2634
-- (Enhanced Security Services for S/MIME)
        

id-aa-signingCertificate, SigningCertificate, IssuerSerial, id-aa-contentReference, ContentReference, id-aa-contentIdentifier, ContentIdentifier

id aa signingCertificate,signingCertificate,IssuerSerial,id aa contentReference,contentReference,id aa contentIdentifier,contentIdentifier

  FROM ExtendedSecurityServices
     { iso(1) member-body(2) us(840) rsadsi(113549)
       pkcs(1) pkcs-9(9) smime(16) modules(0) ess(2) }
        
  FROM ExtendedSecurityServices
     { iso(1) member-body(2) us(840) rsadsi(113549)
       pkcs(1) pkcs-9(9) smime(16) modules(0) ess(2) }
        
-- Internet X.509 Public Key Infrastructure
-- Certificate and CRL Profile: RFC 2459
        
-- Internet X.509 Public Key Infrastructure
-- Certificate and CRL Profile: RFC 2459
        

Certificate, AlgorithmIdentifier, CertificateList, Name, GeneralNames, GeneralName, DirectoryString,Attribute,

证书,算法标识符,证书列表,名称,通用名称,通用名称,目录字符串,属性,

AttributeTypeAndValue, AttributeType, AttributeValue, PolicyInformation, BMPString, UTF8String

AttributeTypeAndValue、AttributeType、AttributeValue、PolicyInformation、BMPString、UTF8String

  FROM PKIX1Explicit88
  {iso(1) identified-organization(3) dod(6) internet(1)
   security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit-
   88(1)}
        
  FROM PKIX1Explicit88
  {iso(1) identified-organization(3) dod(6) internet(1)
   security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit-
   88(1)}
        

-- X.509 '97 Authentication Framework

--X.509'97身份验证框架

AttributeCertificate

属性证书

  FROM AuthenticationFramework
  {joint-iso-ccitt ds(5) module(1) authenticationFramework(7) 3}
        
  FROM AuthenticationFramework
  {joint-iso-ccitt ds(5) module(1) authenticationFramework(7) 3}
        
-- The imported AttributeCertificate is defined using the X.680 1997
-- ASN.1 Syntax,
-- an equivalent using the 88 ASN.1 syntax may be used.
        
-- The imported AttributeCertificate is defined using the X.680 1997
-- ASN.1 Syntax,
-- an equivalent using the 88 ASN.1 syntax may be used.
        

-- OCSP 2560

--OCSP 2560

BasicOCSPResponse, ResponderID

基本回答

  FROM OCSP {-- OID not assigned -- }
        
  FROM OCSP {-- OID not assigned -- }
        

-- Time Stamp Protocol Work in Progress

--时间戳协议正在进行中

TimeStampToken

时间标记

  FROM PKIXTSP
  {iso(1) identified-organization(3) dod(6) internet(1)
  security(5) mechanisms(5) pkix(7) id-mod(0) id-mod-tsp(13)}
        
  FROM PKIXTSP
  {iso(1) identified-organization(3) dod(6) internet(1)
  security(5) mechanisms(5) pkix(7) id-mod(0) id-mod-tsp(13)}
        
-- S/MIME Object Identifier arcs used in this document
-- ===================================================
        
-- S/MIME Object Identifier arcs used in this document
-- ===================================================
        
-- S/MIME  OID arc used in this document
-- id-smime OBJECT IDENTIFIER ::= { iso(1) member-body(2)
--             us(840) rsadsi(113549) pkcs(1) pkcs-9(9) 16 }
        
-- S/MIME  OID arc used in this document
-- id-smime OBJECT IDENTIFIER ::= { iso(1) member-body(2)
--             us(840) rsadsi(113549) pkcs(1) pkcs-9(9) 16 }
        
-- S/MIME Arcs
-- id-mod  OBJECT IDENTIFIER ::= { id-smime 0 }
-- modules
-- id-ct   OBJECT IDENTIFIER ::= { id-smime 1 }
-- content types
-- id-aa   OBJECT IDENTIFIER ::= { id-smime 2 }
-- attributes
        
-- S/MIME Arcs
-- id-mod  OBJECT IDENTIFIER ::= { id-smime 0 }
-- modules
-- id-ct   OBJECT IDENTIFIER ::= { id-smime 1 }
-- content types
-- id-aa   OBJECT IDENTIFIER ::= { id-smime 2 }
-- attributes
        
-- id-spq  OBJECT IDENTIFIER ::= { id-smime 5 }
-- signature policy qualifier
-- id-cti  OBJECT IDENTIFIER ::= { id-smime 6 }
-- commitment type identifier
        
-- id-spq  OBJECT IDENTIFIER ::= { id-smime 5 }
-- signature policy qualifier
-- id-cti  OBJECT IDENTIFIER ::= { id-smime 6 }
-- commitment type identifier
        
-- Definitions of Object Identifier arcs used in this document
-- ===========================================================
        
-- Definitions of Object Identifier arcs used in this document
-- ===========================================================
        
-- The allocation of OIDs to specific objects are given below with the
-- associated ASN.1 syntax definition
        
-- The allocation of OIDs to specific objects are given below with the
-- associated ASN.1 syntax definition
        
-- OID used referencing electronic signature mechanisms based on this
-- standard for use with the IDUP API (see annex D)
        
-- OID used referencing electronic signature mechanisms based on this
-- standard for use with the IDUP API (see annex D)
        
id-etsi-es-IDUP-Mechanism-v1 OBJECT IDENTIFIER ::=
  { itu-t(0) identified-organization(4) etsi(0)
     electronic-signature-standard (1733) part1 (1)
         idupMechanism (4)etsiESv1(1) }
        
id-etsi-es-IDUP-Mechanism-v1 OBJECT IDENTIFIER ::=
  { itu-t(0) identified-organization(4) etsi(0)
     electronic-signature-standard (1733) part1 (1)
         idupMechanism (4)etsiESv1(1) }
        
-- CMS Attributes Defined in this document
-- =======================================
        
-- CMS Attributes Defined in this document
-- =======================================
        

-- Mandatory Electronic Signature Attributes

--强制性电子签名属性

-- OtherSigningCertificate

--其他签名证书

    id-aa-ets-otherSigCert OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-aa(2) 19 }
        
    id-aa-ets-otherSigCert OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-aa(2) 19 }
        
OtherSigningCertificate ::=  SEQUENCE {
    certs        SEQUENCE OF OtherCertID,
    policies     SEQUENCE OF PolicyInformation OPTIONAL
                 -- NOT USED IN THIS DOCUMENT
}
        
OtherSigningCertificate ::=  SEQUENCE {
    certs        SEQUENCE OF OtherCertID,
    policies     SEQUENCE OF PolicyInformation OPTIONAL
                 -- NOT USED IN THIS DOCUMENT
}
        
OtherCertID ::= SEQUENCE {
     otherCertHash            OtherHash,
     issuerSerial             IssuerSerial OPTIONAL
}
        
OtherCertID ::= SEQUENCE {
     otherCertHash            OtherHash,
     issuerSerial             IssuerSerial OPTIONAL
}
        
OtherHash ::= CHOICE {
    sha1Hash     OtherHashValue,  -- This contains a SHA-1 hash
    otherHash    OtherHashAlgAndValue
}
        
OtherHash ::= CHOICE {
    sha1Hash     OtherHashValue,  -- This contains a SHA-1 hash
    otherHash    OtherHashAlgAndValue
}
        
OtherHashValue ::= OCTET STRING
        
OtherHashValue ::= OCTET STRING
        
OtherHashAlgAndValue ::= SEQUENCE {
  hashAlgorithm    AlgorithmIdentifier,
  hashValue        OtherHashValue
}
        
OtherHashAlgAndValue ::= SEQUENCE {
  hashAlgorithm    AlgorithmIdentifier,
  hashValue        OtherHashValue
}
        

-- Signature Policy Identifier

--签名策略标识符

    id-aa-ets-sigPolicyId OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-aa(2) 15 }
        
    id-aa-ets-sigPolicyId OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-aa(2) 15 }
        
"SignaturePolicy CHOICE {
         SignaturePolicyId          SignaturePolicyId,
         SignaturePolicyImplied     SignaturePolicyImplied
}
        
"SignaturePolicy CHOICE {
         SignaturePolicyId          SignaturePolicyId,
         SignaturePolicyImplied     SignaturePolicyImplied
}
        
SignaturePolicyId ::= SEQUENCE {
        sigPolicyIdentifier   SigPolicyId,
        sigPolicyHash         SigPolicyHash,
        sigPolicyQualifiers   SEQUENCE SIZE (1..MAX) OF
                              SigPolicyQualifierInfo OPTIONAL
}
        
SignaturePolicyId ::= SEQUENCE {
        sigPolicyIdentifier   SigPolicyId,
        sigPolicyHash         SigPolicyHash,
        sigPolicyQualifiers   SEQUENCE SIZE (1..MAX) OF
                              SigPolicyQualifierInfo OPTIONAL
}
        
SignaturePolicyImplied ::= NULL
        
SignaturePolicyImplied ::= NULL
        
SigPolicyId ::= OBJECT IDENTIFIER
        
SigPolicyId ::= OBJECT IDENTIFIER
        
SigPolicyHash ::= OtherHashAlgAndValue
        
SigPolicyHash ::= OtherHashAlgAndValue
        
SigPolicyQualifierInfo ::= SEQUENCE {
        sigPolicyQualifierId  SigPolicyQualifierId,
        sigQualifier          ANY DEFINED BY sigPolicyQualifierId
}
        
SigPolicyQualifierInfo ::= SEQUENCE {
        sigPolicyQualifierId  SigPolicyQualifierId,
        sigQualifier          ANY DEFINED BY sigPolicyQualifierId
}
        
SigPolicyQualifierId ::=
        OBJECT IDENTIFIER
        
SigPolicyQualifierId ::=
        OBJECT IDENTIFIER
        
    id-spq-ets-uri OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-spq(5) 1 }
        
    id-spq-ets-uri OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-spq(5) 1 }
        
   SPuri ::= IA5String
        
   SPuri ::= IA5String
        
    id-spq-ets-unotice OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-spq(5) 2 }
        
    id-spq-ets-unotice OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-spq(5) 2 }
        
   SPUserNotice ::= SEQUENCE {
        
   SPUserNotice ::= SEQUENCE {
        

noticeRef NoticeReference OPTIONAL, explicitText DisplayText OPTIONAL }

noticeRef NoticeReference可选,explicitText DisplayText可选}

   NoticeReference ::= SEQUENCE {
        organization     DisplayText,
        noticeNumbers    SEQUENCE OF INTEGER
}
        
   NoticeReference ::= SEQUENCE {
        organization     DisplayText,
        noticeNumbers    SEQUENCE OF INTEGER
}
        
   DisplayText ::= CHOICE {
        visibleString    VisibleString  (SIZE (1..200)),
        bmpString        BMPString      (SIZE (1..200)),
        utf8String       UTF8String     (SIZE (1..200))
}
        
   DisplayText ::= CHOICE {
        visibleString    VisibleString  (SIZE (1..200)),
        bmpString        BMPString      (SIZE (1..200)),
        utf8String       UTF8String     (SIZE (1..200))
}
        

-- Optional Electronic Signature Attributes

--可选电子签名属性

-- Commitment Type

--承诺类型

id-aa-ets-commitmentType OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 16}
        
id-aa-ets-commitmentType OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 16}
        
CommitmentTypeIndication ::= SEQUENCE {
  commitmentTypeId                 CommitmentTypeIdentifier,
  commitmentTypeQualifier          SEQUENCE SIZE (1..MAX) OF
                                   CommitmentTypeQualifier   OPTIONAL
}
        
CommitmentTypeIndication ::= SEQUENCE {
  commitmentTypeId                 CommitmentTypeIdentifier,
  commitmentTypeQualifier          SEQUENCE SIZE (1..MAX) OF
                                   CommitmentTypeQualifier   OPTIONAL
}
        
CommitmentTypeIdentifier ::= OBJECT IDENTIFIER
        
CommitmentTypeIdentifier ::= OBJECT IDENTIFIER
        
CommitmentTypeQualifier ::= SEQUENCE {
    commitmentTypeIdentifier   CommitmentTypeIdentifier,
    qualifier                  ANY DEFINED BY commitmentTypeIdentifier
}
        
CommitmentTypeQualifier ::= SEQUENCE {
    commitmentTypeIdentifier   CommitmentTypeIdentifier,
    qualifier                  ANY DEFINED BY commitmentTypeIdentifier
}
        
    id-cti-ets-proofOfOrigin OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    cti(6) 1}
        
    id-cti-ets-proofOfOrigin OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    cti(6) 1}
        
    id-cti-ets-proofOfReceipt OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    cti(6) 2}
        
    id-cti-ets-proofOfReceipt OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    cti(6) 2}
        
    id-cti-ets-proofOfDelivery OBJECT IDENTIFIER ::= { iso(1) member-
    body(2)  us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    cti(6) 3}
        
    id-cti-ets-proofOfDelivery OBJECT IDENTIFIER ::= { iso(1) member-
    body(2)  us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    cti(6) 3}
        
    id-cti-ets-proofOfSender OBJECT IDENTIFIER ::= { iso(1) member-
        
    id-cti-ets-proofOfSender OBJECT IDENTIFIER ::= { iso(1) member-
        
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
   cti(6) 4}
        
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
   cti(6) 4}
        
    id-cti-ets-proofOfApproval OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    cti(6) 5}
        
    id-cti-ets-proofOfApproval OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    cti(6) 5}
        
    id-cti-ets-proofOfCreation OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    cti(6) 6}
        
    id-cti-ets-proofOfCreation OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    cti(6) 6}
        

-- Signer Location

--签名者位置

   id-aa-ets-signerLocation OBJECT IDENTIFIER ::= { iso(1) member-
   body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
   id-aa(2) 17}
        
   id-aa-ets-signerLocation OBJECT IDENTIFIER ::= { iso(1) member-
   body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
   id-aa(2) 17}
        
SignerLocation ::= SEQUENCE {
       -- at least one of the following must be present
      countryName      [0]  DirectoryString    OPTIONAL,
       -- as used to name a Country in X.500
      localityName     [1]  DirectoryString    OPTIONAL,
       -- as used to name a locality in X.500
      postalAdddress   [2]  PostalAddress      OPTIONAL
}
        
SignerLocation ::= SEQUENCE {
       -- at least one of the following must be present
      countryName      [0]  DirectoryString    OPTIONAL,
       -- as used to name a Country in X.500
      localityName     [1]  DirectoryString    OPTIONAL,
       -- as used to name a locality in X.500
      postalAdddress   [2]  PostalAddress      OPTIONAL
}
        
  PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
        
  PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
        

-- Signer Attributes

--签名者属性

    id-aa-ets-signerAttr OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 18}
        
    id-aa-ets-signerAttr OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 18}
        
SignerAttribute ::= SEQUENCE OF CHOICE {
      claimedAttributes     [0] ClaimedAttributes,
      certifiedAttributes   [1] CertifiedAttributes
}
        
SignerAttribute ::= SEQUENCE OF CHOICE {
      claimedAttributes     [0] ClaimedAttributes,
      certifiedAttributes   [1] CertifiedAttributes
}
        
ClaimedAttributes ::= SEQUENCE OF Attribute
        
ClaimedAttributes ::= SEQUENCE OF Attribute
        
CertifiedAttributes ::= AttributeCertificate  -- as defined in X.509 :
see section 10.3
        
CertifiedAttributes ::= AttributeCertificate  -- as defined in X.509 :
see section 10.3
        

-- Content Time-Stamp

--内容时间戳

    id-aa-ets-contentTimestamp OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    id-aa(2) 20}
        
    id-aa-ets-contentTimestamp OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    id-aa(2) 20}
        
ContentTimestamp::= TimeStampToken
        
ContentTimestamp::= TimeStampToken
        

-- Validation Data

--验证数据

-- Signature Time-Stamp

--签名时间戳

    id-aa-signatureTimeStampToken OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    id-aa(2) 14}
        
    id-aa-signatureTimeStampToken OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    id-aa(2) 14}
        
SignatureTimeStampToken ::= TimeStampToken
        
SignatureTimeStampToken ::= TimeStampToken
        

-- Complete Certificate Refs.

--完整的证书参考。

id-aa-ets-certificateRefs OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 21}
        
id-aa-ets-certificateRefs OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 21}
        
CompleteCertificateRefs ::=  SEQUENCE OF OTHERCertID
        
CompleteCertificateRefs ::=  SEQUENCE OF OTHERCertID
        

-- Complete Revocation Refs

--完全撤销引用

   id-aa-ets-revocationRefs OBJECT IDENTIFIER ::= { iso(1) member-
   body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
   id-aa(2) 22}
        
   id-aa-ets-revocationRefs OBJECT IDENTIFIER ::= { iso(1) member-
   body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
   id-aa(2) 22}
        
CompleteRevocationRefs ::=  SEQUENCE OF CrlOcspRef
        
CompleteRevocationRefs ::=  SEQUENCE OF CrlOcspRef
        
CrlOcspRef ::= SEQUENCE {
    crlids           [0] CRLListID      OPTIONAL,
    ocspids          [1] OcspListID     OPTIONAL,
    otherRev         [2] OtherRevRefs   OPTIONAL
}
        
CrlOcspRef ::= SEQUENCE {
    crlids           [0] CRLListID      OPTIONAL,
    ocspids          [1] OcspListID     OPTIONAL,
    otherRev         [2] OtherRevRefs   OPTIONAL
}
        
CRLListID ::=  SEQUENCE {
    crls        SEQUENCE OF CrlValidatedID}
        
CRLListID ::=  SEQUENCE {
    crls        SEQUENCE OF CrlValidatedID}
        
CrlValidatedID ::=  SEQUENCE {
     crlHash                   OtherHash,
     crlIdentifier             CrlIdentifier OPTIONAL
}
        
CrlValidatedID ::=  SEQUENCE {
     crlHash                   OtherHash,
     crlIdentifier             CrlIdentifier OPTIONAL
}
        
CrlIdentifier ::= SEQUENCE {
    crlissuer                 Name,
    crlIssuedTime             UTCTime,
    crlNumber                 INTEGER OPTIONAL
}
        
CrlIdentifier ::= SEQUENCE {
    crlissuer                 Name,
    crlIssuedTime             UTCTime,
    crlNumber                 INTEGER OPTIONAL
}
        
OcspListID ::=  SEQUENCE {
        
OcspListID ::=  SEQUENCE {
        

ocspResponses SEQUENCE OF OcspResponsesID}

OcspResponsesID}的ocspResponses序列

OcspResponsesID ::=  SEQUENCE {
    ocspIdentifier              OcspIdentifier,
    ocspRepHash                 OtherHash    OPTIONAL
}
        
OcspResponsesID ::=  SEQUENCE {
    ocspIdentifier              OcspIdentifier,
    ocspRepHash                 OtherHash    OPTIONAL
}
        
OcspIdentifier ::= SEQUENCE {
  ocspResponderID    ResponderID,
                    -- as in OCSP response data
  producedAt      GeneralizedTime
                    -- as in OCSP response data
}
        
OcspIdentifier ::= SEQUENCE {
  ocspResponderID    ResponderID,
                    -- as in OCSP response data
  producedAt      GeneralizedTime
                    -- as in OCSP response data
}
        
OtherRevRefs ::= SEQUENCE {
   otherRevRefType         OtherRevRefType,
   otherRevRefs            ANY DEFINED BY otherRevRefType
}
        
OtherRevRefs ::= SEQUENCE {
   otherRevRefType         OtherRevRefType,
   otherRevRefs            ANY DEFINED BY otherRevRefType
}
        
OtherRevRefType ::= OBJECT IDENTIFIER
        
OtherRevRefType ::= OBJECT IDENTIFIER
        

-- Certificate Values

--证书值

id-aa-ets-certValues OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 23}
        
id-aa-ets-certValues OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 23}
        
CertificateValues ::=  SEQUENCE OF Certificate
        
CertificateValues ::=  SEQUENCE OF Certificate
        

-- Certificate Revocation Values

--证书吊销值

id-aa-ets-revocationValues OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    id-aa(2) 24}
        
id-aa-ets-revocationValues OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    id-aa(2) 24}
        
RevocationValues ::=  SEQUENCE {
   crlVals          [0] SEQUENCE OF CertificateList     OPTIONAL,
   ocspVals         [1] SEQUENCE OF BasicOCSPResponse   OPTIONAL,
   otherRevVals     [2] OtherRevVals
}
        
RevocationValues ::=  SEQUENCE {
   crlVals          [0] SEQUENCE OF CertificateList     OPTIONAL,
   ocspVals         [1] SEQUENCE OF BasicOCSPResponse   OPTIONAL,
   otherRevVals     [2] OtherRevVals
}
        
OtherRevVals ::= SEQUENCE {
   otherRevValType  OtherRevValType,
  otherRevVals      ANY DEFINED BY otherRevValType
}
        
OtherRevVals ::= SEQUENCE {
   otherRevValType  OtherRevValType,
  otherRevVals      ANY DEFINED BY otherRevValType
}
        
OtherRevValType ::= OBJECT IDENTIFIER
        
OtherRevValType ::= OBJECT IDENTIFIER
        

-- ES-C Time-Stamp

--ES-C时间戳

id-aa-ets-escTimeStamp OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 25}
        
id-aa-ets-escTimeStamp OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 25}
        
ESCTimeStampToken ::= TimeStampToken
        
ESCTimeStampToken ::= TimeStampToken
        

-- Time-Stamped Certificates and CRLs

--带时间戳的证书和CRL

id-aa-ets-certCRLTimestamp OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    id-aa(2) 26}
        
id-aa-ets-certCRLTimestamp OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    id-aa(2) 26}
        
TimestampedCertsCRLs ::= TimeStampToken
        
TimestampedCertsCRLs ::= TimeStampToken
        

-- Archive Time-Stamp

--存档时间戳

id-aa-ets-archiveTimestamp OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    id-aa(2) 27}
        
id-aa-ets-archiveTimestamp OBJECT IDENTIFIER ::= { iso(1) member-
    body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
    id-aa(2) 27}
        
ArchiveTimeStampToken ::= TimeStampToken
        
ArchiveTimeStampToken ::= TimeStampToken
        

END -- ETS-ElectronicSignatureFormats-88syntax --

结束--ETS-ElectronicSignatureFormats-88语法--

A.2 Definitions Using X.680 1997 ASN.1 Syntax
A.2使用X.680 1997 ASN.1语法的定义

NOTE: The ASN.1 module defined in clause A.1 has precedence over that defined in clause A.2 in the case of any conflict.

注:如果发生任何冲突,第A.1条中定义的ASN.1模块优先于第A.2条中定义的模块。

      ETS-ElectronicSignatureFormats-97Syntax { iso(1) member-body(2)
      us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-mod(0) 6}
        
      ETS-ElectronicSignatureFormats-97Syntax { iso(1) member-body(2)
      us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-mod(0) 6}
        
DEFINITIONS EXPLICIT TAGS ::=
        
DEFINITIONS EXPLICIT TAGS ::=
        

BEGIN

开始

-- EXPORTS All -

--全部出口-

IMPORTS

进口

-- Cryptographic Message Syntax (CMS): RFC 2630

--加密消息语法(CMS):RFC 2630

ContentInfo, ContentType, id-data, id-signedData, SignedData, EncapsulatedContentInfo, SignerInfo, id-contentType, id-messageDigest, MessageDigest, id-signingTime, SigningTime, id-countersignature, Countersignature

ContentInfo,ContentType,id数据,id signedData,signedData,封装ContentInfo,SignerinInfo,id ContentType,id messageDigest,messageDigest,id signingTime,signingTime,id会签,会签

   FROM CryptographicMessageSyntax
    { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
        
   FROM CryptographicMessageSyntax
    { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
        
    smime(16) modules(0) cms(1) }
        
    smime(16) modules(0) cms(1) }
        
-- ESS Defined attributes: RFC 2634 (Enhanced Security Services
-- for S/MIME)
        
-- ESS Defined attributes: RFC 2634 (Enhanced Security Services
-- for S/MIME)
        

id-aa-signingCertificate, SigningCertificate, IssuerSerial, id-aa-contentReference, ContentReference, id-aa-contentIdentifier, ContentIdentifier

id aa signingCertificate,signingCertificate,IssuerSerial,id aa contentReference,contentReference,id aa contentIdentifier,contentIdentifier

  FROM ExtendedSecurityServices
    { iso(1) member-body(2) us(840) rsadsi(113549)
       pkcs(1) pkcs-9(9) smime(16) modules(0) ess(2) }
        
  FROM ExtendedSecurityServices
    { iso(1) member-body(2) us(840) rsadsi(113549)
       pkcs(1) pkcs-9(9) smime(16) modules(0) ess(2) }
        

-- Internet X.509 Public Key Infrastructure - - Certificate and CRL Profile:RFC 2459

--Internet X.509公钥基础设施--证书和CRL配置文件:RFC 2459

Certificate, AlgorithmIdentifier, CertificateList, Name, GeneralNames, GeneralName, DirectoryString, Attribute, AttributeTypeAndValue, AttributeType, AttributeValue, PolicyInformation.

证书,算法标识符,证书列表,名称,通用名称,通用名称,目录字符串,属性,AttributeType,AttributeValue,AttributeType,AttributeValue,PolicyInformation。

  FROM PKIX1Explicit93
    {iso(1) identified-organization(3) dod(6) internet(1)
     security(5) mechanisms(5) pkix(7) id-mod(0)
     id-pkix1-explicit-88(1)}
        
  FROM PKIX1Explicit93
    {iso(1) identified-organization(3) dod(6) internet(1)
     security(5) mechanisms(5) pkix(7) id-mod(0)
     id-pkix1-explicit-88(1)}
        

-- X.509 '97 Authentication Framework

--X.509'97身份验证框架

AttributeCertificate

属性证书

        FROM AuthenticationFramework
        {joint-iso-ccitt ds(5) module(1) authenticationFramework(7) 3}
        
        FROM AuthenticationFramework
        {joint-iso-ccitt ds(5) module(1) authenticationFramework(7) 3}
        

-- OCSP 2560

--OCSP 2560

BasicOCSPResponse, ResponderID

基本回答

FROM OCSP

来自OCSP

-- { OID not assigned }

--{OID未分配}

-- Time Stamp Protocol Work in Progress TimeStampToken

--时间戳协议进行中的工作时间戳令牌

  FROM PKIXTSP
  {iso(1) identified-organization(3) dod(6) internet(1)
   security(5) mechanisms(5) pkix(7) id-mod(0) id-mod-tsp(13)}
        
  FROM PKIXTSP
  {iso(1) identified-organization(3) dod(6) internet(1)
   security(5) mechanisms(5) pkix(7) id-mod(0) id-mod-tsp(13)}
        
-- S/MIME Object Identifier arcs used in this document
-- ===================================================
        
-- S/MIME Object Identifier arcs used in this document
-- ===================================================
        
-- S/MIME  OID arc used in this document
-- id-smime OBJECT IDENTIFIER ::= { iso(1) member-body(2)
--             us(840) rsadsi(113549) pkcs(1) pkcs-9(9) 16 }
        
-- S/MIME  OID arc used in this document
-- id-smime OBJECT IDENTIFIER ::= { iso(1) member-body(2)
--             us(840) rsadsi(113549) pkcs(1) pkcs-9(9) 16 }
        
-- S/MIME Arcs
-- id-mod  OBJECT IDENTIFIER ::= { id-smime 0 }
-- modules
-- id-ct   OBJECT IDENTIFIER ::= { id-smime 1 }
-- content types
-- id-aa   OBJECT IDENTIFIER ::= { id-smime 2 }
-- attributes
-- id-spq  OBJECT IDENTIFIER ::= { id-smime 5 }
-- signature policy qualifier
-- id-cti  OBJECT IDENTIFIER ::= { id-smime 6 }
-- commitment type identifier
        
-- S/MIME Arcs
-- id-mod  OBJECT IDENTIFIER ::= { id-smime 0 }
-- modules
-- id-ct   OBJECT IDENTIFIER ::= { id-smime 1 }
-- content types
-- id-aa   OBJECT IDENTIFIER ::= { id-smime 2 }
-- attributes
-- id-spq  OBJECT IDENTIFIER ::= { id-smime 5 }
-- signature policy qualifier
-- id-cti  OBJECT IDENTIFIER ::= { id-smime 6 }
-- commitment type identifier
        
-- Definitions of Object Identifier arcs used in this document
-- ===========================================================
        
-- Definitions of Object Identifier arcs used in this document
-- ===========================================================
        
-- The allocation of OIDs to specific objects are given below with the
-- associated ASN.1 syntax definition
        
-- The allocation of OIDs to specific objects are given below with the
-- associated ASN.1 syntax definition
        
-- OID used referencing electronic signature mechanisms based on this
-- standard for use with the IDUP API (see annex D)
        
-- OID used referencing electronic signature mechanisms based on this
-- standard for use with the IDUP API (see annex D)
        
id-etsi-es-IDUP-Mechanism-v1 OBJECT IDENTIFIER ::=
  { itu-t(0) identified-organization(4) etsi(0)
   electronic-signature-standard (1733) part1 (1)
   idupMechanism (4)etsiESv1(1) }
        
id-etsi-es-IDUP-Mechanism-v1 OBJECT IDENTIFIER ::=
  { itu-t(0) identified-organization(4) etsi(0)
   electronic-signature-standard (1733) part1 (1)
   idupMechanism (4)etsiESv1(1) }
        
-- CMS Attributes Defined in this document
-- =======================================
        
-- CMS Attributes Defined in this document
-- =======================================
        
-- Mandatory Electronic Signature Attributes
-- OtherSigningCertificate
        
-- Mandatory Electronic Signature Attributes
-- OtherSigningCertificate
        
id-aa-ets-otherSigCert OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-aa(2) 19 }
        
id-aa-ets-otherSigCert OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-aa(2) 19 }
        
OtherSigningCertificate ::=  SEQUENCE {
    certs        SEQUENCE OF OtherCertID,
    policies     SEQUENCE OF PolicyInformation OPTIONAL
                 -- NOT USED IN THIS DOCUMENT
}
        
OtherSigningCertificate ::=  SEQUENCE {
    certs        SEQUENCE OF OtherCertID,
    policies     SEQUENCE OF PolicyInformation OPTIONAL
                 -- NOT USED IN THIS DOCUMENT
}
        
OtherCertID ::= SEQUENCE {
     otherCertHash            OtherHash,
     issuerSerial             IssuerSerial OPTIONAL
}
        
OtherCertID ::= SEQUENCE {
     otherCertHash            OtherHash,
     issuerSerial             IssuerSerial OPTIONAL
}
        
OtherHash ::= CHOICE {
    sha1Hash OtherHashValue,  -- This contains a SHA-1 hash
    otherHash OtherHashAlgAndValue
}
        
OtherHash ::= CHOICE {
    sha1Hash OtherHashValue,  -- This contains a SHA-1 hash
    otherHash OtherHashAlgAndValue
}
        
OtherHashValue ::= OCTET STRING
        
OtherHashValue ::= OCTET STRING
        
OtherHashAlgAndValue ::= SEQUENCE {
  hashAlgorithm  AlgorithmIdentifier,
  hashValue    OtherHashValue
}
        
OtherHashAlgAndValue ::= SEQUENCE {
  hashAlgorithm  AlgorithmIdentifier,
  hashValue    OtherHashValue
}
        

-- Signature Policy Identifier

--签名策略标识符

id-aa-ets-sigPolicyId OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-aa(2) 15 }
        
id-aa-ets-sigPolicyId OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-aa(2) 15 }
        
"SignaturePolicy CHOICE {
         SignaturePolicyId          SignaturePolicyId,
         SignaturePolicyImplied     SignaturePolicyImplied
}
        
"SignaturePolicy CHOICE {
         SignaturePolicyId          SignaturePolicyId,
         SignaturePolicyImplied     SignaturePolicyImplied
}
        
SignaturePolicyId ::= SEQUENCE {
        sigPolicyIdentifier   SigPolicyId,
        sigPolicyHash         SigPolicyHash,
        sigPolicyQualifiers   SEQUENCE SIZE (1..MAX) OF
                                SigPolicyQualifierInfo OPTIONAL
}
        
SignaturePolicyId ::= SEQUENCE {
        sigPolicyIdentifier   SigPolicyId,
        sigPolicyHash         SigPolicyHash,
        sigPolicyQualifiers   SEQUENCE SIZE (1..MAX) OF
                                SigPolicyQualifierInfo OPTIONAL
}
        
SignaturePolicyImplied ::= NULL
        
SignaturePolicyImplied ::= NULL
        
SigPolicyId ::= OBJECT IDENTIFIER
        
SigPolicyId ::= OBJECT IDENTIFIER
        
SigPolicyHash ::= OtherHashAlgAndValue
        
SigPolicyHash ::= OtherHashAlgAndValue
        
SigPolicyQualifierInfo ::= SEQUENCE {
        sigPolicyQualifierId    SIG-POLICY-QUALIFIER.&id
                                 ({SupportedSigPolicyQualifiers}),
        qualifier               SIG-POLICY-QUALIFIER.&Qualifier
                                ({SupportedSigPolicyQualifiers}
                                 {@sigPolicyQualifierId})OPTIONAL }
        
SigPolicyQualifierInfo ::= SEQUENCE {
        sigPolicyQualifierId    SIG-POLICY-QUALIFIER.&id
                                 ({SupportedSigPolicyQualifiers}),
        qualifier               SIG-POLICY-QUALIFIER.&Qualifier
                                ({SupportedSigPolicyQualifiers}
                                 {@sigPolicyQualifierId})OPTIONAL }
        
SupportedSigPolicyQualifiers SIG-POLICY-QUALIFIER ::=
                           { noticeToUser | pointerToSigPolSpec }
        
SupportedSigPolicyQualifiers SIG-POLICY-QUALIFIER ::=
                           { noticeToUser | pointerToSigPolSpec }
        
SIG-POLICY-QUALIFIER ::= CLASS {
        &id             OBJECT IDENTIFIER UNIQUE,
        &Qualifier      OPTIONAL }
        
SIG-POLICY-QUALIFIER ::= CLASS {
        &id             OBJECT IDENTIFIER UNIQUE,
        &Qualifier      OPTIONAL }
        
WITH SYNTAX {
        SIG-POLICY-QUALIFIER-ID     &id
        [SIG-QUALIFIER-TYPE &Qualifier] }
        
WITH SYNTAX {
        SIG-POLICY-QUALIFIER-ID     &id
        [SIG-QUALIFIER-TYPE &Qualifier] }
        
noticeToUser SIG-POLICY-QUALIFIER ::= {
      SIG-POLICY-QUALIFIER-ID id-sqt-unotice SIG-QUALIFIER-TYPE
                                            SPUserNotice
                                                        }
        
noticeToUser SIG-POLICY-QUALIFIER ::= {
      SIG-POLICY-QUALIFIER-ID id-sqt-unotice SIG-QUALIFIER-TYPE
                                            SPUserNotice
                                                        }
        
pointerToSigPolSpec SIG-POLICY-QUALIFIER ::= {
      SIG-POLICY-QUALIFIER-ID id-sqt-uri SIG-QUALIFIER-TYPE SPuri }
        
pointerToSigPolSpec SIG-POLICY-QUALIFIER ::= {
      SIG-POLICY-QUALIFIER-ID id-sqt-uri SIG-QUALIFIER-TYPE SPuri }
        
    id-spq-ets-uri OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-spq(5) 1 }
        
    id-spq-ets-uri OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-spq(5) 1 }
        
   SPuri ::= IA5String
        
   SPuri ::= IA5String
        
  id-spq-ets-unotice OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-spq(5) 2 }
        
  id-spq-ets-unotice OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) id-spq(5) 2 }
        
   SPUserNotice ::= SEQUENCE {
        noticeRef        NoticeReference OPTIONAL,
        explicitText     DisplayText OPTIONAL
}
        
   SPUserNotice ::= SEQUENCE {
        noticeRef        NoticeReference OPTIONAL,
        explicitText     DisplayText OPTIONAL
}
        
   NoticeReference ::= SEQUENCE {
        organization     DisplayText,
        noticeNumbers    SEQUENCE OF INTEGER
}
        
   NoticeReference ::= SEQUENCE {
        organization     DisplayText,
        noticeNumbers    SEQUENCE OF INTEGER
}
        
   DisplayText ::= CHOICE {
        visibleString    VisibleString  (SIZE (1..200)),
        bmpString        BMPString      (SIZE (1..200)),
        utf8String       UTF8String     (SIZE (1..200))
}
        
   DisplayText ::= CHOICE {
        visibleString    VisibleString  (SIZE (1..200)),
        bmpString        BMPString      (SIZE (1..200)),
        utf8String       UTF8String     (SIZE (1..200))
}
        

-- Optional Electronic Signature Attributes

--可选电子签名属性

-- Commitment Type

--承诺类型

id-aa-ets-commitmentType OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 16}
        
id-aa-ets-commitmentType OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 16}
        
CommitmentTypeIndication ::= SEQUENCE {
  commitmentTypeId CommitmentTypeIdentifier,
  commitmentTypeQualifier SEQUENCE SIZE (1..MAX) OF
                                           CommitmentTypeQualifier
                                           OPTIONAL}
        
CommitmentTypeIndication ::= SEQUENCE {
  commitmentTypeId CommitmentTypeIdentifier,
  commitmentTypeQualifier SEQUENCE SIZE (1..MAX) OF
                                           CommitmentTypeQualifier
                                           OPTIONAL}
        
CommitmentTypeIdentifier ::= OBJECT IDENTIFIER
        
CommitmentTypeIdentifier ::= OBJECT IDENTIFIER
        
CommitmentTypeQualifier ::= SEQUENCE {
        commitmentQualifierId       COMMITMENT-QUALIFIER.&id,
        qualifier                   COMMITMENT-QUALIFIER.&Qualifier
                                                  OPTIONAL }
        
CommitmentTypeQualifier ::= SEQUENCE {
        commitmentQualifierId       COMMITMENT-QUALIFIER.&id,
        qualifier                   COMMITMENT-QUALIFIER.&Qualifier
                                                  OPTIONAL }
        
COMMITMENT-QUALIFIER ::= CLASS {
                    &id             OBJECT IDENTIFIER UNIQUE,
                    &Qualifier      OPTIONAL }
WITH SYNTAX {
         COMMITMENT-QUALIFIER-ID     &id
                        [COMMITMENT-TYPE &Qualifier] }
        
COMMITMENT-QUALIFIER ::= CLASS {
                    &id             OBJECT IDENTIFIER UNIQUE,
                    &Qualifier      OPTIONAL }
WITH SYNTAX {
         COMMITMENT-QUALIFIER-ID     &id
                        [COMMITMENT-TYPE &Qualifier] }
        
  id-cti-ets-proofOfOrigin OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 1}
        
  id-cti-ets-proofOfOrigin OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 1}
        
  id-cti-ets-proofOfReceipt OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 2}
        
  id-cti-ets-proofOfReceipt OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 2}
        
  id-cti-ets-proofOfDelivery OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 3}
        
  id-cti-ets-proofOfDelivery OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 3}
        
  id-cti-ets-proofOfSender OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 4}
        
  id-cti-ets-proofOfSender OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 4}
        
  id-cti-ets-proofOfApproval OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 5}
        
  id-cti-ets-proofOfApproval OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 5}
        
  id-cti-ets-proofOfCreation OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 6}
        
  id-cti-ets-proofOfCreation OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) cti(6) 6}
        

-- Signer Location

--签名者位置

id-aa-ets-signerLocation OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 17}
        
id-aa-ets-signerLocation OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 17}
        
SignerLocation ::= SEQUENCE {
                       -- at least one of the following must be present
      countryName [0] DirectoryString OPTIONAL,
        -- As used to name a Country in X.500
      localityName [1] DirectoryString OPTIONAL,
         -- As used to name a locality in X.500
      postalAdddress [2] PostalAddress OPTIONAL }
        
SignerLocation ::= SEQUENCE {
                       -- at least one of the following must be present
      countryName [0] DirectoryString OPTIONAL,
        -- As used to name a Country in X.500
      localityName [1] DirectoryString OPTIONAL,
         -- As used to name a locality in X.500
      postalAdddress [2] PostalAddress OPTIONAL }
        
  PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
        
  PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
        

-- Signer Attributes

--签名者属性

id-aa-ets-signerAttr OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 18}
        
id-aa-ets-signerAttr OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 18}
        
SignerAttribute ::= SEQUENCE OF CHOICE {
      claimedAttributes  [0] ClaimedAttributes,
      certifiedAttributes [1] CertifiedAttributes }
        
SignerAttribute ::= SEQUENCE OF CHOICE {
      claimedAttributes  [0] ClaimedAttributes,
      certifiedAttributes [1] CertifiedAttributes }
        
ClaimedAttributes ::= SEQUENCE OF Attribute
        
ClaimedAttributes ::= SEQUENCE OF Attribute
        
CertifiedAttributes ::= AttributeCertificate
-- As defined in X.509 : see section 10.3
        
CertifiedAttributes ::= AttributeCertificate
-- As defined in X.509 : see section 10.3
        

-- Content Time-Stamp

--内容时间戳

id-aa-ets-contentTimestamp OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) id-aa(2) 20}
        
id-aa-ets-contentTimestamp OBJECT IDENTIFIER ::= { iso(1)
      member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) id-aa(2) 20}
        
ContentTimestamp::= TimeStampToken
        
ContentTimestamp::= TimeStampToken
        

-- Validation Data

--验证数据

-- Signature Time-Stamp

--签名时间戳

id-aa-signatureTimeStampToken OBJECT IDENTIFIER ::= { iso(1)
     member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
     smime(16) id-aa(2) 14}
        
id-aa-signatureTimeStampToken OBJECT IDENTIFIER ::= { iso(1)
     member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
     smime(16) id-aa(2) 14}
        
SignatureTimeStampToken ::= TimeStampToken
        
SignatureTimeStampToken ::= TimeStampToken
        

-- Complete Certificate Refs.

--完整的证书参考。

id-aa-ets-certificateRefs OBJECT IDENTIFIER ::= { iso(1) member-body(2)
        
id-aa-ets-certificateRefs OBJECT IDENTIFIER ::= { iso(1) member-body(2)
        
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 21}
        
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 21}
        
CompleteCertificateRefs ::=  SEQUENCE OF OTHERCertID
        
CompleteCertificateRefs ::=  SEQUENCE OF OTHERCertID
        

-- Complete Revocation Refs

--完全撤销引用

id-aa-ets-revocationRefs OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 22}
        
id-aa-ets-revocationRefs OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 22}
        
CompleteRevocationRefs ::=  SEQUENCE OF CrlOcspRef
        
CompleteRevocationRefs ::=  SEQUENCE OF CrlOcspRef
        
CrlOcspRef ::= SEQUENCE {
    crlids           [0] CRLListID   OPTIONAL,
    ocspids          [1] OcspListID  OPTIONAL,
  otherRev     [2] OtherRevRefs OPTIONAL
                                          }
        
CrlOcspRef ::= SEQUENCE {
    crlids           [0] CRLListID   OPTIONAL,
    ocspids          [1] OcspListID  OPTIONAL,
  otherRev     [2] OtherRevRefs OPTIONAL
                                          }
        
CRLListID ::=  SEQUENCE {
    crls        SEQUENCE OF CrlValidatedID}
        
CRLListID ::=  SEQUENCE {
    crls        SEQUENCE OF CrlValidatedID}
        
CrlValidatedID ::=  SEQUENCE {
     crlHash                   OtherHash,
     crlIdentifier             CrlIdentifier OPTIONAL}
        
CrlValidatedID ::=  SEQUENCE {
     crlHash                   OtherHash,
     crlIdentifier             CrlIdentifier OPTIONAL}
        
CrlIdentifier ::= SEQUENCE {
    crlissuer                 Name,
    crlIssuedTime             UTCTime,
    crlNumber                 INTEGER OPTIONAL
                                            }
        
CrlIdentifier ::= SEQUENCE {
    crlissuer                 Name,
    crlIssuedTime             UTCTime,
    crlNumber                 INTEGER OPTIONAL
                                            }
        
OcspListID ::=  SEQUENCE {
    ocspResponses        SEQUENCE OF OcspResponsesID}
        
OcspListID ::=  SEQUENCE {
    ocspResponses        SEQUENCE OF OcspResponsesID}
        
OcspResponsesID ::=  SEQUENCE {
    ocspIdentifier              OcspIdentifier,
    ocspRepHash                 OtherHash    OPTIONAL
                                            }
        
OcspResponsesID ::=  SEQUENCE {
    ocspIdentifier              OcspIdentifier,
    ocspRepHash                 OtherHash    OPTIONAL
                                            }
        
OcspIdentifier ::= SEQUENCE {
  ocspResponderID    ResponderID,
                        -- As in OCSP response data
  producedAt      GeneralizedTime
                        -- As in OCSP response data
                                             }
        
OcspIdentifier ::= SEQUENCE {
  ocspResponderID    ResponderID,
                        -- As in OCSP response data
  producedAt      GeneralizedTime
                        -- As in OCSP response data
                                             }
        
OtherRevRefs ::= SEQUENCE {
   otherRevRefType  OTHER-REVOCATION-REF.&id,
  otherRevRefs  OTHER-REVOCATION-REF.&Type
        
OtherRevRefs ::= SEQUENCE {
   otherRevRefType  OTHER-REVOCATION-REF.&id,
  otherRevRefs  OTHER-REVOCATION-REF.&Type
        

}

}

OTHER-REVOCATION-REF ::= CLASS {
    &Type,
    &id  OBJECT IDENTIFIER UNIQUE }
  WITH SYNTAX {
    &Type ID &id }
        
OTHER-REVOCATION-REF ::= CLASS {
    &Type,
    &id  OBJECT IDENTIFIER UNIQUE }
  WITH SYNTAX {
    &Type ID &id }
        

-- Certificate Values

--证书值

id-aa-ets-certValues OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 23}
        
id-aa-ets-certValues OBJECT IDENTIFIER ::= { iso(1) member-body(2)
    us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 23}
        
CertificateValues ::=  SEQUENCE OF Certificate
        
CertificateValues ::=  SEQUENCE OF Certificate
        

-- Certificate Revocation Values

--证书吊销值

id-aa-ets-revocationValues OBJECT IDENTIFIER ::= { iso(1)
     member-body(2)us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
     smime(16) id-aa(2) 24}
        
id-aa-ets-revocationValues OBJECT IDENTIFIER ::= { iso(1)
     member-body(2)us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
     smime(16) id-aa(2) 24}
        
RevocationValues ::=  SEQUENCE {
   crlVals          [0] SEQUENCE OF CertificateList OPTIONAL,
   ocspVals         [1] SEQUENCE OF BasicOCSPResponse OPTIONAL,
   otherRevVals      [2] OtherRevVals }
        
RevocationValues ::=  SEQUENCE {
   crlVals          [0] SEQUENCE OF CertificateList OPTIONAL,
   ocspVals         [1] SEQUENCE OF BasicOCSPResponse OPTIONAL,
   otherRevVals      [2] OtherRevVals }
        
OtherRevVals ::= SEQUENCE {
   otherRevValType  OTHER-REVOCATION-VAL.&id,
  otherRevVals  OTHER-REVOCATION-VAL.&Type
                                               }
        
OtherRevVals ::= SEQUENCE {
   otherRevValType  OTHER-REVOCATION-VAL.&id,
  otherRevVals  OTHER-REVOCATION-VAL.&Type
                                               }
        
OTHER-REVOCATION-VAL ::= CLASS {
    &Type,
    &id  OBJECT IDENTIFIER UNIQUE }
  WITH SYNTAX {
    &Type ID &id }
        
OTHER-REVOCATION-VAL ::= CLASS {
    &Type,
    &id  OBJECT IDENTIFIER UNIQUE }
  WITH SYNTAX {
    &Type ID &id }
        

-- ES-C Time-Stamp

--ES-C时间戳

id-aa-ets-escTimeStamp OBJECT IDENTIFIER ::= { iso(1)
     member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
     smime(16) id-aa(2) 25}
        
id-aa-ets-escTimeStamp OBJECT IDENTIFIER ::= { iso(1)
     member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
     smime(16) id-aa(2) 25}
        
ESCTimeStampToken ::= TimeStampToken
        
ESCTimeStampToken ::= TimeStampToken
        

-- Time-Stamped Certificates and CRLs

--带时间戳的证书和CRL

id-aa-ets-certCRLTimestamp OBJECT IDENTIFIER ::= { iso(1)
        
id-aa-ets-certCRLTimestamp OBJECT IDENTIFIER ::= { iso(1)
        
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
    smime(16) id-aa(2) 26}
        
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
    smime(16) id-aa(2) 26}
        
TimestampedCertsCRLs ::= TimeStampToken
        
TimestampedCertsCRLs ::= TimeStampToken
        

-- Archive Time-Stamp

--存档时间戳

id-aa-ets-archiveTimestamp OBJECT IDENTIFIER ::= { iso(1)
   member-body(2)us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
   smime(16) id-aa(2) 27}
        
id-aa-ets-archiveTimestamp OBJECT IDENTIFIER ::= { iso(1)
   member-body(2)us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
   smime(16) id-aa(2) 27}
        
ArchiveTimeStampToken ::= TimeStampToken
        
ArchiveTimeStampToken ::= TimeStampToken
        

END -- ETS-ElectronicSignatureFormats-97Syntax

END--ETS-ElectronicSignatureFormats-97语法

Annex B (informative): General Description

附录B(资料性附录):一般说明

This annex captures the concepts that apply to this document and the rational for the elements of the specification defined using ASN.1 in the main text of this document.

本附录捕获了适用于本文件的概念,以及本文件正文中使用ASN.1定义的规范要素的合理性。

The specification below includes a description why the component is needed, with a brief description of the vulnerabilities and threats and the manner by which they are countered.

下面的规范包括为什么需要该组件的说明,以及漏洞和威胁的简要说明以及应对这些漏洞和威胁的方式。

B.1 The Signature Policy
B.1签字政策

The signature policy is a set of rules for the creation and validation of an electronic signature, under which the signature can be determined to be valid. A given legal/contractual context may recognize a particular signature policy as meeting its requirements. A signature policy may be issued, for example, by a party relying on the electronic signatures and selected by the signer for use with that relying party. Alternatively, a signature policy may be established through an electronic trading association for use amongst its members. Both the signer and verifier use the same signature policy.

签名政策是一套用于创建和验证电子签名的规则,根据这些规则可以确定签名是否有效。给定的法律/合同上下文可能会认为特定的签名策略满足其要求。例如,签名策略可以由依赖电子签名的一方发布,并由签名人选择用于该依赖方。或者,可通过电子贸易协会制定签名政策,供其成员使用。签名者和验证者都使用相同的签名策略。

The signature policy may be explicitly identified or may be implied by the semantics of the data being signed and other external data like a contract being referenced which itself refers to a signature policy.

签名策略可以被明确标识,或者可以由被签名的数据和其他外部数据的语义暗示,例如被引用的合同本身引用签名策略。

An explicit signature policy has a globally unique reference, which is bound to an electronic signature by the signer as part of the signature calculation.

显式签名策略具有全局唯一引用,作为签名计算的一部分,该引用由签名者绑定到电子签名。

The signature policy needs to be available in human readable form so that it can be assessed to meet the requirements of the legal and contractual context in which it is being applied. To facilitate the automatic processing of an electronic signature the parts of the signature policy which specify the electronic rules for the creation and validation of the electronic signature also needs to be in a computer processable form.

签名政策需要以可读的形式提供,以便能够对其进行评估,以满足适用该政策的法律和合同环境的要求。为便于电子签名的自动处理,签名政策中规定电子签名创建和验证电子规则的部分也需要采用计算机可处理的形式。

The signature policy thus includes the following:

因此,签名政策包括以下内容:

* Information about the signature policy that can be displayed to the signer or the verifiers. * Rules, which apply to functionality, covered by this document (referred to as the Signature Validation Policy). * Rules which may be implied through adoption of Certificate Policies that apply to the electronic signature (e.g., rules for ensuring the secrecy of the private signing key). * Rules, which relate to the environment used by the signer, e.g., the use of an agreed CAD (Card Accepting Device) used in conjunction with a smart card.

* 可显示给签名者或验证者的签名策略信息。*本文件涵盖的适用于功能的规则(称为签名验证策略)。*通过采用适用于电子签名的证书策略可能隐含的规则(例如,确保私人签名密钥保密的规则)。*与签名人使用的环境相关的规则,例如,与智能卡一起使用的商定CAD(卡接受设备)的使用。

An explicit Signature Validation Policy may be structured so that it can be computer processable. Any format of the signature validation policy is allowed by this document. However, for a given explicit signature policy there must be one definitive form that has a unique binary encoded value.

可以构造一个明确的签名验证策略,使其可以由计算机处理。本文档允许任何格式的签名验证策略。但是,对于给定的显式签名策略,必须有一个具有唯一二进制编码值的确定形式。

The Signature Validation Policy includes rules regarding use of TSPs (CA, Attribute Authorities, Time Stamping Authorities) as well as rules defining the components of the electronic signature that must be provided by the signer with data required by the verifier to provide long term proof.

签名验证政策包括关于TSP(CA、属性权限、时间戳权限)使用的规则,以及定义电子签名组成部分的规则,签名人必须提供验证者提供长期证据所需的数据。

B.2 Signed Information
B.2签名信息

The information being signed may be defined as a MIME-encapsulated message which can be used to signal the format of the content in order to select the right display or application. It can be composed of formatted text (e.g., EDIFACT), free text or of fields from an electronic form (e-form). For example, the Adobe(tm) format "pdf" may be used or the eXtensible Mark up Language (XML).

被签名的信息可以被定义为MIME封装的消息,该消息可用于向内容的格式发送信号,以便选择正确的显示或应用程序。它可以由格式化文本(如EDIFACT)、自由文本或来自电子表单(e-form)的字段组成。例如,可以使用Adobe(tm)格式的“pdf”或可扩展标记语言(XML)。

B.3 Components of an Electronic Signature
B.3电子签字的组成部分
B.3.1 Reference to the Signature Policy
B.3.1 对签名政策的参考

The definition of electronic signature includes: "a commitment has been explicitly endorsed under a "Signature policy", at a given time, by a signer under an identifier, e.g., a name or a pseudonym, and optionally a role".

电子签名的定义包括:“在给定时间,签名人已根据“签名政策”以一种标识符(例如姓名或笔名,以及可选的角色)明确认可承诺”。

When two independent parties want to evaluate an electronic signature, it is fundamental that they get the same result. To meet this requirement same signature policy must be used by the signer and verifier.

当两个独立的当事方想要评估一个电子签名时,最基本的是他们得到相同的结果。为了满足这一要求,签名者和验证者必须使用相同的签名策略。

The signature policy may be explicitly identified or may be implied by the semantics of the data being signed and other external data which designate the signature policy to be used.

签名策略可以被明确标识,或者可以由被签名的数据和指定要使用的签名策略的其他外部数据的语义暗示。

By signing over the signature policy identifier the signer explicitly indicates that he or she has applied the signature policy in creating the signature. Thus, undertakes any explicit or implied commitments.

通过在签名策略标识符上签名,签名者明确表示他或她在创建签名时应用了签名策略。因此,承担任何明示或暗示的承诺。

In order to unambiguously identify an explicit signature policy that is to be used to verify the signature an identifier and hash of the "Signature policy" shall be part of the signed data. Additional information about the explicit policy (e.g., web reference to the document) may be carried as "qualifiers" to the signature policy identifier.

为了明确标识用于验证签名的明确签名策略,“签名策略”的标识符和散列应为签名数据的一部分。关于显式策略的附加信息(例如,文档的web引用)可以作为签名策略标识符的“限定符”携带。

When the signature policy not explicitly identified, but is implied by the semantics of the data being signed, then the signature will include a signature policy identifier that indicates that the signature policy is implied. In this case the verification rules must be determined by using other external data which will designate the signature policy to be used. If it may be determined from the context that all the documents to be verified refer to the same signature policy, then that policy may be predetermined or fixed within the application.

当签名策略未明确标识,但由被签名数据的语义隐含时,签名将包括一个签名策略标识符,该标识符指示签名策略是隐含的。在这种情况下,必须使用其他外部数据来确定验证规则,这些数据将指定要使用的签名策略。如果可以从上下文确定要验证的所有文档引用相同的签名策略,则该策略可以在应用程序中预先确定或固定。

In order to identify unambiguously the "Signature Validation Policy" to be used to verify the signature an identifier and hash of the "Signature policy" must be part of the signed data. Additional information about the policy (e.g., web reference to the document) may be carried as "qualifiers" to the signature policy identifier.

为了明确标识用于验证签名的“签名验证策略”,“签名策略”的标识符和散列必须是签名数据的一部分。关于策略的附加信息(例如,对文档的web引用)可以作为“限定符”携带到签名策略标识符。

B.3.2 Commitment Type Indication
B.3.2 承诺类型指示

The definition of electronic signature includes: "a commitment has been explicitly endorsed under a signature policy, at a given time, by a signer under an identifier, e.g., a name or a pseudonym, and optionally a role".

电子签名的定义包括:“签名人在某一特定时间根据签名政策以一种标识符(例如姓名或笔名,以及可选的角色)明确认可了一项承诺”。

The commitment type can be indicated in the electronic signature either:

承诺类型可在电子签名中指明:

* explicitly using a "commitment type indication" in the electronic signature;

* 在电子签名中明确使用“承诺类型指示”;

* implicitly or explicitly from the semantics of the signed data.

* 隐式或显式地从签名数据的语义中提取。

If the indicated commitment type is explicit using a "commitment type indication" in the electronic signature, acceptance of a verified signature implies acceptance of the semantics of that commitment type. The semantics of explicit commitment types indications must be specified either as part of the signature policy or may be registered for generic use across multiple policies.

如果使用电子签名中的“承诺类型指示”明确表示所指示的承诺类型,则接受经验证的签名意味着接受该承诺类型的语义。必须将显式承诺类型指示的语义指定为签名策略的一部分,或者可以注册以在多个策略中通用。

If a signature includes a commitment type indication other than one of those recognized under the signature policy the signature must be treated as invalid.

如果签名包含承诺类型指示,而不是签名策略下认可的承诺类型指示,则签名必须视为无效。

How commitment is indicated using the semantics of the data being signed is outside the scope of this document.

如何使用被签名数据的语义表示承诺超出了本文档的范围。

NOTE: Examples of commitment indicated through the semantics of the data being signed, are:

注:通过签名数据的语义表示的承诺示例如下:

* An explicit commitment made by the signer indicated by the type of data being signed over. Thus, the data structure being signed can have an explicit commitment within the context of the application (e.g., EDIFACT purchase order).

* 由签名者做出的明确承诺,由被签名的数据类型表示。因此,正在签名的数据结构可以在应用程序上下文中具有明确的承诺(例如,EDIFACT采购订单)。

* An implicit commitment which is a commitment made by the signer because the data being signed over has specific semantics (meaning) which is only interpretable by humans, (i.e., free text).

* 一种隐式承诺,是签名者做出的承诺,因为被签名的数据具有特定的语义(含义),只有人类才能解释(即自由文本)。

B.3.3 Certificate Identifier from the Signer
B.3.3 来自签名者的证书标识符

The definition of the ETSI electronic signature includes: "a commitment has been explicitly endorsed under a signature policy, at a given time, by a signer under an identifier, e.g., a name or a pseudonym, and optionally a role."

ETSI电子签名的定义包括:“在给定时间,签名人已在签名政策下以标识符(例如姓名或笔名)和可选角色明确认可承诺。”

In many real life environments users will be able to get from different CAs or even from the same CA, different certificates containing the same public key for different names. The prime advantage is that a user can use the same private key for different purposes. Multiple use of the private key is an advantage when a smart card is used to protect the private key, since the storage of a smart card is always limited. When several CAs are involved, each different certificate may contain a different identity, e.g., as a national or as an employee from a company. Thus when a private key is used for various purposes, the certificate is needed to clarify the context in which the private key was used when generating the signature. Where there is the possibility of multiple use of private keys it is necessary for the signer to indicate to the verifier the precise certificate to be used.

在许多实际环境中,用户将能够从不同的CA,甚至从相同的CA,获得包含不同名称的相同公钥的不同证书。其主要优点是用户可以将同一私钥用于不同的目的。当智能卡用于保护私钥时,私钥的多次使用是一种优势,因为智能卡的存储总是有限的。当涉及多个CA时,每个不同的证书可能包含不同的身份,例如国民身份或公司员工身份。因此,当私钥用于各种目的时,需要证书来澄清生成签名时使用私钥的上下文。如果可能多次使用私钥,则签名者必须向验证者指示要使用的确切证书。

Many current schemes simply add the certificate after the signed data and thus are subject to various substitution attacks. An example of a substitution attack is a "bad" CA that would issue a certificate to someone with the public key of someone else. If the certificate from the signer was simply appended to the signature and thus not protected by the signature, any one could substitute one certificate by another and the message would appear to be signed by some one else.

当前的许多方案只是在签名数据之后添加证书,因此会受到各种替换攻击。替换攻击的一个示例是一个“坏”CA,它将向具有其他人公钥的人颁发证书。如果来自签名者的证书只是附加到签名中,因此不受签名的保护,则任何人都可以用一个证书替换另一个证书,消息似乎是由其他人签名的。

In order to counter this kind of attack, the identifier of the signer has to be protected by the digital signature from the signer.

为了对抗这种攻击,签名者的标识符必须受到签名者数字签名的保护。

Although it does not provide the same advantages as the previous technique, another technique to counter that threat has been identified. It requires all CAs to perform a Proof Of Possession of the private key at the time of registration. The problem with that technique is that it does not provide any guarantee at the time of verification and only some proof "after the event" may be obtained, if and only if the CA keeps the Proof Of Possession in audit trail.

虽然它没有提供与前一种技术相同的优势,但是已经确定了另一种对抗这种威胁的技术。它要求所有CA在注册时提供私钥拥有证明。这种技术的问题在于,它在验证时不提供任何保证,只有在CA在审计跟踪中保留占有证明的情况下,“事后”才能获得一些证据。

In order to identify unambiguously the certificate to be used for the verification of the signature an identifier of the certificate from the signer must be part of the signed data.

为了明确标识用于验证签名的证书,签名者的证书标识符必须是签名数据的一部分。

B.3.4 Role Attributes
B.3.4 角色属性

The definition of electronic signature includes: "a commitment has been explicitly endorsed under a non repudiation security policy, at a given time, by a signer under an identifier, e.g., a name or a pseudonym, and optionally a role."

电子签名的定义包括:“在给定时间,签名人已根据不可否认性安全政策以标识符(例如姓名或笔名)和可选的角色明确认可承诺。”

While the name of the signer is important, the position of the signer within a company or an organization can be even more important. Some contracts may only be valid if signed by a user in a particular role, e.g., a Sales Director. In many cases whom the sales Director really is, is not that important but being sure that the signer is empowered by his company to be the Sales Director is fundamental.

虽然签名人的姓名很重要,但签名人在公司或组织中的地位可能更为重要。某些合同只有在由特定角色的用户(例如销售总监)签署时才有效。在许多情况下,谁才是真正的销售总监并不重要,但确保签名人被其公司授权担任销售总监是至关重要的。

This document defines two different ways for providing this feature:

本文档定义了提供此功能的两种不同方式:

* by placing a claimed role name in the CMS signed attributes field;

* 通过在CMS签名属性字段中放置声明的角色名称;

* by placing a attribute certificate containing a certified role name in the CMS signed attributes field.

* 通过在CMS签名属性字段中放置包含认证角色名称的属性证书。

NOTE: Another possible approach would have been to use additional attributes containing the roles name(s) in the signer's certificate. However, it was decided not to follow this approach as it breaks the basic philosophy of the certificate being issued for one primary purpose. Also, by using separate certificates for management of the signer's identity certificate and management of additional roles can simplify the management, as new identity keys need not be issued if a use of role is to be changed.

注意:另一种可能的方法是在签名者的证书中使用包含角色名称的附加属性。然而,决定不采用这种方法,因为它打破了为一个主要目的颁发证书的基本理念。此外,通过使用单独的证书来管理签名者的身份证书和管理其他角色,可以简化管理,因为如果要更改角色的使用,则无需颁发新的身份密钥。

B.3.4.1 Claimed Role
B.3.4.1 声称的角色

The signer may be trusted to state his own role without any certificate to corroborate this claim. In which case the claimed role can be added to the signature as a signed attribute.

可以信任签名人声明其自己的角色,而无需任何证书来证实该声明。在这种情况下,可以将声明的角色作为已签名属性添加到签名中。

B.3.4.2 Certified Role
B.3.4.2 认证角色

Unlike public key certificates that bind an identifier to a public key, Attribute Certificates bind the identifier of a certificate to some attributes, like a role. An Attribute Certificate is NOT issued by a CA but by an Attribute Authority (AA). The Attribute Authority will be most of the time under the control of an organization or a company that is best placed to know which attributes are relevant for which individual.

与将标识符绑定到公钥的公钥证书不同,属性证书将证书的标识符绑定到某些属性,例如角色。属性证书不是由CA颁发的,而是由属性颁发机构(AA)颁发的。属性权限在大多数情况下由组织或公司控制,该组织或公司最有能力知道哪些属性与哪个个人相关。

The Attribute Authority may use or point to public key certificates issued by any CA, provided that the appropriate trust may be placed in that CA. Attribute Certificates may have various periods of validity. That period may be quite short, e.g., one day. While this requires that a new Attribute Certificate is obtained every day, valid for that day, this can be advantageous since revocation of such certificates may not be needed. When signing, the signer will have to specify which Attribute Certificate it selects. In order to do

属性颁发机构可以使用或指向任何CA颁发的公钥证书,前提是可以在该CA中放置适当的信任。属性证书可以具有不同的有效期。这段时间可能很短,例如一天。虽然这需要每天获得一个新的属性证书,该证书在当天有效,但这可能是有利的,因为可能不需要撤销此类证书。签名时,签名者必须指定其选择的属性证书。为了做

so, a reference to the Attribute Certificate will have to be included in the signed data in order to be protected by the digital signature from the signer.

因此,对属性证书的引用必须包含在签名数据中,以便由签名者的数字签名进行保护。

In order to identify unambiguously the attribute certificate(s) to be used for the verification of the signature an identifier of the attribute certificate(s) from the signer must be part of the signed data.

为了明确标识用于验证签名的属性证书,签名者的属性证书标识符必须是签名数据的一部分。

B.3.5 Signer Location
B.3.5 签名者位置

In some transactions the purported location of the signer at the time he or she applies his signature may need to be indicated. For this reason an optional location indicator must be able to be included.

在某些交易中,可能需要指明签名人在应用其签名时的据称所在地。因此,必须能够包括可选的位置指示器。

In order to provide indication of the location of the signer at the time he or she applied his signature a location attribute may be included in the signature.

为了在签名人应用签名时提供签名人位置的指示,签名中可以包括位置属性。

B.3.6 Signing Time
B.3.6 签署时间

The definition of electronic signature includes: "a commitment has been explicitly endorsed under a signature policy, at a given time, by a signer under an identifier, e.g., a name or a pseudonym, and optionally a role."

电子签名的定义包括:“在给定时间,签名人已根据签名政策,以一个标识符(例如姓名或笔名)和(可选)一个角色明确认可了一项承诺。”

There are several ways to address this problem. The solution adopted in this document is to sign over a time which the signer claims is the signing time (i.e., claimed signing time) and to require a trusted time stamp to be obtained when building a ES with Time-Stamp. When a verifier accepts a signature, the two times must be within acceptable limits.

有几种方法可以解决这个问题。本文档中采用的解决方案是在签名者声称为签名时间(即声称的签名时间)的时间上签名,并要求在构建具有时间戳的ES时获得可信时间戳。当验证者接受签名时,两次签名必须在可接受的范围内。

The solution that is adopted in this document offers the major advantage that electronic signatures can be generated without any on-line connection to a trusted time source (i.e., they may be generated off-line).

本文件中采用的解决方案提供了一个主要优势,即无需与可信时间源进行任何在线连接即可生成电子签名(即,电子签名可以离线生成)。

Thus two dates and two signatures are required:

因此,需要两个日期和两个签名:

* a signing time indicated by the signer and which is part of the data signed by the signer (i.e., part of the basic electronic signature);

* 签名人指示的签名时间,是签名人签名数据的一部分(即基本电子签名的一部分);

* a time indicated by a Time-Stamping Authority (TSA) which is signed over the digital signature value of the basic electronic signature. The signer, verifier or both may obtain the TSA time-stamp.

* 由时间戳授权机构(TSA)指示的时间,该授权机构在基本电子签名的数字签名值上签名。签名者、验证者或两者均可获得TSA时间戳。

In order for an electronic signature to be valid under a signature policy, it must be time-stamped by a TSA where the signing time as indicated by the signer and the time of time stamping as indicated by a TSA must be "close enough" to meet the requirements of the signature validation policy.

为了使电子签名在签名策略下有效,必须由TSA加盖时间戳,其中签名人指示的签名时间和TSA指示的加盖时间戳必须“足够接近”,以满足签名验证策略的要求。

"Close enough" means a few minutes, hours or even days according to the "Signature Validation Policy".

“足够接近”是指根据“签名验证策略”,几分钟、几小时甚至几天。

NOTE: The need for Time-Stamping is further explained in clause B.4.5. A further optional attribute is defined in this document to time-stamp the content, to provide proof of the existence of the content, at the time indicated by the time-stamp.

注:第B.4.5条进一步解释了时间戳的必要性。本文档中定义了另一个可选属性,用于在时间戳指示的时间对内容进行时间戳,以提供内容存在的证据。

Using this optional attribute a trusted secure time may be obtained before the document is signed and included under the digital signature. This solution requires an on-line connection to a trusted time-stamping service before generating the signature and may not represent the precise signing time, since it can be obtained in advance. However, this optional attribute may be used by the signer to prove that the signed object existed before the date included in the time-stamp (see 3.12.3, Content Time-Stamp).

使用此可选属性,可以在文档签名并包含在数字签名下之前获得可信的安全时间。此解决方案需要在生成签名之前在线连接到受信任的时间戳服务,并且可能不表示精确的签名时间,因为它可以提前获得。但是,签名者可以使用此可选属性来证明签名对象在时间戳中包含的日期之前存在(参见3.12.3,内容时间戳)。

Also, the signing time should be between the time indicated by this time-stamp and time indicated by the ES-T time-stamp.

此外,签名时间应介于此时间戳指示的时间和ES-T时间戳指示的时间之间。

B.3.7 Content Format
B.3.7 内容格式

When presenting signed data to a human user it may be important that there is no ambiguity as to the presentation of the signed information to the relying party. In order for the appropriate representation (text, sound or video) to be selected by the relying party a content hint may be indicated by the signer. If a relying party system does not use the format specified in the content hints to present the data to the relying party, the electronic signature may not be valid.

当向人类用户呈现签名数据时,向依赖方呈现签名信息时,不存在歧义可能很重要。为了使依赖方选择适当的表示(文本、声音或视频),签名人可指示内容提示。如果依赖方系统未使用内容提示中规定的格式向依赖方提供数据,则电子签名可能无效。

B.4 Components of Validation Data
B.4验证数据的组成部分
B.4.1 Revocation Status Information
B.4.1 撤销状态信息

A verifier will have to prove that the certificate of the signer was valid at the time of the signature. This can be done by either:

验证者必须证明签名者的证书在签名时是有效的。这可以通过以下方式实现:

* using Certificate Revocation Lists (CRLs);

* 使用证书撤销列表(CRL);

* using responses from an on-line certificate status server (for example; obtained through the OCSP protocol).

* 使用来自在线证书状态服务器的响应(例如,通过OCSP协议获得)。

B.4.2 CRL Information
B.4.2 CRL信息

When using CRLs to get revocation information, a verifier will have to make sure that he or she gets at the time of the first verification the appropriate certificate revocation information from the signer's CA. This should be done as soon as possible to minimize the time delay between the generation and verification of the signature. This involves checking that the signer certificate serial number is not included in the CRL. The signer, the verifier or any other third party may obtain either this CRL. If obtained by the signer, then it must be conveyed to the verifier. It may be convenient to archive the CRL for ease of subsequent verification or arbitration.

当使用CRL获取撤销信息时,验证者必须确保他或她在第一次验证时从签名者的CA获得适当的证书撤销信息。这应该尽快完成,以最大限度地减少签名生成和验证之间的时间延迟。这涉及检查签名者证书序列号是否不包括在CRL中。签名人、验证人或任何其他第三方均可获得本CRL。如果由签名者获得,则必须将其传送给验证者。归档CRL可能很方便,以便于后续验证或仲裁。

Alternatively, provided the CRL is archived elsewhere which is accessible for the purpose of arbitration, then the serial number of the CRL used may be archived together with the verified electronic signature.

或者,如果CRL存档在可访问的其他地方,以便进行仲裁,则所用CRL的序列号可与经验证的电子签名一起存档。

It may happen that the certificate serial number appears in the CRL but with the status "suspended" (i.e., on hold). In such a case, the electronic signature is not yet valid, since it is not possible to know whether the certificate will or will not be revoked at the end of the suspension period. If a decision has to be taken immediately then the signature has to be considered as invalid. If a decision can wait until the end of the suspension period, then two cases are possible:

证书序列号可能出现在CRL中,但状态为“暂停”(即保留)。在这种情况下,电子签名仍然无效,因为不可能知道证书是否会在暂停期结束时被撤销。如果必须立即作出决定,则签名必须视为无效。如果决定可以等到暂停期结束,则可能出现两种情况:

* the certificate serial number has disappeared from the list and thus the certificate can be considered as valid and that CRL must be captured and archived either by the verifier or elsewhere and be kept accessible for the purpose of arbitration.

* 证书序列号已从列表中消失,因此可以认为该证书有效,并且必须由验证者或其他地方捕获和存档CRL,并保持其可访问性,以便进行仲裁。

* the certificate serial number has been maintained on the list with the status definitively revoked and thus the electronic signature must be considered as invalid and discarded.

* 证书序列号已保留在列表上,状态为“已最终撤销”,因此必须将电子签名视为无效并丢弃。

At this point the verifier may be convinced that he or she got a valid signature, but is not yet in a position to prove at a later time that the signature was verified as valid. Before addressing this point, an alternative to CRL is to use OCSP responses.

在这一点上,验证者可能会确信他或她得到了有效的签名,但在以后的时间里还无法证明该签名已被验证为有效。在解决这一点之前,CRL的另一种选择是使用OCSP响应。

B.4.3 OCSP Information
B.4.3 OCSP信息

When using OCSP to get revocation information , a verifier will have to make sure that he or she gets at the time of the first verification an OCSP response that contains the status "valid". This

使用OCSP获取撤销信息时,验证者必须确保在第一次验证时获得包含状态“有效”的OCSP响应。这

should be done as soon as possible after the generation of the signature. The signer, the verifier or any other third party may fetch this OCSP response. Since OSCP responses are transient and thus are not archived by any TSP including CA, it is the responsibility of every verifier to make sure that it is stored in a safe place. The simplest way is to store them associated with the electronic signature. An alternative would be to store them in some storage so that they can then be easily retrieved.

应在生成签名后尽快完成。签名者、验证者或任何其他第三方可以获取此OCSP响应。由于OSCP响应是瞬态的,因此不会由任何TSP(包括CA)存档,因此每个验证者都有责任确保将其存储在安全的地方。最简单的方法是存储与电子签名相关的信息。另一种方法是将它们存储在某个存储器中,这样就可以很容易地检索它们。

In the same way as for the case of the CRL, it may happen that the certificate is declared as invalid but with the secondary status "suspended".

与CRL的情况相同,可能会发生证书被声明为无效,但次要状态为“暂停”的情况。

In such a case, the electronic signature is not yet valid, since it is not possible to know whether the certificate will or will not be revoked at the end of the suspension period. If a decision has to be taken immediately then the electronic signature has to be considered as invalid. If a decision can wait until the end of the suspension period, then two cases are possible:

在这种情况下,电子签名仍然无效,因为不可能知道证书是否会在暂停期结束时被撤销。如果必须立即作出决定,则电子签名必须被视为无效。如果决定可以等到暂停期结束,则可能出现两种情况:

* An OCSP response with a valid status is obtained at a later date and thus the certificate can be considered as valid and that OCSP response must be captured.

* 稍后将获得具有有效状态的OCSP响应,因此可以认为证书有效,并且必须捕获该OCSP响应。

* An OCSP response with an invalid status is obtained with a secondary status indicating that the certificate is definitively revoked and thus the electronic signature must be considered as invalid and discarded.

* 获得具有无效状态的OCSP响应,其第二状态指示证书已被最终吊销,因此必须将电子签名视为无效并丢弃。

As in the CRL case, at this point, the verifier may be convinced that he or she got a valid signature, but is not yet in a position to prove at a later time that the signature was verified as valid.

与CRL案件一样,在这一点上,验证者可能确信他或她获得了有效的签名,但在以后的时间里还无法证明签名已被验证为有效。

B.4.4 Certification Path
B.4.4 认证路径

A verifier will have to prove that the certification path was valid, at the time of the signature, up to a trust point according to the naming constraints and the certificate policy constraints from the "Signature Validation Policy". It will be necessary to capture all the certificates from the certification path, starting with those from the signer and ending up with those of the self-signed certificate from one trusted root of the "Signature Validation Policy". In addition, it will be necessary to capture the Authority Revocation Lists (ARLs) to prove than none of the CAs from the chain was revoked at the time of the signature.

验证者必须根据“签名验证策略”中的命名约束和证书策略约束,证明在签名时证书路径有效,直至信任点。必须从证书路径捕获所有证书,从签名者的证书开始,到“签名验证策略”的一个受信任根的自签名证书结束。此外,还需要捕获授权撤销列表(ARL),以证明在签名时链中没有任何CA被撤销。

As in the OCSP case, at this point, the verifier may be convinced that he or she got a valid signature, but is not yet in a position to prove at a later time that the signature was verified as valid.

与OCSP案件一样,此时,验证者可能会确信他或她获得了有效的签名,但在以后还无法证明签名已被验证为有效。

B.4.5 Time-Stamping for Long Life of Signature
B.4.5 时间戳可延长签名的使用寿命

An important property for long standing signatures is that a signature, having been found once to be valid, must continue to be so months or years later.

长期存在的签名的一个重要特性是,一个签名一旦被发现是有效的,就必须在数月或数年后继续有效。

A signer, verifier or both may be required to provide on request, proof that a digital signature was created or verified during the validity period of the all the certificates that make up the certificate path. In this case, the signer, verifier or both will also be required to provide proof that all the user and CA certificates used were not revoked when the signature was created or verified.

签名者、验证者或两者都可能需要根据请求提供证据,证明数字签名是在构成证书路径的所有证书的有效期内创建或验证的。在这种情况下,签名者、验证者或两者都需要提供证据,证明在创建或验证签名时使用的所有用户和CA证书均未被撤销。

It would be quite unacceptable, to consider a signature as invalid even if the keys or certificates were later compromised. Thus there is a need to be able to demonstrate that the signature keys was valid around the time that the signature was created to provide long term evidence of the validity of a signature.

即使钥匙或证书后来受到损害,认为签名无效也是不可接受的。因此,需要能够证明签名密钥在签名创建前后是有效的,以提供签名有效性的长期证据。

It could be the case that a certificate was valid at the time of the signature but revoked some time later. In this event, evidence must be provided that the document was signed before the signing key was revoked.

可能是证书在签名时有效,但在一段时间后被吊销。在这种情况下,必须提供证据证明文档是在签名密钥被吊销之前签名的。

Time-Stamping by a Time Stamping Authority (TSA) can provide such evidence. A time stamp is obtained by sending the hash value of the given data to the TSA. The returned "time-stamp" is a signed document that contains the hash value, the identity of the TSA, and the time of stamping. This proves that the given data existed before the time of stamping. Time-Stamping a digital signature (by sending a hash of the signature to the TSA) before the revocation of the signer's private key, provides evidence that the signature has been created before the key was revoked.

时间戳管理局(TSA)的时间戳可以提供此类证据。通过向TSA发送给定数据的散列值来获得时间戳。返回的“时间戳”是一个已签名的文档,其中包含哈希值、TSA的标识和盖章时间。这证明了给定数据在冲压时间之前存在。在撤销签名人的私钥之前对数字签名进行时间戳(通过向TSA发送签名哈希),可以提供签名在撤销密钥之前已创建的证据。

If a recipient wants to hold a valid electronic signature he will have to ensure that he has obtained a valid time stamp for it, before that key (and any key involved in the validation) is revoked. The sooner the time-stamp is obtained after the signing time, the better.

如果收件人希望持有有效的电子签名,他必须确保在撤销该密钥(以及验证中涉及的任何密钥)之前,他已获得该签名的有效时间戳。在签名时间之后越早获得时间戳越好。

It is important to note that signatures may be generated "off-line" and time-stamped at a later time by anyone, for example by the signer or any recipient interested in the value of the signature. The time stamp can thus be provided by the signer together with the signed

需要注意的是,签名可能由任何人“离线”生成,并在稍后时间加盖时间戳,例如由签名人或对签名价值感兴趣的任何接收人生成。因此,时间戳可以由签名者与签名者一起提供

document, or obtained by the recipient following receipt of the signed document.

文件,或由收件人在收到签名文件后获得。

The time stamp is NOT a component of the Electronic Signature, but the essential component of the ES with Time-Stamp.

时间戳不是电子签名的一个组成部分,而是带有时间戳的电子签名的基本组成部分。

It is required in this document that signer's digital signature value is time-stamped by a trusted source, known as a Time-Stamping Authority.

本文件要求签名人的数字签名值由可信来源(称为时间戳机构)加盖时间戳。

This document requires that the signer's digital signature value is time-stamped by a trusted source before the electronic signature can become a ES with Complete validation data (ES-C). The acceptable TSAs are specified in the Signature Validation Policy.

本文件要求签名人的数字签名值在电子签名成为具有完整验证数据(ES-C)的ES之前由可信来源加盖时间戳。可接受的TSA在签名验证策略中指定。

Should both the signer and verifier be required to time-stamp the signature value to meet the requirements of the signature policy, the signature policy MAY specify a permitted time delay between the two time stamps.

如果签名者和验证者都需要对签名值加上时间戳以满足签名策略的要求,签名策略可以指定两个时间戳之间允许的时间延迟。

B.4.6 Time-Stamping before CA Key Compromises
B.4.6 CA密钥泄露前的时间戳

Time-Stamped extended electronic signatures are needed when there is a requirement to safeguard against the possibility of a CA key in the certificate chain ever being compromised. A verifier may be required to provide on request, proof that the certification path and the revocation information used a the time of the signature were valid, even in the case where one of the issuing keys or OCSP responder keys is later compromised.

当需要保护证书链中的CA密钥不被泄露时,需要有时间戳的扩展电子签名。验证者可能需要根据请求提供证明,证明签名时使用的认证路径和撤销信息是有效的,即使在颁发密钥或OCSP响应者密钥之一后来被泄露的情况下也是如此。

The current document defines two ways of using time-stamps to protect against this compromise:

当前文件定义了两种使用时间戳来防止这种危害的方法:

* Time-Stamp the ES with Complete validation data, when an OCSP response is used to get the status of the certificate from the signer.

* 当使用OCSP响应从签名者处获取证书状态时,使用完整验证数据对ES进行时间戳。

* Time-Stamp only the certification path and revocation information references when a CRL is used to get the status of the certificate from the signer.

* 使用CRL从签名者处获取证书状态时,时间戳仅用于引用证书路径和吊销信息。

NOTE: the signer, verifier or both may obtain the time-stamp.

注:签名者、验证者或两者均可获得时间戳。

B.4.6.1 Time-Stamping the ES with Complete validation data
B.4.6.1 使用完整的验证数据为ES打上时间戳

When an OCSP response is used, it is necessary to time stamp in particular that response in the case the key from the responder would be compromised. Since the information contained in the OCSP response

当使用OCSP响应时,特别是在响应者的密钥被泄露的情况下,有必要对响应加上时间戳。因为OCSP响应中包含的信息

is user specific and time specific, an individual time stamp is needed for every signature received. Instead of placing the time stamp only over the certification path references and the revocation information references, which include the OCSP response, the time stamp is placed on the ES-C. Since the certification path and revocation information references are included in the ES with Complete validation data they are also protected. For the same cryptographic price, this provides an integrity mechanism over the ES with Complete validation data. Any modification can be immediately detected. It should be noticed that other means of protecting/detecting the integrity of the ES with Complete Validation Data exist and could be used.

由于是特定于用户和特定于时间的,接收到的每个签名都需要一个单独的时间戳。将时间戳放置在ES-C上,而不是仅将时间戳放置在认证路径引用和撤销信息引用(包括OCSP响应)上。由于认证路径和撤销信息引用包含在ES中,且具有完整的验证数据,因此它们也受到保护。对于相同的加密价格,这为ES提供了完整性机制,并提供了完整的验证数据。任何修改都可以立即检测到。应注意的是,存在并可使用其他方法保护/检测具有完整验证数据的ES的完整性。

Although the technique requires a time stamp for every signature, it is well suited for individual users wishing to have an integrity protected copy of all the validated signatures they have received.

尽管该技术要求每个签名都有一个时间戳,但它非常适合希望获得其收到的所有已验证签名的完整性保护副本的个人用户。

By time-stamping the complete electronic signature, including the digital signature as well as the references to the certificates and revocation status information used to support validation of that signature, the time-stamp ensures that there is no ambiguity in the means of validating that signature.

通过对完整的电子签名(包括数字签名以及对证书的引用和用于支持签名验证的撤销状态信息)加盖时间戳,时间戳可确保在验证该签名的方法上没有歧义。

This technique is referred to as ES with eXtended validation data (ES-X), type 1 Time-Stamped in this document.

该技术称为带有扩展验证数据(ES-X)的ES,本文件中有类型1时间戳。

NOTE: Trust is achieved in the references by including a hash of the data being referenced.

注意:引用中的信任是通过包含被引用数据的散列来实现的。

If it is desired for any reason to keep a copy of the additional data being referenced, the additional data may be attached to the electronic signature, in which case the electronic signature becomes a ES-X Long as defined by this document.

如果出于任何原因需要保留所引用附加数据的副本,可将附加数据附在电子签名上,在这种情况下,电子签名将成为本文件定义的ES-X长度。

A ES-X Long Time-Stamped is simply the concatenation of a ES-X Time-Stamped with a copy of the additional data being referenced.

ES-X长时间戳只是ES-X时间戳与所引用的附加数据副本的串联。

B.4.6.2 Time-Stamping Certificates and Revocation Information
B.4.6.2 时间戳证书和吊销信息

References Time-Stamping each ES with Complete validation data as defined above may not be efficient, particularly when the same set of CA certificates and CRL information is used to validate many signatures.

引用使用上面定义的完整验证数据为每个ES打上时间戳可能效率不高,尤其是当使用同一组CA证书和CRL信息验证多个签名时。

Time-Stamping CA certificates will stop any attacker from issuing bogus CA certificates that could be claimed to existing before the CA key was compromised. Any bogus time-stamped CA certificates will show that the certificate was created after the legitimate CA key was

时间戳CA证书将阻止任何攻击者颁发伪造的CA证书,这些证书可能在CA密钥泄露之前就已存在。任何伪造的带有时间戳的CA证书都将显示该证书是在合法CA密钥被创建之后创建的

compromised. In the same way, time-stamping CA CRLs, will stop any attacker from issuing bogus CA CRLs which could be claimed to existing before the CA key was compromised.

妥协的。同样,时间戳CA CRL将阻止任何攻击者发出伪造的CA CRL,这些CA CRL可能在CA密钥泄露之前就已存在。

Time-Stamping of commonly used certificates and CRLs can be done centrally, e.g., inside a company or by a service provider. This method reduces the amount of data the verifier has to time-stamp, for example it could reduce to just one time stamp per day (i.e., in the case were all the signers use the same CA and the CRL applies for the whole day). The information that needs to be time stamped is not the actual certificates and CRLs but the unambiguous references to those certificates and CRLs.

常用证书和CRL的时间戳可以集中完成,例如在公司内部或由服务提供商完成。这种方法减少了验证者必须使用时间戳的数据量,例如,它可以减少到每天只有一个时间戳(即,如果所有签名者使用相同的CA,并且CRL适用于一整天)。需要加盖时间戳的信息不是实际的证书和CRL,而是对这些证书和CRL的明确引用。

To comply with extended validation data, type 2 Time-stamped, this document requires the following:

为符合扩展验证数据(类型2时间戳),本文件要求:

* All the CA certificates references and revocation information references (i.e., CRLs) used in validating the ES-C are covered by one or more time-stamp.

* 验证ES-C时使用的所有CA证书引用和撤销信息引用(即CRL)都包含在一个或多个时间戳中。

Thus a ES-C with a time-stamp signature value at time T1, can be proved valid if all the CA and CRL references are time-stamped at time T1+.

因此,如果所有CA和CRL引用都在时间T1+上有时间戳,则在时间T1上具有时间戳签名值的ES-C可以被证明是有效的。

B.4.7 Time-Stamping for Long Life of Signature
B.4.7 时间戳可延长签名的使用寿命

Advances in computing increase the probability of being able to break algorithms and compromise keys. There is therefore a requirement to be able to protect electronic signatures against this probability.

计算技术的进步增加了破解算法和破解密钥的可能性。因此,要求能够保护电子签名不受这种可能性的影响。

Over a period of time weaknesses may occur in the cryptographic algorithms used to create an electronic signature (e.g., due to the time available for cryptoanalysis, or improvements in cryptoanalytical techniques). Before this such weaknesses become likely, a verifier should take extra measures to maintain the validity of the electronic signature. Several techniques could be used to achieve this goal depending on the nature of the weakened cryptography. In order to simplify, a single technique, called Archive validation data, covering all the cases is being used in this document.

在一段时间内,用于创建电子签名的密码算法可能会出现弱点(例如,由于密码分析的可用时间或密码分析技术的改进)。在这类弱点成为可能之前,验证者应采取额外措施来维持电子签名的有效性。根据加密技术的性质,可以使用几种技术来实现这一目标。为了简化,本文档中使用了一种称为归档验证数据的技术,涵盖了所有案例。

Archive validation data consists of the Complete validation data and the complete certificate and revocation data, time stamped together with the electronic signature. The Archive validation data is necessary if the hash function and the crypto algorithms that were used to create the signature are no longer secure. Also, if it

存档验证数据包括完整的验证数据、完整的证书和撤销数据,并随电子签名一起加盖时间戳。如果用于创建签名的哈希函数和加密算法不再安全,则需要归档验证数据。还有,如果

cannot be assumed that the hash function used by the Time Stamping Authority is secure, then nested time-stamps of Archived Electronic Signature are required.

不能假定时间戳机构使用的哈希函数是安全的,则需要存档电子签名的嵌套时间戳。

The potential for Trusted Service Provider (TSP) key compromise should be significantly lower than user keys, because TSP(s) are expected to use stronger cryptography and better key protection. It can be expected that new algorithms (or old ones with greater key lengths) will be used. In such a case, a sequence of time-stamps will protect against forgery. Each time-stamp needs to be affixed before either the compromise of the signing key or of the cracking of the algorithms used by the TSA. TSAs (Time-Stamping Authorities) should have long keys (e.g., which at the time of drafting this document was 2048 bits for the signing RSA algorithm) and/or a "good" or different algorithm.

可信服务提供商(TSP)密钥泄露的可能性应大大低于用户密钥,因为TSP预计将使用更强的加密和更好的密钥保护。可以预期将使用新算法(或密钥长度更大的旧算法)。在这种情况下,一系列时间戳可以防止伪造。在签名密钥泄露或TSA使用的算法破解之前,需要贴上每个时间戳。TSA(时间戳授权机构)应具有长密钥(例如,在起草本文件时,签名RSA算法为2048位)和/或“良好”或不同的算法。

Nested time-stamps will also protect the verifier against key compromise or cracking the algorithm on the old electronic signatures.

嵌套的时间戳还将保护验证器,防止密钥泄露或破解旧电子签名上的算法。

The process will need to be performed and iterated before the cryptographic algorithms used for generating the previous time stamp are no longer secure. Archive validation data may thus bear multiple embedded time stamps.

在用于生成前一时间戳的加密算法不再安全之前,需要执行并迭代该过程。因此,归档验证数据可能带有多个嵌入的时间戳。

B.4.8 Reference to Additional Data
B.4.8 参考其他数据

Using type 1 or 2 of Time-Stamped extended validation data verifiers still needs to keep track of all the components that were used to validate the signature, in order to be able to retrieve them again later on. These components may be archived by an external source like a trusted service provider, in which case referenced information that is provided as part of the ES with Complete validation data (ES-C) is adequate. The actual certificates and CRL information reference in the ES-C can be gathered when needed for arbitration.

使用类型1或2的时间戳扩展验证数据验证器仍然需要跟踪用于验证签名的所有组件,以便以后能够再次检索它们。这些组件可以由外部来源(如可信服务提供商)存档,在这种情况下,作为ES的一部分提供的参考信息以及完整的验证数据(ES-C)就足够了。当需要仲裁时,可以收集ES-C中的实际证书和CRL信息参考。

B.4.9 Time-Stamping for Mutual Recognition
B.4.9 相互承认的时间戳

In some business scenarios both the signer and the verifier need to time-stamp their own copy of the signature value. Ideally the two time-stamps should be as close as possible to each other.

在某些业务场景中,签名者和验证者都需要在自己的签名值副本上加盖时间戳。理想情况下,这两个时间戳应该尽可能彼此靠近。

Example: A contract is signed by two parties A and B representing their respective organizations, to time-stamp the signer and verifier data two approaches are possible:

示例:合同由代表各自组织的双方A和B签署,为在签署人和验证人数据上加盖时间戳,可采用两种方法:

* under the terms of the contract pre-defined common "trusted" TSA may be used;

* 根据合同条款,可使用预定义的通用“受信任”TSA;

* if both organizations run their own time-stamping services, A and B can have the transaction time-stamped by these two time-stamping services. In the latter case, the electronic signature will only be considered as valid, if both time-stamps were obtained in due time (i.e., there should not be a long delay between obtaining the two time-stamps). Thus, neither A nor B can repudiate the signing time indicated by their own time-stamping service.

* 如果两个组织都运行自己的时间戳服务,则A和B可以使用这两个时间戳服务来标记事务时间。在后一种情况下,如果两个时间戳都是在适当的时候获得的(即,在获得两个时间戳之间不应有长时间的延迟),则电子签名将被视为有效。因此,A和B都不能拒绝他们自己的时间戳服务指示的签名时间。

Therefore, A and B do not need to agree on a common "trusted" TSA to get a valid transaction.

因此,A和B无需就共同的“受信任”TSA达成一致,即可获得有效的交易。

It is important to note that signatures may be generated "off-line" and time-stamped at a later time by anyone, e.g., by the signer or any recipient interested in validating the signature. The time-stamp over the signature from the signer can thus be provided by the signer together with the signed document, and /or obtained by the verifier following receipt of the signed document.

需要注意的是,签名可能由任何人“离线”生成,并在稍后时间加盖时间戳,例如签名人或任何有兴趣验证签名的接收人。因此,签名人签名上的时间戳可由签名人与签名文件一起提供,和/或由验证者在收到签名文件后获得。

The business scenarios may thus dictate that one or more of the long-term signature time-stamping methods describe above be used. This will need to be part of a mutually agreed the Signature Validation Policy with is part of the overall signature policy under which digital signature may be used to support the business relationship between the two parties.

因此,业务场景可能要求使用上面描述的一个或多个长期签名时间戳方法。这需要成为双方同意的签名验证政策的一部分,签名验证政策是整体签名政策的一部分,根据该政策,数字签名可用于支持双方之间的业务关系。

B.4.10 TSA Key Compromise
B.4.10 TSA关键折衷方案

TSA servers should be built in such a way that once the private signature key is installed, that there is minimal likelihood of compromise over as long as possible period. Thus the validity period for the TSA's keys should be as long as possible.

TSA服务器的构建方式应确保,一旦安装了私有签名密钥,在尽可能长的时间内,泄露的可能性最小。因此,TSA钥匙的有效期应尽可能长。

Both the ES-T and the ES-C contain at least one time stamp over the signer's signature. In order to protect against the compromise of the private signature key used to produce that time-stamp, the Archive validation data can be used when a different Time-Stamping Authority key is involved to produce the additional time-stamp. If it is believed that the TSA key used in providing an earlier time-stamp may ever be compromised (e.g., outside its validity period), then the ES-A should be used. For extremely long periods this may be applied repeatedly using new TSA keys.

ES-T和ES-C都在签名者的签名上包含至少一个时间戳。为了防止用于生成该时间戳的私有签名密钥受损,当涉及不同的时间戳授权密钥以生成附加时间戳时,可以使用归档验证数据。如果认为用于提供早期时间戳的TSA密钥可能会被泄露(例如,超出其有效期),则应使用ES-A。在极长的时间内,可使用新的TSA钥匙重复应用此功能。

B.5 Multiple Signatures
B.5多重签名

Some electronic signatures may only be valid if they bear more than one signature. This is the case generally when a contract is signed between two parties. The ordering of the signatures may or may not

有些电子签名只有在带有多个签名时才有效。当双方签订合同时,通常情况就是这样。签名的顺序可以是也可以不是

be important, i.e., one may or may not need to be applied before the other. Several forms of multiple and counter signatures may need to be supported, which fall into two basic categories:

重要,即一个可能需要或不需要在另一个之前应用。可能需要支持多种形式的多重签名和反签名,它们分为两个基本类别:

* independent signatures; * embedded signatures.

* 独立签名;*嵌入的签名。

Independent signatures are parallel signatures where the ordering of the signatures is not important. The capability to have more than one independent signature over the same data must be provided.

独立签名是并行签名,其中签名的顺序并不重要。必须提供在同一数据上具有多个独立签名的能力。

Embedded signatures are applied one after the other and are used where the order the signatures are applied is important. The capability to sign over signed data must be provided.

嵌入的签名一个接一个地应用,并在应用签名的顺序很重要的情况下使用。必须提供对已签名数据进行签名的功能。

These forms are described in clause 3.13. All other multiple signature schemes, e.g., a signed document with a countersignature, double countersignatures or multiple signatures, can be reduced to one or more occurrence of the above two cases.

这些表格如第3.13条所述。所有其他多重签名方案,例如,具有会签、双重会签或多重签名的已签名文档,可以减少为上述两种情况中的一种或多种情况。

Annex C (informative): Identifiers and roles

附录C(资料性附录):标识符和角色

C.1 Signer Name Forms
C.1签字人姓名表

The name used by the signer, held as the subject in the signer's certificate, must uniquely identify the entity. The name must be allocated and verified on registration with the Certification Authority, either directly or indirectly through a Registration Authority, before being issued with a Certificate.

签名人使用的名称(作为签名人证书中的主体)必须唯一标识实体。在颁发证书之前,必须直接或间接通过注册机构在认证机构注册时分配和验证名称。

This document places no restrictions on the form of the name. The subject's name may be a distinguished name, as defined in [RFC2459], held in the subject field of the certificate, or any other name form held in the X.509 subjectAltName certificate extension field. In the case that the subject has no distinguished name, the subject name can be an empty sequence and the subjectAltName extension must be critical.

本文档对名称的形式没有任何限制。主体名称可以是[RFC2459]中定义的可分辨名称,保存在证书的主体字段中,或保存在X.509主体名称证书扩展字段中的任何其他名称形式。如果主题没有可分辨名称,则主题名称可以是空序列,并且主题名称扩展名必须是关键的。

C.2 TSP Name Forms
C.2 TSP名称表格

All TSP name forms (Certification Authorities, Attribute Authorities and Time-Stamping Authorities) must be in the form of a distinguished name held in the subject field of the certificate.

所有TSP名称表(证书颁发机构、属性颁发机构和时间戳颁发机构)必须采用证书主题字段中的可分辨名称形式。

The TSP name form must include the legal jurisdiction (i.e., country) under which it operates and an identification for the organization providing the service.

TSP名称表必须包括其运营所在的法律管辖区(即国家)以及提供服务的组织的标识。

C.3 Roles and Signer Attributes
C.3角色和签名者属性

Where a signer signs as an individual but wishes to also identify him/herself as acting on behalf of an organization, it may be necessary to provide two independent forms of identification. The first identity, with is directly associated with the signing key identifies him/her as an individual. The second, which is managed independently, identifies that person acting as part of the organization, possibly with a given role.

如果签名人以个人身份签名,但同时希望表明其代表组织行事,则可能需要提供两种独立的身份证明形式。第一个身份与签名密钥直接关联,将他/她标识为个人。第二个是独立管理的,标识作为组织一部分的人员,可能具有给定的角色。

In this case the first identity is carried in the subject/subjectAltName field of the signer's certificate as described above.

在这种情况下,如上所述,第一个身份携带在签名者证书的subject/subjectAltName字段中。

This document supports the following means of providing a second form of identification:

本文件支持以下提供第二种识别形式的方法:

* by placing a secondary name field containing a claimed role in the CMS signed attributes field;

* 通过在CMS签名属性字段中放置包含声明角色的次要名称字段;

* by placing an attribute certificate containing a certified role in the CMS signed attributes field.

* 通过在CMS签名属性字段中放置包含认证角色的属性证书。

Full Copyright Statement

完整版权声明

Copyright (C) The Internet Society (2001). All Rights Reserved.

版权所有(C)互联网协会(2001年)。版权所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Acknowledgement

确认

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC编辑功能的资金目前由互联网协会提供。