[要約] RFC 6402は、Certificate Management over CMS(CMC)の更新に関するものであり、CMCプロトコルの機能とセキュリティの改善を提案しています。目的は、CMCの信頼性と効率性を向上させ、証明書の管理を容易にすることです。

Internet Engineering Task Force (IETF)                         J. Schaad
Request for Comments: 6402                       Soaring Hawk Consulting
Updates: 5272, 5273, 5274                                  November 2011
Category: Standards Track
ISSN: 2070-1721
        

Certificate Management over CMS (CMC) Updates

CMS(CMC)の更新に関する証明書管理

Abstract

概要

This document contains a set of updates to the base syntax for CMC, a Certificate Management protocol using the Cryptographic Message Syntax (CMS). This document updates RFC 5272, RFC 5273, and RFC 5274.

このドキュメントには、暗号化メッセージ構文(CMS)を使用した証明書管理プロトコルであるCMCのベース構文の更新セットが含まれています。このドキュメントは、RFC 5272、RFC 5273、およびRFC 5274を更新します。

The new items in this document are: new controls for future work in doing server side key generation, definition of a Subject Information Access value to identify CMC servers, and the registration of a port number for TCP/IP for the CMC service to run on.

このドキュメントの新しい項目は次のとおりです。サーバーサイドキー生成を行う際の将来の作業の新しいコントロール、CMCサーバーを識別するためのサブジェクト情報アクセス値の定義、およびCMCサービスのTCP/IPのポート番号の登録。

Status of This Memo

本文書の位置付け

This is an Internet Standards Track document.

これは、インターネット標準トラックドキュメントです。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

このドキュメントは、インターネットエンジニアリングタスクフォース(IETF)の製品です。IETFコミュニティのコンセンサスを表しています。公開レビューを受けており、インターネットエンジニアリングステアリンググループ(IESG)からの出版が承認されています。インターネット標準の詳細については、RFC 5741のセクション2で入手できます。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6402.

このドキュメントの現在のステータス、任意のERRATA、およびそのフィードバックを提供する方法に関する情報は、http://www.rfc-editor.org/info/rfc6402で取得できます。

Copyright Notice

著作権表示

Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved.

Copyright(c)2011 IETF Trustおよび文書著者として特定された人。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must

このドキュメントは、BCP 78およびIETFドキュメント(http://trustee.ietf.org/license-info)に関連するIETF Trustの法的規定の対象となります。この文書に関するあなたの権利と制限を説明するので、これらの文書を注意深く確認してください。このドキュメントから抽出されたコードコンポーネントは必須です

include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

セクション4.Eで説明されている法的規定のセクション4.Eで説明されており、簡素化されたBSDライセンスに記載されている保証なしで提供される簡略化されたBSDライセンステキストを含めます。

Table of Contents

目次

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Requirements Terminology . . . . . . . . . . . . . . . . .  3
     1.2.  Abbreviations  . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Updates to RFC 5272 - "Certificate Management over CMS
       (CMC)" . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
     2.1.  New Section 1.3 - "Updates Made by RFC 6402" . . . . . . .  3
     2.2.  Update Section 6 - "Controls"  . . . . . . . . . . . . . .  4
     2.3.  Replace Section 6.3 - "Linking Identity and POP
           Information" . . . . . . . . . . . . . . . . . . . . . . .  4
     2.4.  Replace Section 6.3.3 - "Renewal and Rekey Messages" . . .  5
     2.5.  New Section 6.20 - "RA Identity Proof Witness Control" . .  5
     2.6.  New Section 6.21 - "Response Body Control" . . . . . . . .  7
     2.7.  New Section 7 - "Other Attributes" . . . . . . . . . . . .  8
     2.8.  New Section 7.1 - "Change Subject Name Attribute"  . . . .  8
     2.9.  New Section 9 - "Certificate Requirements" . . . . . . . . 10
     2.10. New Section 9.1 - "Extended Key Usage" . . . . . . . . . . 10
     2.11. New Section 9.2 - "Subject Information Access" . . . . . . 11
     2.12. Update Section 8 - "Security Considerations" . . . . . . . 11
   3.  Updates to RFC 5273 - "Certificate Management over CMS
       (CMC): Transport Protocols"  . . . . . . . . . . . . . . . . . 12
     3.1.  Update Section 5 - "TCP-Based Protocol"  . . . . . . . . . 12
     3.2.  New Section 6 - "IANA Considerations"  . . . . . . . . . . 12
   4.  Updates to RFC 5274 - "Certificate Management Message over
       CMS (CMC): Compliance Requirements"  . . . . . . . . . . . . . 13
     4.1.  Update to Section 4.2 - "Controls" . . . . . . . . . . . . 13
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 13
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 13
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
     7.1.  Normative References . . . . . . . . . . . . . . . . . . . 13
     7.2.  Informative References . . . . . . . . . . . . . . . . . . 14
   Appendix A.  ASN.1 Modules . . . . . . . . . . . . . . . . . . . . 15
     A.1.  1988 ASN.1 Module  . . . . . . . . . . . . . . . . . . . . 15
     A.2.  2008 ASN.1 Module  . . . . . . . . . . . . . . . . . . . . 24
        
1. Introduction
1. はじめに

While dealing with the Suite B profile of CMC [RFC6403], a number of deficiencies were noted in the current base CMC specification. This document has a set of updates to [RFC5272], [RFC5273], and [RFC5274] to deal with those issues.

CMC [RFC6403]のスイートBプロファイルを扱っている間、現在のベースCMC仕様には多くの欠陥が認められました。このドキュメントには、[RFC5272]、[RFC5273]、および[RFC5274]の更新セットがあり、これらの問題に対処します。

1.1. Requirements Terminology
1.1. 要件用語

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

「必須」、「そうしない」、「必須」、「必要」、「しない」、「そうしない」、「そうではない」、「そうでない」、「推奨」、「5月」、および「オプション」は、[RFC2119]に記載されているように解釈される。

1.2. Abbreviations
1.2. 略語

The following abbreviations are used in this document. Terms are used as defined in Section 2.1 of RFC 5272.

このドキュメントでは、次の略語が使用されています。用語は、RFC 5272のセクション2.1で定義されているように使用されます。

CA - Certification Authority CRL - Certificate Revocation List CRMF - Certificate Request Message Format EE - End-Entity MAC - Message Authentication Code PKI - Public Key Infrastructure RA - Registration Authority

CA-認定機関CRL-証明書取消リストCRMF-証明書リクエストメッセージフォーマットEE -End -EntityMAC-メッセージ認証コードPKI-公開キーインフラストラクチャRA-登録機関

2. Updates to RFC 5272 - "Certificate Management over CMS (CMC)"
2. RFC 5272への更新 - 「CMS(CMC)の証明書管理」
2.1. New Section 1.3 - "Updates Made by RFC 6402"
2.1. 新しいセクション1.3-「RFC 6402による更新」

Insert this section before the current Section 1.3.

現在のセクション1.3の前にこのセクションを挿入します。

The following updates were made by RFC 6402.

次の更新は、RFC 6402によって行われました。

o Add new controls:

o 新しいコントロールを追加:

RA Identity Witness allows for an RA to perform identity checking using the identity and shared-secret, and then tell any following servers that the identity check was successfully performed.

RA IDの証人は、RAがIDと共有分泌を使用してIDチェックを実行することを許可し、次のサーバーにIDチェックが正常に実行されたことを伝えます。

Response Body allows for an RA to identify a nested response for an EE to process.

応答本体により、RAはEEが処理するためのネストされた応答を識別できます。

o Create a new attribute, Change Subject Name, that allows a client to request a change in the subject name and subject alternate name fields in a certificate.

o 新しい属性を作成し、サブジェクト名を変更します。これにより、クライアントは、証明書のサブジェクト名と件名の代替名フィールドの変更を要求できます。

o Add Extended Key Usages for CMC to distinguish server types.

o CMCの拡張キー使用法を追加して、サーバータイプを区別します。

o Define a new Subject Information Access type to hold locations to contact the CMC server.

o 新しいサブジェクト情報アクセスタイプを定義して、CMCサーバーに連絡する場所を保持します。

o Clarify that the use of a pre-existing certificate is not limited to just renewal and rekey messages and is required for support. This formalizes a requirement for the ability to do renewal and rekey that previously was implicit.

o 既存の証明書の使用は、更新と再キーのメッセージだけに限定されず、サポートに必要であることを明確にします。これは、以前は暗黙的だった更新と再キーを行う能力の要件を形式化します。

2.2. Update Section 6 - "Controls"
2.2. セクション6の更新 - 「コントロール」

Update Table 1 by adding the following rows:

次の行を追加して表1を更新します。

   +--------------------------+-----------+-----------------+---------+
   | Identifier Description   | OID       | ASN.1 Structure | Section |
   +--------------------------+-----------+-----------------+---------+
   | id-cmc-raIdentityWitness | id-cmc 35 | BodyPartPath    | 6.20    |
   |                          |           |                 |         |
   | id-cmc-responseBody      | id-cmc 37 | BodyPartPath    | 6.21    |
   +--------------------------+-----------+-----------------+---------+
        

Addition to Table 1: CMC Control Attributes

表1に追加:CMC制御属性

2.3. Replace Section 6.3 - "Linking Identity and POP Information"
2.3. セクション6.3を交換 - 「アイデンティティとポップ情報のリンク」

Replace the text of the section with the following text.

セクションのテキストを次のテキストに置き換えます。

In a CMC Full PKI Request, identity proof information about the client is carried in the certificate associated with the signature of the SignedData containing the certification requests, one of the two identity proof controls or the MAC computed for the AuthenticatedData containing the certification requests. Proof-of-possession (POP) information for key pairs, however, is carried separately for each PKCS #10 or CRMF certification request. (For keys capable of generating a digital signature, the POP is provided by the signature on the PKCS #10 or CRMF request. For encryption-only keys, the controls described in Section 6.7 are used.) In order to prevent substitution-style attacks, the protocol must guarantee that the same entity supplied both the POP and proof-of-identity information.

CMCフルPKIリクエストでは、クライアントに関する身分証明書の証明情報は、認証要求を含むSignedDataの署名に関連する証明書に伝えられます。ただし、キーペアのプルーフオブポッセッション(POP)情報は、各PKCS#10またはCRMF認定リクエストに対して個別に実施されます。(デジタル署名を生成できるキーの場合、POPはPKCS#10またはCRMFリクエストの署名によって提供されます。暗号化のみのキーの場合、セクション6.7で説明したコントロールが使用されます。)代替スタイルの攻撃を防ぐために)、プロトコルは、同じエンティティがPOPと証明の情報の両方を提供したことを保証する必要があります。

We describe three mechanisms for linking identity and POP information: witness values cryptographically derived from a shared-secret (Section 6.3.1), shared-secret/subject name matching (Section 6.3.2), and subject name matching to an existing certificate (Section 6.3.3). Clients and servers MUST support the witness value and the certificate linking techniques. Clients and servers MAY support shared-secret/name matching or MAY support other bilateral techniques

アイデンティティとポップ情報をリンクするための3つのメカニズムについて説明します。目撃者の値は、共有秘密(セクション6.3.1)、共有秘密/サブジェクト名のマッチング(セクション6.3.2)、および既存の証明書に一致するサブジェクト名から暗号化されました。セクション6.3.3)。クライアントとサーバーは、証人価値と証明書のリンクテクニックをサポートする必要があります。クライアントとサーバーは、共有秘密/名前のマッチングをサポートするか、他の二国間技術をサポートする場合があります

of similar strength. The idea behind the first two mechanisms is to force the client to sign some data into each certification request that can be directly associated with the shared-secret; this will defeat attempts to include certification requests from different entities in a single Full PKI Request.

同様の強さの。最初の2つのメカニズムの背後にあるアイデアは、クライアントが共有分泌株式に直接関連付けられる可能性のある各認証要求にいくつかのデータに署名するように強制することです。これにより、単一の完全なPKIリクエストにさまざまなエンティティからの認証要求を含める試みを打ち負かします。

2.4. Replace Section 6.3.3 - "Renewal and Rekey Messages"
2.4. セクション6.3.3を置き換えます - 「更新と再キーメッセージ」

Make the new section title "Existing Certificate Linking". Replace all text in this section with this text.

新しいセクションタイトル「既存の証明書のリンク」を作成します。このセクションのすべてのテキストをこのテキストに置き換えます。

Linking between the POP and an identity is easy when an existing certificate is used. The client copies all of the naming information from the existing certificate (subject name and subject alternative name) into the new certification request. The POP on the new public key is then performed by using the new key to sign the identity information (linking the POP to a specific identity). The identity information is then tied to the POP information by signing the entire enrollment request with the private key of the existing certificate.

既存の証明書を使用すると、ポップとアイデンティティのリンクは簡単です。クライアントは、既存の証明書(サブジェクト名と件名の代替名)からすべての命名情報を新しい認定リクエストにコピーします。新しい公開キーのPOPは、新しいキーを使用してID情報に署名することで実行されます(POPを特定のIDにリンクします)。ID情報は、既存の証明書の秘密鍵に登録要求全体に署名することにより、ポップ情報に結び付けられます。

Existing certificate linking can be used in the following circumstances:

既存の証明書のリンクは、次の状況で使用できます。

When replacing a certificate by doing a renewal or rekey certification request.

更新またはREKEY認定リクエストを実行して証明書を交換する場合。

Using an existing certificate to get a new certificate. An example of this would be to get a key establishment certificate after having gotten a signature certificate.

既存の証明書を使用して新しい証明書を取得します。この例は、署名証明書を取得した後に主要な設立証明書を取得することです。

Using a third-party certificate to get a new certificate from a CA. An example of this would be using a certificate and key pair distributed with a device to prove an identity. This requires that the CA have an out-of-band channel to map the identity in the device certificate to the new EE identity.

サードパーティの証明書を使用して、CAから新しい証明書を取得します。この例は、デバイスで配布された証明書とキーペアを使用してアイデンティティを証明することです。これには、CAにデバイス証明書のIDを新しいEE IDにマッピングするためのバンド外チャネルがあることが必要です。

2.5. New Section 6.20 - "RA Identity Proof Witness Control"
2.5. 新しいセクション6.20-「RA ID証明証人管理」

Insert this section.

このセクションを挿入します。

The RA Identity Proof Witness control allows an RA to indicate to subsequent control processors that all of the identity proof requirements have been met. This permits the identity proof to be performed at a location closer to the end-entity. For example, the identity proof could be done at multiple physical locations, while the CA could operate on a company-wide basis. The RA performs the identity proof, and potentially other tasks that require the secret

RAのアイデンティティ証明証人制御により、RAはすべてのID証明要件が満たされていることをその後の制御プロセッサに示すことができます。これにより、身分証明書を終了に近い場所で実行することができます。たとえば、身元証明は複数の物理的な場所で行うことができますが、CAは全社的に動作することができます。RAはアイデンティティの証明を実行し、秘密を必要とする潜在的に他のタスクを実行します

to be used, while the CA is prevented from knowing the secret. If the identity proof fails, then the RA returns an error to the client denoting that fact.

使用するために、CAは秘密を知ることができませんが。IDの証明が失敗した場合、RAはその事実を示すクライアントにエラーを返します。

The relevant ASN.1 for the RA Identity Proof Witness control is as follows:

RAのアイデンティティ証明証人制御に関連するASN.1は次のとおりです。

      cmc-raIdentityWitness CMC-CONTROL ::=
         { BodyPartPath IDENTIFIED BY id-cmc-raIdentityWitness }
        
      id-cmc-raIdentityWitness OBJECT IDENTIFIER ::= {id-cmc 35}
        

The above ASN.1 defines the following items:

上記のasn.1は次の項目を定義しています。

cmc-raIdentityWitness is a CMC-CONTROL associating the object identifier id-cmc-raIdentityWitness and the type BodyPartPath. This object is omitted from the 1988 module. The object is added to the object set Cmc-Control-Set. The control is permitted to appear only in the control sequence of a PKIData object. It MUST NOT appear in the control sequence of a PKIResponse. The control is permitted to be used only by an RA. The control may appear multiple times in a control sequence with each occurrence pointing to a different object.

CMC-RaidentityWitnessは、オブジェクト識別子ID-CMC-RaidentityWitnessとタイプのBodyPartPathを関連付けるCMCコントロールです。このオブジェクトは、1988年モジュールから省略されています。オブジェクトは、オブジェクトセットCMCコントロールセットに追加されます。コントロールは、pkidataオブジェクトのコントロールシーケンスにのみ表示されることが許可されています。pkiresponseの制御シーケンスに表示されてはなりません。コントロールは、RAによってのみ使用されることが許可されています。コントロールは、各発生が異なるオブジェクトを指すことで、コントロールシーケンスで複数回表示される場合があります。

id-cmc-raIdentityWitness is the object identifier used to identify this CMC control.

ID-CMC-RaidentityWitnessは、このCMCコントロールを識別するために使用されるオブジェクト識別子です。

BodyPartPath is the type structure associated with the control. The syntax of BodyPartPath is defined in Section 3.2.2. The path contains a sequence of body part identifiers leading to one of the following items:

BodyPartPathは、コントロールに関連付けられたタイプ構造です。BodyPartPathの構文は、セクション3.2.2で定義されています。パスには、次の項目のいずれかにつながるボディパーツ識別子のシーケンスが含まれています。

Identity Proof control if the RA verified the identity proof in this control.

ID RAがこのコントロールのID証明を確認した場合。

Identity Proof Version 2 control if the RA verified the identity proof in this control.

IDの証明バージョン2制御RAがこのコントロールのID証明を確認した場合。

Full PKI Request if the RA performed an out-of-band identity proof for this request. The request SHOULD NOT contain either Identity Proof control.

完全なPKI要求RAがこのリクエストに対してバンド外の身元証明を実行した場合。リクエストには、どちらの身元証明制御も含めてはなりません。

Simple PKI Request if the RA performed an out-of-band identity proof for this request.

RAがこのリクエストに対して帯域外の身元証明を実行した場合、単純なPKI要求。

The RA Identity Proof Witness control will frequently be associated with a Modify Certification Request control, which changes the name fields in the associated certification requests. This is because the

RA Identity Proof Witness Controlは、関連する認定リクエストコントロールの変更に関連付けられることがよくあり、関連する認定リクエストの名前フィールドが変更されます。これは、

RA knows the actual name to be assigned to the entity requesting the certificate, and the end-entity does not yet have the details of the name. (The association would be set up by the operator at the time the shared-secret was generated by the RA.)

RAは、証明書を要求するエンティティに割り当てられる実際の名前を知っていますが、エンディティにはまだ名前の詳細がありません。(協会は、共有秘密がRAによって生成された時点でオペレーターによって設定されます。)

When this control is placed in a message, it is RECOMMENDED that the Control Processed control be placed in the body sequence as well. Using the explicit new control, rather than implicitly relying on the Control Processed control is important due to the need to know explicitly which identity proofs have been performed. The new control also allows an RA to state that out-of-band identity proofs have been performed.

このコントロールがメッセージに配置される場合、コントロール処理コントロールもボディシーケンスに配置することをお勧めします。どの身分証明書が実行されたかを明示的に知る必要があるため、制御処理制御に暗黙的に依存するのではなく、明示的な新しいコントロールを使用することが重要です。また、新しいコントロールにより、RAは帯域外の身元証明が実行されていることを述べることができます。

When the identity proof is performed by an RA, the RA also MUST validate the linking between the identity proof and the name information wrapped inside of the key proof-of-possession.

IDの証明がRAによって実行される場合、RAは、IDプルーフと主要な証明の内部に包まれた名前情報との間のリンクを検証する必要があります。

2.6. New Section 6.21 - "Response Body Control"
2.6. 新しいセクション6.21-「応答ボディコントロール」

Insert this section.

このセクションを挿入します。

The Response Body Control is designed to enable an RA to inform an EE that there is an embedded response message that MUST be processed as part of the processing of this message. This control is designed to be used in a couple of different cases where an RA has done some additional processing for the certification request, e.g., as key generation. When an RA performs key generation on behalf of an EE, the RA MUST respond with both the original response message from the certificate issuer (containing the certificate issuance) as part of the response generated by the RA (containing the new key). Another case where this is useful is when the secret is shared between the RA and the EE (rather than between the CA and the EE) and the RA returns the Publish Trust Anchors control (to populate the correct trust points).

応答ボディコントロールは、RAがEEに、このメッセージの処理の一部として処理する必要がある埋め込み応答メッセージがあることをEEに通知できるように設計されています。このコントロールは、RAが認証要求のために追加の処理を行ったいくつかの異なるケースで使用されるように設計されています。たとえば、キー生成として。RAがEEに代わってキー生成を実行する場合、RAはRAによって生成された応答の一部として、証明書発行者(証明書発行を含む)からの元の応答メッセージ(新しいキーを含む)の両方で応答する必要があります。これが役立つ別のケースは、RAとEEの間で秘密が共有されている場合(CAとEEの間ではなく)、RAがパブリッシュトラストアンカーコントロール(正しい信頼ポイントを入力するため)を返します。

The relevant ASN.1 for the Response Body Control is as follows:

応答ボディコントロールの関連するASN.1は次のとおりです。

     cmc-responseBody CMC-CONTROL ::= {
        BodyPartPath IDENTIFIED BY id-cmc-responseBody
     }
        
     id-cmc-responseBody OBJECT IDENTIFIER ::= {id-cmc 37}
        

The above ASN.1 defines the following items:

上記のasn.1は次の項目を定義しています。

cmc-responseBody is a CMC-CONTROL associating the object identifier id-cmc-responseBody with the type BodyPartPath. This object is omitted from the 1988 module. The object is added to the object set Cmc-Control-Set. The control is permitted to appear only in the control sequence of a PKIResponse. The control MUST NOT appear in the control sequence of a PKIData. It is expected that only an intermediary RA will use this control; a CA generally does not need the control as it is creating the original innermost message.

CMC-ResponseBodyは、オブジェクト識別子ID-CMC-ResponseBodyをタイプBodyPartPathに関連付けるCMCコントロールです。このオブジェクトは、1988年モジュールから省略されています。オブジェクトは、オブジェクトセットCMCコントロールセットに追加されます。コントロールは、pkiresponseの制御シーケンスにのみ表示されることが許可されています。コントロールは、pkidataのコントロールシーケンスに表示されてはなりません。仲介RAのみがこのコントロールを使用することが期待されています。CAは一般に、元の最も内側のメッセージを作成しているため、コントロールを必要としません。

id-cmc-responseBody is the object identifier used to identify this CMC control.

ID-CMC-ResponseBodyは、このCMCコントロールを識別するために使用されるオブジェクト識別子です。

BodyPartPath is the type structure associated with the control. The syntax of BodyPartPath is defined in Section 3.2.2. The path contains a sequence of body part identifiers leading to a cmsSequence item which contains a PKIResponse within it.

BodyPartPathは、コントロールに関連付けられたタイプ構造です。BodyPartPathの構文は、セクション3.2.2で定義されています。パスには、その中にpkiresponseを含むcmsシーケンスアイテムにつながるボディパーツ識別子のシーケンスが含まれています。

2.7. New Section 7 - "Other Attributes"
2.7. 新しいセクション7-「その他の属性」

Insert this section before the current Section 7.

現在のセクション7の前にこのセクションを挿入します。

There are a number of different locations where various types of attributes can be placed in either a CMC request or a CMC response message. These places include the attribute sequence of a PKCS #10 request, controls in CRMF (Section 6 of [RFC4211]), and the various CMS attribute sequences.

さまざまな種類の属性をCMC要求またはCMC応答メッセージのいずれかに配置できるさまざまな場所があります。これらの場所には、PKCS#10リクエストの属性シーケンス、CRMFのコントロール([RFC4211]のセクション6)、およびさまざまなCMS属性シーケンスが含まれます。

2.8. New Section 7.1 - "Change Subject Name Attribute"
2.8. 新しいセクション7.1-「サブジェクト名属性の変更」

Insert this section.

このセクションを挿入します。

The Client Name Change Request attribute is designed for a client to ask for a change in its name as part of a certification request. Because of security issues, this cannot be done in the simple way of just changing the requested subject name in the certificate template. The name in the certification request MUST match the name in the certificate used to verify the request, in order that identity and possession proofs are correctly applied.

クライアント名の変更要求属性は、クライアントが認証要求の一部としてその名前の変更を要求するように設計されています。セキュリティの問題のため、これは証明書テンプレートで要求されたサブジェクト名を変更するだけの簡単な方法で実行することはできません。認証要求の名前は、身元と所有の証明が正しく適用されるために、リクエストを確認するために使用される証明書の名前と一致する必要があります。

The relevant ASN.1 for the Client Name Change Request attribute is as follows:

クライアント名変更要求属性の関連するasn.1は次のとおりです。

      at-cmc-changeSubjectName ATTRIBUTE ::=
         { ChangeSubjectName IDENTIFIED BY id-cmc-changeSubjectName }
        
      id-cmc-changeSubjectName OBJECT IDENTIFIER ::= {id-cmc 36}
        
      ChangeSubjectName ::= SEQUENCE {
          subject             Name OPTIONAL,
          subjectAlt          SubjectAltName OPTIONAL
      }
      (WITH COMPONENTS {..., subject PRESENT} |
            COMPONENTS {..., subjectAlt PRESENT} )
        

The attribute is designed to be used as an ATTRIBUTE object. As such, the attribute is placed in one of the following two places:

属性は、属性オブジェクトとして使用されるように設計されています。そのため、属性は次の2つの場所のいずれかに配置されます。

The attributes field in a CertificationRequest.

属性は、認定リケストのフィールドです。

The controls field of a CertRequest for a CRMF certification request.

CRMF認定リクエストのためのCertRequestのコントロールフィールド。

The control is identified by the Object Identifier id-cmc-changeSubjectName.

コントロールは、オブジェクト識別子ID-CMC-ChangesubjectNameによって識別されます。

The ASN.1 type associated with control is ChangeSubjectName. The fields of the structure are configured as follows:

コントロールに関連付けられているASN.1タイプは、変更サブジェクト名です。構造のフィールドは次のように構成されています。

subject contains the requested subject name for the new certificate.

件名には、新しい証明書の要求されたサブジェクト名が含まれています。

subjectAlt contains the requested subject alternative name for the new certificate.

SubjectAltには、新しい証明書の要求されたサブジェクトの代替名が含まれています。

At least one of the fields in the sequence MUST be present when encoding the structure.

構造をエンコードするときは、シーケンス内の少なくとも1つのフィールドが存在する必要があります。

When the CA processes this attribute in a certification request, it will do the following:

CAがこの属性を認証要求で処理すると、次のことが行われます。

1. If present, the subject field is copied to the name field of the template. If the subject field is absent, the name field of the template will be set to a empty sequence.

1. 存在する場合、サブジェクトフィールドはテンプレートの名前フィールドにコピーされます。サブジェクトフィールドがない場合、テンプレートの名前フィールドは空のシーケンスに設定されます。

2. If present, the subjectAlt field is used as the content of a SubjectAltName extension in the certificate. If the subjectAlt field is absent, the subjectAltName extension is removed from the certificate template.

2. 存在する場合、subjectaltフィールドは、証明書の主題拡張機能のコンテンツとして使用されます。subjectaltフィールドが存在しない場合、sumbessaltname拡張子は証明書テンプレートから削除されます。

2.9. New Section 9 - "Certificate Requirements"
2.9. 新しいセクション9-「証明書の要件」

Insert this section before the current Section 8.

現在のセクション8の前にこのセクションを挿入します。

Certificates for servers used in the CMC protocol SHOULD conform to the profile defined in [RFC5280]. This document defines some additional items that MAY appear in CMC server certificates. Section 9.1 defines some additional values for the Extended Key Usage extension. Section 9.2 defines a new Subject Information Access value that allows for a CMC certificate to publish information on how to contact the services it provides.

CMCプロトコルで使用されるサーバーの証明書は、[RFC5280]で定義されているプロファイルに準拠する必要があります。このドキュメントでは、CMCサーバー証明書に表示される可能性のある追加のアイテムを定義します。セクション9.1では、拡張されたキー使用量拡張機能のいくつかの追加値を定義します。セクション9.2では、CMC証明書が提供するサービスに連絡する方法に関する情報を公開できる新しいサブジェクト情報アクセス値を定義します。

2.10. New Section 9.1 - "Extended Key Usage"
2.10. 新しいセクション9.1-「拡張キー使用量」

Insert this section.

このセクションを挿入します。

The Extended Key Usage (EKU) extension is used to restrict the use of a certificate to specific applications. We define three different EKUs in this document. The ASN.1 to define these EKUs is:

拡張キー使用量(EKU)拡張機能は、特定のアプリケーションへの証明書の使用を制限するために使用されます。このドキュメントでは、3つの異なるEKUを定義します。これらのekusを定義するasn.1は次のとおりです。

      id-kp-cmcCA OBJECT IDENTIFIER ::= { id-kp 27 }
      id-kp-cmcRA OBJECT IDENTIFIER ::= { id-kp 28 }
      id-kp-cmcArchive OBJECT IDENTIFIER ::= { id-kp 29 }
        

The usage description for each of the EKUs is as follows:

それぞれのEKUの使用状況の説明は次のとおりです。

CMC Certification Authorities are identified by the id-kp-cmcCA extended key usage. The certificate may be the same as or different than the CA certificate. If a different certificate is used, the certificates containing the id-kp-cmcCA extended key usage SHOULD have the same name as the certificate used for issuing the certificates. (Using a separate key pair for CMC protocol operations and for issuing certificates and CRLs decreases the number of operations for which the private key used to sign certificates and CRLs would be used.)

CMC認定当局は、ID-KP-CMCCAが拡張された主要な使用法によって特定されています。証明書は、CA証明書と同じまたは異なる場合があります。別の証明書が使用される場合、ID-KP-CMCCA拡張キー使用量を含む証明書は、証明書の発行に使用される証明書と同じ名前を持つ必要があります。(CMCプロトコル操作と証明書とCRLの発行に個別のキーペアを使用して、証明書とCRLの署名に使用される秘密キーの操作の数を減らします。)

CMC Registration Authorities are identified by the id-kp-cmcRA extended key usage. This usage is placed into RA certificates.

CMC登録当局は、ID-KP-CMCRAが拡張された主要な使用法によって識別されます。この使用法はRA証明書に配置されます。

CMC Archive Servers are identified by the id-kp-cmcArchive extended key usage. CMC Archive Servers and the associated protocol are to be defined in a future document.

CMCアーカイブサーバーは、ID-KP-CMCarchiveの拡張キー使用量によって識別されます。CMCアーカイブサーバーと関連するプロトコルは、将来のドキュメントで定義されます。

2.11. New Section 9.2 - "Subject Information Access"
2.11. 新しいセクション9.2-「サブジェクト情報アクセス」

Insert this section.

このセクションを挿入します。

The subject information access extension indicates how to access information and services for the subject of the certificate. We define a new value for use in this extension, to identify the different locations that CMC services will be available. If this value is placed in a certificate, an appropriate extended key usage defined in Section 9.1 MUST be included in the certificate as well.

主題情報アクセス拡張機能は、証明書の主題の情報とサービスにアクセスする方法を示します。CMCサービスが利用可能になるさまざまな場所を特定するために、この拡張機能で使用する新しい値を定義します。この値が証明書に配置されている場合、セクション9.1で定義された適切な拡張キー使用量も証明書に含める必要があります。

The id-ad-cmc OID is used when the subject offers certification services using the CMC protocol. If the CMC services are available via HTTP or FTP, accessLocation MUST be a uniformResourceIdentifier. If the CMC services are available via electronic mail, accessLocation MUST be an rfc822Name. If CMC services are available using TCP/IP, the dNSName or iPAddress name forms MUST be used. Since the GeneralName data structure does not permit the inclusion of a port number, in the absence of other external configuration information, the value of 5318 should be used. (The port registration is in Section 3.2.) The semantics of other name forms of accessLocation (when accessMethod is id-ad-cmc) are not defined by this specification.

ID-AD-CMC OIDは、被験者がCMCプロトコルを使用して認定サービスを提供する場合に使用されます。CMCサービスがHTTPまたはFTPを介して利用可能である場合、AccessLocationはUniformResourceIdentidifierでなければなりません。CMCサービスが電子メールで利用可能である場合、AccessLocationはRFC822NAMEである必要があります。CMCサービスがTCP/IPを使用して利用可能である場合、DNSNAMEまたはiPaddress名フォームを使用する必要があります。一般名のデータ構造では、他の外部構成情報がない場合、ポート番号を含めることはできないため、5318の値を使用する必要があります。(ポート登録はセクション3.2にあります。)AccessLocationの他の名前フォームのセマンティクス(AccessMethodがID-AD-CMCの場合)は、この仕様では定義されていません。

The ASN.1 type for this extension is GeneralName (see Section 4.2.1.8 of [RFC5280]).

この拡張機能のASN.1タイプは一般名です([RFC5280]のセクション4.2.1.8を参照)。

   id-ad-cmc OBJECT IDENTIFIER ::= { id-ad 12 }
        
2.12. Update Section 8 - "Security Considerations"
2.12. セクション8の更新 - 「セキュリティ上の考慮事項」

Add the following paragraphs to the end of Section 8.

セクション8の最後に次の段落を追加します。

A number of controls such as the RA Identity Proof Witness control exist for an RA to either make assertions about or modify a certification request. Any upstream request processor, such as a CA, MUST verify that the RA is fully identified and authorized to make the assertion or modification it is claiming. If it is not identified or authorized, then any request MUST be rejected.

RAが認定リクエストについてアサーションを作成するか変更するか、RAが存在するRA Identity Proof Witness Controlなどの多くのコントロールが存在します。CAなどの上流のリクエストプロセッサは、RAが完全に識別され、主張しているアサーションまたは変更を行うことを許可されていることを確認する必要があります。特定または承認されていない場合は、リクエストを拒否する必要があります。

CMC servers, both RAs and CAs, need to perform due diligence in checking the contents of a certification request. At an absolute minimum, all fields should be checked to ensure that the policies of the CA/RA are correctly enforced. While all fields need to be checked, special care should be taken with names, name forms, algorithm choices, and algorithm parameters.

RASとCASの両方のCMCサーバーは、認証要求の内容をチェックする際にデューデリジェンスを実行する必要があります。絶対的な最小値では、すべてのフィールドをチェックして、CA/RAのポリシーが正しく施行されることを確認する必要があります。すべてのフィールドをチェックする必要がありますが、名前、名前フォーム、アルゴリズムの選択、およびアルゴリズムパラメーターで特別な注意を払う必要があります。

3. Updates to RFC 5273 - "Certificate Management over CMS (CMC): Transport Protocols"

3. RFC 5273への更新 - 「CMS(CMC)の証明書管理:輸送プロトコル」

3.1. Update Section 5 - "TCP-Based Protocol"
3.1. セクション5の更新 - 「TCPベースのプロトコル」

Replace paragraph 3 in Section 5 with the following.

セクション5のパラグラフ3を次のものに置き換えます。

CMC requires a registered port number to send and receive CMC messages over TCP. The title of this IP Protocol number is "pkix-cmc". The value of this TCP port is 5318.

CMCでは、TCPを介してCMCメッセージを送信および受信するために登録されたポート番号が必要です。このIPプロトコル番号のタイトルは「PKIX-CMC」です。このTCPポートの値は5318です。

Prior to this update, CMC did not have a registered port number and used an externally configured port from the Private Port range. Client implementations MAY want to continue to allow for this to occur. Servers SHOULD change to use the new port. It is expected that HTTP will continue to be the primary transport method used by CMC installations.

この更新の前に、CMCには登録ポート番号がなく、プライベートポート範囲から外部構成ポートを使用していました。クライアントの実装は、これが発生することを引き続き許可したい場合があります。サーバーは、新しいポートを使用するために変更する必要があります。HTTPは、CMCインストールで使用される主要な輸送方法であり続けることが期待されています。

3.2. New Section 6 - "IANA Considerations"
3.2. 新しいセクション6-「IANAの考慮事項」

Insert this new section before the current Section 6.

現在のセクション6の前にこの新しいセクションを挿入します。

IANA has assigned a TCP port number in the Registered Port Number range for the use of CMC.

IANAは、CMCを使用するために登録されたポート番号範囲にTCPポート番号を割り当てました。

   Service name: pkix-cmc
   Port Number: 5318
   Transport protocol: TCP
   Description: PKIX Certificate Management using CMS (CMC)
   Reference: RFC 6402
   Assignee: iesg@ietf.org
   Contact: chair@ietf.org
        

4. Updates to RFC 5274 - "Certificate Management Message over CMS (CMC): Compliance Requirements"

4. RFC 5274への更新 - 「CMS(CMC)を介した証明書管理メッセージ:コンプライアンス要件」

4.1. Update to Section 4.2 - "Controls"
4.1. セクション4.2の更新 - 「コントロール」

Add the following lines to the end of Table 1.

表1の最後に次の行を追加します。

The following table lists the name and level of support required for each control.

次の表には、各コントロールに必要なサポートの名前とレベルを示します。

             +---------------------------+-----+------+-----+
             | Control                   | EE  | RA   | CA  |
             +---------------------------+-----+------+-----+
             | RA Identity Proof Witness | N/A | MUST | (2) |
             |                           |     |      |     |
             | Response Body             | (6) | (6)  | N/A |
             +---------------------------+-----+------+-----+
        

Addition to Table 1: CMC Control Attributes

表1に追加:CMC制御属性

The following note should be added.

次のメモを追加する必要があります。

6. EE's SHOULD implement if designed to work with RAs and MUST implement if intended to be used in environments where RAs are used for identity validation or key generation. RAs SHOULD implement and validate responses for consistency.

6. EEは、RASで動作するように設計されている場合は実装する必要があり、RAがID検証またはキー生成に使用される環境で使用することを意図している場合は実装する必要があります。RASは、一貫性のために応答を実装および検証する必要があります。

5. IANA Considerations
5. IANAの考慮事項

This document contains a new IANA Considerations section to be added to [RFC5273] as part of this update.

このドキュメントには、この更新の一部として[RFC5273]に追加される新しいIANA考慮事項セクションが含まれています。

6. Security Considerations
6. セキュリティに関する考慮事項

No changes are made to the existing security considerations of RFC 5273 and RFC 5274. The security considerations for RFC 5272 have been slightly modified (Section 2.12).

RFC 5273およびRFC 5274の既存のセキュリティ上の考慮事項には変更が加えられません。RFC5272のセキュリティ上の考慮事項はわずかに変更されています(セクション2.12)。

7. References
7. 参考文献
7.1. Normative References
7.1. 引用文献

[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月。

[RFC5272] Schaad, J. and M. Myers, "Certificate Management over CMS (CMC)", RFC 5272, June 2008.

[RFC5272] Schaad、J。およびM. Myers、「CMS(CMC)の証明書管理」、RFC 5272、2008年6月。

[RFC5273] Schaad, J. and M. Myers, "Certificate Management over CMS (CMC): Transport Protocols", RFC 5273, June 2008.

[RFC5273] Schaad、J。およびM. Myers、「CMS上の証明書管理(CMC):輸送プロトコル」、RFC 5273、2008年6月。

[RFC5274] Schaad, J. and M. Myers, "Certificate Management Messages over CMS (CMC): Compliance Requirements", RFC 5274, June 2008.

[RFC5274] Schaad、J。およびM. Myers、「CMS上の証明書管理メッセージ(CMC):コンプライアンス要件」、RFC 5274、2008年6月。

[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R., and W. Polk, "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 5280, May 2008.

[RFC5280] Cooper、D.、Santesson、S.、Farrell、S.、Boeyen、S.、Housley、R.、およびW. Polk、 "Internet X.509公開キーインフラストラクチャ証明書および証明書失効リスト(CRL)プロファイル"、RFC 5280、2008年5月。

7.2. Informative References
7.2. 参考引用

[CMS] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70, RFC 5652, September 2009.

[CMS] Housley、R。、「暗号化メッセージ構文(CMS)」、STD 70、RFC 5652、2009年9月。

[RFC6403] Zieglar, L., Turner, S., and M. Peck, "Suite B Profile of Certificate Management over CMS", RFC 6403, November 2011.

[RFC6403] Zieglar、L.、Turner、S。、およびM. Peck、「CMS上の証明書管理のスイートBプロファイル」、RFC 6403、2011年11月。

[RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF)", RFC 4211, September 2005.

[RFC4211] Schaad、J。、「Internet X.509公開キーインフラストラクチャ証明書リクエストメッセージフォーマット(CRMF)」、RFC 4211、2005年9月。

[RFC5912] Hoffman, P. and J. Schaad, "New ASN.1 Modules for the Public Key Infrastructure Using X.509 (PKIX)", RFC 5912, June 2010.

[RFC5912] Hoffman、P。およびJ. Schaad、「X.509(PKIX)を使用した公開キーインフラストラクチャの新しいASN.1モジュール」、RFC 5912、2010年6月。

Appendix A. ASN.1 Modules
付録A. ASN.1モジュール
A.1. 1988 ASN.1 Module
A.1. 1988 ASN.1モジュール

This section contains the updated ASN.1 module for [RFC5272]. This module replaces the module in Appendix A of that document. Although a 2008 ASN.1 module is provided, this remains the normative module as per the policy of the PKIX working group.

このセクションには、[RFC5272]の更新されたASN.1モジュールが含まれています。このモジュールは、そのドキュメントの付録Aのモジュールを置き換えます。2008 ASN.1モジュールが提供されていますが、これはPKIXワーキンググループのポリシーに従って規範的なモジュールのままです。

   EnrollmentMessageSyntax-2011-v88
    { iso(1) identified-organization(3) dod(6) internet(1)
      security(5) mechanisms(5) pkix(7) id-mod(0)
      id-mod-enrollMsgSyntax-2011-88(76) }
        
   DEFINITIONS IMPLICIT TAGS ::=
   BEGIN
        
    -- EXPORTS All --
    -- The types and values defined in this module are exported for use
    -- in the other ASN.1 modules.  Other applications may use them for
    -- their own purposes.
        

IMPORTS

輸入

      -- PKIX Part 1 - Implicit    From [RFC5280]
         GeneralName, CRLReason, ReasonFlags, GeneralNames
         FROM PKIX1Implicit88 {iso(1) identified-organization(3) dod(6)
                 internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
                 id-pkix1-implicit(19)}
        
      -- PKIX Part 1 - Explicit    From [RFC5280]
         AlgorithmIdentifier, Extension, Name, CertificateSerialNumber,
         id-ad, id-kp
         FROM PKIX1Explicit88 {iso(1) identified-organization(3) dod(6)
                 internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
                 id-pkix1-explicit(18)}
        
      -- Cryptographic Message Syntax   FROM [CMS]
         ContentInfo, Attribute, IssuerAndSerialNumber
           FROM CryptographicMessageSyntax2004 { iso(1) member-body(2)
                us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
                modules(0) cms-2004(24)}
        
    -- CRMF                         FROM [RFC4211]
       CertReqMsg, PKIPublicationInfo, CertTemplate
       FROM PKIXCRMF-2005 {iso(1) identified-organization(3) dod(6)
              internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
              id-mod-crmf2005(36)};
        
      -- Global Types
         -- UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING
           -- The content of this type conforms to RFC 3629.
        
     id-pkix OBJECT IDENTIFIER  ::= { iso(1) identified-organization(3)
         dod(6) internet(1) security(5) mechanisms(5) pkix(7) }
        
    id-cmc OBJECT IDENTIFIER ::= {id-pkix 7}   -- CMC controls
    id-cct OBJECT IDENTIFIER ::= {id-pkix 12}  -- CMC content types
        

-- The following controls have the type OCTET STRING

- 次のコントロールには、タイプのオクテット文字列があります

    id-cmc-identityProof OBJECT IDENTIFIER ::= {id-cmc 3}
    id-cmc-dataReturn OBJECT IDENTIFIER ::= {id-cmc 4}
    id-cmc-regInfo OBJECT IDENTIFIER ::= {id-cmc 18}
    id-cmc-responseInfo OBJECT IDENTIFIER ::= {id-cmc 19}
    id-cmc-queryPending OBJECT IDENTIFIER ::= {id-cmc 21}
    id-cmc-popLinkRandom OBJECT IDENTIFIER ::= {id-cmc 22}
    id-cmc-popLinkWitness OBJECT IDENTIFIER ::= {id-cmc 23}
        

-- The following controls have the type UTF8String

- 次のコントロールには、UTF8STRINGのタイプがあります

    id-cmc-identification OBJECT IDENTIFIER ::= {id-cmc 2}
        

-- The following controls have the type INTEGER

- 次のコントロールには整数があります

    id-cmc-transactionId OBJECT IDENTIFIER ::= {id-cmc 5}
        

-- The following controls have the type OCTET STRING

- 次のコントロールには、タイプのオクテット文字列があります

    id-cmc-senderNonce OBJECT IDENTIFIER ::= {id-cmc 6}
    id-cmc-recipientNonce OBJECT IDENTIFIER ::= {id-cmc 7}
        
    -- This is the content type used for a request message
    --     in the protocol
        
    id-cct-PKIData OBJECT IDENTIFIER ::= { id-cct 2 }
        
    PKIData ::= SEQUENCE {
        controlSequence    SEQUENCE SIZE(0..MAX) OF TaggedAttribute,
        reqSequence        SEQUENCE SIZE(0..MAX) OF TaggedRequest,
        cmsSequence        SEQUENCE SIZE(0..MAX) OF TaggedContentInfo,
        otherMsgSequence   SEQUENCE SIZE(0..MAX) OF OtherMsg
    }
        
     bodyIdMax INTEGER ::= 4294967295
        
     BodyPartID ::= INTEGER(0..bodyIdMax)
        
    TaggedAttribute ::= SEQUENCE {
        bodyPartID         BodyPartID,
        attrType           OBJECT IDENTIFIER,
        attrValues         SET OF AttributeValue
    }
        
     AttributeValue ::= ANY
        
     TaggedRequest ::= CHOICE {
         tcr               [0] TaggedCertificationRequest,
         crm               [1] CertReqMsg,
         orm               [2] SEQUENCE {
             bodyPartID            BodyPartID,
             requestMessageType    OBJECT IDENTIFIER,
             requestMessageValue   ANY DEFINED BY requestMessageType
         }
     }
        
     TaggedCertificationRequest ::= SEQUENCE {
         bodyPartID            BodyPartID,
         certificationRequest  CertificationRequest
     }
        
     CertificationRequest ::= SEQUENCE {
       certificationRequestInfo  SEQUENCE {
         version                   INTEGER,
         subject                   Name,
         subjectPublicKeyInfo      SEQUENCE {
           algorithm                 AlgorithmIdentifier,
           subjectPublicKey          BIT STRING },
         attributes                [0] IMPLICIT SET OF Attribute },
       signatureAlgorithm        AlgorithmIdentifier,
       signature                 BIT STRING
     }
        
    TaggedContentInfo ::= SEQUENCE {
        bodyPartID              BodyPartID,
        contentInfo             ContentInfo
    }
        
    OtherMsg ::= SEQUENCE {
        bodyPartID        BodyPartID,
        otherMsgType      OBJECT IDENTIFIER,
        otherMsgValue     ANY DEFINED BY otherMsgType }
        
    --  This defines the response message in the protocol
    id-cct-PKIResponse OBJECT IDENTIFIER ::= { id-cct 3 }
        
    ResponseBody ::= PKIResponse
        
    PKIResponse ::= SEQUENCE {
        controlSequence   SEQUENCE SIZE(0..MAX) OF TaggedAttribute,
        cmsSequence       SEQUENCE SIZE(0..MAX) OF TaggedContentInfo,
        otherMsgSequence  SEQUENCE SIZE(0..MAX) OF OtherMsg
        

}

}

-- Used to return status state in a response

- 応答でステータス状態を返すために使用されます

    id-cmc-statusInfo OBJECT IDENTIFIER ::= {id-cmc 1}
        
    CMCStatusInfo ::= SEQUENCE {
        cMCStatus       CMCStatus,
        bodyList        SEQUENCE SIZE (1..MAX) OF BodyPartID,
        statusString    UTF8String OPTIONAL,
        otherInfo        CHOICE {
          failInfo         CMCFailInfo,
          pendInfo         PendInfo } OPTIONAL
    }
        
    PendInfo ::= SEQUENCE {
        pendToken        OCTET STRING,
        pendTime         GeneralizedTime
    }
        
    CMCStatus ::= INTEGER {
        success         (0),
        failed          (2),
        pending         (3),
        noSupport       (4),
        confirmRequired (5),
        popRequired     (6),
        partial                (7)
    }
        
    -- Note:
    -- The spelling of unsupportedExt is corrected in this version.
    -- In RFC 2797, it was unsuportedExt.
        
    CMCFailInfo ::= INTEGER {
        badAlg          (0),
        badMessageCheck (1),
        badRequest      (2),
        badTime         (3),
        badCertId       (4),
        unsupportedExt  (5),
        mustArchiveKeys (6),
        badIdentity     (7),
        popRequired     (8),
        popFailed       (9),
        noKeyReuse      (10),
        internalCAError (11),
        tryLater        (12),
        authDataFail    (13)
    }
        
    -- Used for RAs to add extensions to certification requests
    id-cmc-addExtensions OBJECT IDENTIFIER ::= {id-cmc 8}
        
    AddExtensions ::= SEQUENCE {
        pkiDataReference    BodyPartID,
        certReferences      SEQUENCE OF BodyPartID,
        extensions          SEQUENCE OF Extension
    }
        
    id-cmc-encryptedPOP OBJECT IDENTIFIER ::= {id-cmc 9}
    id-cmc-decryptedPOP OBJECT IDENTIFIER ::= {id-cmc 10}
        
    EncryptedPOP ::= SEQUENCE {
        request       TaggedRequest,
        cms             ContentInfo,
        thePOPAlgID     AlgorithmIdentifier,
        witnessAlgID    AlgorithmIdentifier,
        witness         OCTET STRING
    }
        
    DecryptedPOP ::= SEQUENCE {
        bodyPartID      BodyPartID,
        thePOPAlgID     AlgorithmIdentifier,
        thePOP          OCTET STRING
    }
        
     id-cmc-lraPOPWitness OBJECT IDENTIFIER ::= {id-cmc 11}
        
     LraPopWitness ::= SEQUENCE {
         pkiDataBodyid   BodyPartID,
         bodyIds         SEQUENCE OF BodyPartID
     }
        
    --
    id-cmc-getCert OBJECT IDENTIFIER ::= {id-cmc 15}
        
    GetCert ::= SEQUENCE {
        issuerName      GeneralName,
        serialNumber    INTEGER }
        
    id-cmc-getCRL OBJECT IDENTIFIER ::= {id-cmc 16}
        
    GetCRL ::= SEQUENCE {
        issuerName    Name,
        cRLName       GeneralName OPTIONAL,
        time          GeneralizedTime OPTIONAL,
        reasons       ReasonFlags OPTIONAL }
        
    id-cmc-revokeRequest OBJECT IDENTIFIER ::= {id-cmc 17}
        
    RevokeRequest ::= SEQUENCE {
        issuerName            Name,
        serialNumber          INTEGER,
        reason                CRLReason,
        invalidityDate        GeneralizedTime OPTIONAL,
        passphrase            OCTET STRING OPTIONAL,
        comment               UTF8String OPTIONAL }
        
    id-cmc-confirmCertAcceptance OBJECT IDENTIFIER ::= {id-cmc 24}
        
    CMCCertId ::= IssuerAndSerialNumber
        
    -- The following is used to request V3 extensions be added to a
    -- certificate
        
    id-ExtensionReq OBJECT IDENTIFIER ::= {iso(1) member-body(2)
         us(840) rsadsi(113549) pkcs(1) pkcs-9(9) 14}
        
    ExtensionReq ::= SEQUENCE SIZE (1..MAX) OF Extension
        
    -- The following exists to allow Diffie-Hellman Certification
    -- Request Messages to be well-formed
        
    id-alg-noSignature OBJECT IDENTIFIER ::= {id-pkix id-alg(6) 2}
        
    NoSignatureValue ::= OCTET STRING
        
    --  Unauthenticated attribute to carry removable data.
    --    This could be used in an update of "CMC Extensions: Server
    --    Side Key Generation and Key Escrow" (February 2005) and in
    --    other documents.
        
    id-aa OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
          rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2)}
    id-aa-cmc-unsignedData OBJECT IDENTIFIER ::= {id-aa 34}
        
    CMCUnsignedData ::= SEQUENCE {
        bodyPartPath        BodyPartPath,
        identifier          OBJECT IDENTIFIER,
        content             ANY DEFINED BY identifier
    }
        

-- Replaces CMC Status Info --

-CMCステータス情報を置き換える -

    id-cmc-statusInfoV2 OBJECT IDENTIFIER ::= {id-cmc 25}
        
    CMCStatusInfoV2 ::= SEQUENCE {
       cMCStatus             CMCStatus,
       bodyList              SEQUENCE SIZE (1..MAX) OF
                                      BodyPartReference,
       statusString          UTF8String OPTIONAL,
       otherInfo             CHOICE {
         failInfo               CMCFailInfo,
         pendInfo               PendInfo,
         extendedFailInfo       SEQUENCE {
            failInfoOID            OBJECT IDENTIFIER,
            failInfoValue          AttributeValue
         }
       } OPTIONAL
    }
        
    BodyPartReference ::= CHOICE {
       bodyPartID           BodyPartID,
       bodyPartPath         BodyPartPath
    }
        
    BodyPartPath ::= SEQUENCE SIZE (1..MAX) OF BodyPartID
        

-- Allow for distribution of trust anchors --

- 信頼アンカーの配布を許可 -

    id-cmc-trustedAnchors OBJECT IDENTIFIER ::= {id-cmc 26}
        
    PublishTrustAnchors ::= SEQUENCE {
        seqNumber      INTEGER,
        hashAlgorithm  AlgorithmIdentifier,
        anchorHashes     SEQUENCE OF OCTET STRING
    }
        
    id-cmc-authData OBJECT IDENTIFIER ::= {id-cmc 27}
        
    AuthPublish ::= BodyPartID
        
    --   These two items use BodyPartList
    id-cmc-batchRequests OBJECT IDENTIFIER ::= {id-cmc 28}
    id-cmc-batchResponses OBJECT IDENTIFIER ::= {id-cmc 29}
        
    BodyPartList ::= SEQUENCE SIZE (1..MAX) OF BodyPartID
        
    --
    id-cmc-publishCert OBJECT IDENTIFIER ::= {id-cmc 30}
        
    CMCPublicationInfo ::= SEQUENCE {
        hashAlg                      AlgorithmIdentifier,
        certHashes                   SEQUENCE OF OCTET STRING,
        pubInfo                          PKIPublicationInfo
    }
        
    id-cmc-modCertTemplate OBJECT IDENTIFIER ::= {id-cmc 31}
        
    ModCertTemplate ::= SEQUENCE {
        pkiDataReference             BodyPartPath,
        certReferences               BodyPartList,
        replace                      BOOLEAN DEFAULT TRUE,
        certTemplate                 CertTemplate
    }
        
    -- Inform follow-on servers that one or more controls have already
    -- been processed
        
    id-cmc-controlProcessed OBJECT IDENTIFIER ::= {id-cmc 32}
        
    ControlsProcessed ::= SEQUENCE {
        bodyList        SEQUENCE SIZE(1..MAX) OF BodyPartReference
    }
        

-- Identity Proof control w/ algorithm agility

- アルゴリズムの俊敏性を備えたアイデンティティ証明制御

    id-cmc-identityProofV2 OBJECT IDENTIFIER ::= { id-cmc 34 }
        
    IdentifyProofV2 ::= SEQUENCE {
        proofAlgID       AlgorithmIdentifier,
        macAlgId         AlgorithmIdentifier,
        witness          OCTET STRING
    }
        
    id-cmc-popLinkWitnessV2 OBJECT IDENTIFIER ::= { id-cmc 33 }
    PopLinkWitnessV2 ::= SEQUENCE {
        keyGenAlgorithm   AlgorithmIdentifier,
        macAlgorithm      AlgorithmIdentifier,
        witness           OCTET STRING
    }
        

--

-

    id-cmc-raIdentityWitness OBJECT IDENTIFIER ::= {id-cmc 35}
        
    --
    --  Allow for an End-Entity to request a change in name.
    --  This item is added to RegControlSet in CRMF.
    --
        
    id-cmc-changeSubjectName OBJECT IDENTIFIER ::= {id-cmc 36}
        
    ChangeSubjectName ::= SEQUENCE {
        subject             Name OPTIONAL,
        subjectAlt          GeneralNames OPTIONAL
    }
    -- (WITH COMPONENTS {..., subject PRESENT} |
    --  WITH COMPONENTS {..., subjectAlt PRESENT} )
        

-- -- Embedded response from a third party for processing --

---処理のための第三者からの埋め込み回答 -

    id-cmc-responseBody OBJECT IDENTIFIER ::= {id-cmc 37}
        

-- -- Key purpose identifiers are in the Extended Key Usage extension --

---主要な目的識別子は、拡張された主要な使用拡張機能にあります -

    id-kp-cmcCA OBJECT IDENTIFIER ::= { id-kp 27 }
    id-kp-cmcRA OBJECT IDENTIFIER ::= { id-kp 28 }
    id-kp-cmcArchive OBJECT IDENTIFIER ::= { id-kp 28 }
        

-- -- Subject Information Access identifier --

---サブジェクト情報アクセス識別子 -

    id-ad-cmc OBJECT IDENTIFIER ::= { id-ad 12 }
        

END

終わり

A.2. 2008 ASN.1 Module
A.2. 2008 ASN.1モジュール

An updated 2008 ASN.1 module has been provided as part of this update. The module contains those changes that were done to update the current ASN.1 standards (done for [RFC5912]) as well as changes made for this document.

このアップデートの一部として、更新された2008 ASN.1モジュールが提供されています。モジュールには、現在のASN.1標準([RFC5912]に対して行われた)を更新するために行われた変更と、このドキュメントの変更が含まれています。

EnrollmentMessageSyntax-2011-v08
    {iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) id-mod(0)
    id-mod-enrollMsgSyntax-2011-08(76)}
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
  EXPORTS ALL;
  IMPORTS
        
  AttributeSet{}, Extension{}, EXTENSION, ATTRIBUTE
  FROM PKIX-CommonTypes-2009
      {iso(1) identified-organization(3) dod(6) internet(1) security(5)
      mechanisms(5) pkix(7) id-mod(0) id-mod-pkixCommon-02(57)}
        
  AlgorithmIdentifier{}, DIGEST-ALGORITHM, KEY-WRAP, KEY-DERIVATION,
      MAC-ALGORITHM, SIGNATURE-ALGORITHM, PUBLIC-KEY
  FROM AlgorithmInformation-2009
      {iso(1) identified-organization(3) dod(6) internet(1) security(5)
      mechanisms(5) pkix(7) id-mod(0)
      id-mod-algorithmInformation-02(58)}
        
  CertificateSerialNumber, GeneralName, CRLReason, ReasonFlags,
      CertExtensions, GeneralNames
  FROM PKIX1Implicit-2009
      {iso(1) identified-organization(3) dod(6) internet(1) security(5)
      mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-implicit-02(59)}
        
  Name, id-pkix, PublicKeyAlgorithms, SignatureAlgorithms, id-ad, id-kp
  FROM PKIX1Explicit-2009
      {iso(1) identified-organization(3) dod(6) internet(1) security(5)
      mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-explicit-02(51)}
        
  ContentInfo, IssuerAndSerialNumber, CONTENT-TYPE
  FROM CryptographicMessageSyntax-2010
    { iso(1) member-body(2) us(840) rsadsi(113549)
       pkcs(1) pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) }
        
  CertReqMsg, PKIPublicationInfo, CertTemplate
  FROM PKIXCRMF-2009
      {iso(1) identified-organization(3) dod(6) internet(1) security(5)
      mechanisms(5) pkix(7) id-mod(0) id-mod-crmf2005-02(55)}
        
  mda-sha1
  FROM PKIXAlgs-2009
       { iso(1) identified-organization(3) dod(6)
       internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
       id-mod-pkix1-algorithms2008-02(56)}
        
  kda-PBKDF2, maca-hMAC-SHA1
  FROM CryptographicMessageSyntaxAlgorithms-2009
      { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
      smime(16) modules(0) id-mod-cmsalg-2001-02(37) }
        
  mda-sha256
  FROM PKIX1-PSS-OAEP-Algorithms-2009
       { iso(1) identified-organization(3) dod(6)
         internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
         id-mod-pkix1-rsa-pkalgs-02(54) } ;
        

-- CMS content types defined in this document

- このドキュメントで定義されているCMSコンテンツタイプ

  CMC-ContentTypes CONTENT-TYPE ::= { ct-PKIData | ct-PKIResponse, ... }
        

-- Signature Algorithms defined in this document

- このドキュメントで定義されている署名アルゴリズム

  SignatureAlgs SIGNATURE-ALGORITHM ::= { sa-noSignature }
        

-- CMS Unsigned Attributes

-CMS unsigned属性

  CMC-UnsignedAtts ATTRIBUTE ::= { aa-cmc-unsignedData }
        

-- --

---

  id-cmc OBJECT IDENTIFIER ::= {id-pkix 7}   -- CMC controls
  id-cct OBJECT IDENTIFIER ::= {id-pkix 12}  -- CMC content types
        

-- This is the content type for a request message in the protocol

- これはプロトコル内のリクエストメッセージのコンテンツタイプです

  ct-PKIData CONTENT-TYPE ::=
      { TYPE PKIData IDENTIFIED BY id-cct-PKIData }
  id-cct-PKIData OBJECT IDENTIFIER ::= { id-cct 2 }
        
  PKIData ::= SEQUENCE {
      controlSequence    SEQUENCE SIZE(0..MAX) OF TaggedAttribute,
      reqSequence        SEQUENCE SIZE(0..MAX) OF TaggedRequest,
      cmsSequence        SEQUENCE SIZE(0..MAX) OF TaggedContentInfo,
      otherMsgSequence   SEQUENCE SIZE(0..MAX) OF OtherMsg
  }
        
  BodyPartID ::= INTEGER(0..4294967295)
        
  TaggedAttribute ::= SEQUENCE {
      bodyPartID         BodyPartID,
      attrType           CMC-CONTROL.&id({Cmc-Control-Set}),
      attrValues         SET OF CMC-CONTROL.
                             &Type({Cmc-Control-Set}{@attrType})
  }
        
  Cmc-Control-Set CMC-CONTROL ::= {
      cmc-identityProof | cmc-dataReturn | cmc-regInfo |
      cmc-responseInfo | cmc-queryPending | cmc-popLinkRandom |
      cmc-popLinkWitness | cmc-identification | cmc-transactionId |
      cmc-senderNonce | cmc-recipientNonce | cmc-statusInfo |
      cmc-addExtensions | cmc-encryptedPOP | cmc-decryptedPOP |
      cmc-lraPOPWitness | cmc-getCert | cmc-getCRL |
      cmc-revokeRequest | cmc-confirmCertAcceptance |
      cmc-statusInfoV2 | cmc-trustedAnchors | cmc-authData |
      cmc-batchRequests | cmc-batchResponses | cmc-publishCert |
      cmc-modCertTemplate | cmc-controlProcessed |
      cmc-identityProofV2 | cmc-popLinkWitnessV2, ...,
      cmc-raIdentityWitness | cmc-responseBody }
        
  OTHER-REQUEST ::= TYPE-IDENTIFIER
        
  --  We do not define any other requests in this document.
  --     Examples might be attribute certification requests.
        
  OtherRequests OTHER-REQUEST ::= {...}
        
  TaggedRequest ::= CHOICE {
      tcr               [0] TaggedCertificationRequest,
      crm               [1] CertReqMsg,
      orm               [2] SEQUENCE {
          bodyPartID            BodyPartID,
          requestMessageType    OTHER-REQUEST.&id({OtherRequests}),
          requestMessageValue   OTHER-REQUEST.&Type({OtherRequests}
                                    {@.requestMessageType})
      }
  }
        
  TaggedCertificationRequest ::= SEQUENCE {
      bodyPartID            BodyPartID,
      certificationRequest  CertificationRequest
  }
        
  AttributeList ATTRIBUTE ::= {at-extension-req, ...,
      at-cmc-changeSubjectName}
        
  CertificationRequest ::= SEQUENCE {
     certificationRequestInfo  SEQUENCE {
         version                   INTEGER,
         subject                   Name,
         subjectPublicKeyInfo      SEQUENCE {
             algorithm                 AlgorithmIdentifier{PUBLIC-KEY,
                                           {PublicKeyAlgorithms}},
             subjectPublicKey          BIT STRING
         },
         attributes                [0] IMPLICIT SET OF
                                       AttributeSet{{AttributeList}}
      },
      signatureAlgorithm        AlgorithmIdentifier
                                    {SIGNATURE-ALGORITHM,
                                        {SignatureAlgorithms}},
      signature                 BIT STRING
  }
        
  TaggedContentInfo ::= SEQUENCE {
      bodyPartID              BodyPartID,
      contentInfo             ContentInfo
  }
        
  OTHER-MSG ::= TYPE-IDENTIFIER
        

-- No other messages currently defined

- 現在定義されている他のメッセージはありません

  OtherMsgSet OTHER-MSG ::= {...}
        
  OtherMsg ::= SEQUENCE {
      bodyPartID        BodyPartID,
      otherMsgType      OTHER-MSG.&id({OtherMsgSet}),
      otherMsgValue     OTHER-MSG.&Type({OtherMsgSet}{@otherMsgType}) }
        

-- This defines the response message in the protocol

- これは、プロトコル内の応答メッセージを定義します

  ct-PKIResponse CONTENT-TYPE ::=
      { TYPE PKIResponse IDENTIFIED BY id-cct-PKIResponse }
  id-cct-PKIResponse OBJECT IDENTIFIER ::= { id-cct 3 }
        
  ResponseBody ::= PKIResponse
        
  PKIResponse ::= SEQUENCE {
      controlSequence   SEQUENCE SIZE(0..MAX) OF TaggedAttribute,
      cmsSequence       SEQUENCE SIZE(0..MAX) OF TaggedContentInfo,
      otherMsgSequence  SEQUENCE SIZE(0..MAX) OF OtherMsg
  }
        
  CMC-CONTROL ::= TYPE-IDENTIFIER
        

-- The following controls have the type OCTET STRING

- 次のコントロールには、タイプのオクテット文字列があります

  cmc-identityProof CMC-CONTROL ::=
      { OCTET STRING IDENTIFIED BY id-cmc-identityProof }
  id-cmc-identityProof OBJECT IDENTIFIER ::= {id-cmc 3}
        
  cmc-dataReturn CMC-CONTROL ::=
      { OCTET STRING IDENTIFIED BY id-cmc-dataReturn }
  id-cmc-dataReturn OBJECT IDENTIFIER ::= {id-cmc 4}
        
  cmc-regInfo CMC-CONTROL ::=
      { OCTET STRING IDENTIFIED BY id-cmc-regInfo }
  id-cmc-regInfo OBJECT IDENTIFIER ::= {id-cmc 18}
        
  cmc-responseInfo CMC-CONTROL ::=
      { OCTET STRING IDENTIFIED BY id-cmc-responseInfo }
  id-cmc-responseInfo OBJECT IDENTIFIER ::= {id-cmc 19}
        
  cmc-queryPending CMC-CONTROL ::=
      { OCTET STRING IDENTIFIED BY id-cmc-queryPending }
  id-cmc-queryPending OBJECT IDENTIFIER ::= {id-cmc 21}
        
  cmc-popLinkRandom CMC-CONTROL ::=
      { OCTET STRING IDENTIFIED BY id-cmc-popLinkRandom }
  id-cmc-popLinkRandom OBJECT IDENTIFIER ::= {id-cmc 22}
        
  cmc-popLinkWitness CMC-CONTROL ::=
      { OCTET STRING IDENTIFIED BY id-cmc-popLinkWitness }
  id-cmc-popLinkWitness OBJECT IDENTIFIER ::= {id-cmc 23}
        

-- The following controls have the type UTF8String

- 次のコントロールには、UTF8STRINGのタイプがあります

  cmc-identification CMC-CONTROL ::=
      { UTF8String IDENTIFIED BY id-cmc-identification }
  id-cmc-identification OBJECT IDENTIFIER ::= {id-cmc 2}
        

-- The following controls have the type INTEGER

- 次のコントロールには整数があります

  cmc-transactionId CMC-CONTROL ::=
      { INTEGER IDENTIFIED BY id-cmc-transactionId }
  id-cmc-transactionId OBJECT IDENTIFIER ::= {id-cmc 5}
        

-- The following controls have the type OCTET STRING

- 次のコントロールには、タイプのオクテット文字列があります

  cmc-senderNonce CMC-CONTROL ::=
      { OCTET STRING IDENTIFIED BY id-cmc-senderNonce }
  id-cmc-senderNonce OBJECT IDENTIFIER ::= {id-cmc 6}
        
  cmc-recipientNonce CMC-CONTROL ::=
      { OCTET STRING IDENTIFIED BY id-cmc-recipientNonce }
        
  id-cmc-recipientNonce OBJECT IDENTIFIER ::= {id-cmc 7}
        

-- Used to return status in a response

- 応答でステータスを返すために使用されます

  cmc-statusInfo CMC-CONTROL ::=
      { CMCStatusInfo IDENTIFIED BY id-cmc-statusInfo }
  id-cmc-statusInfo OBJECT IDENTIFIER ::= {id-cmc 1}
        
  CMCStatusInfo ::= SEQUENCE {
      cMCStatus       CMCStatus,
      bodyList        SEQUENCE SIZE (1..MAX) OF BodyPartID,
      statusString    UTF8String OPTIONAL,
      otherInfo       CHOICE {
         failInfo         CMCFailInfo,
         pendInfo         PendInfo
      } OPTIONAL
  }
        
  PendInfo ::= SEQUENCE {
      pendToken        OCTET STRING,
      pendTime         GeneralizedTime
  }
        
  CMCStatus ::= INTEGER {
      success         (0),
      failed          (2),
      pending         (3),
      noSupport       (4),
      confirmRequired (5),
      popRequired     (6),
      partial         (7)
  }
        
  CMCFailInfo ::= INTEGER {
      badAlg          (0),
      badMessageCheck (1),
      badRequest      (2),
      badTime         (3),
      badCertId       (4),
      unsuportedExt   (5),
      mustArchiveKeys (6),
      badIdentity     (7),
      popRequired     (8),
      popFailed       (9),
      noKeyReuse      (10),
      internalCAError (11),
      tryLater        (12),
      authDataFail    (13)
  }
        

-- Used for RAs to add extensions to certification requests

-RASが認証要求に拡張機能を追加するために使用される

  cmc-addExtensions CMC-CONTROL ::=
      { AddExtensions IDENTIFIED BY id-cmc-addExtensions }
  id-cmc-addExtensions OBJECT IDENTIFIER ::= {id-cmc 8}
        
  AddExtensions ::= SEQUENCE {
      pkiDataReference    BodyPartID,
      certReferences      SEQUENCE OF BodyPartID,
      extensions          SEQUENCE OF Extension{{CertExtensions}}
  }
        
  cmc-encryptedPOP CMC-CONTROL ::=
      { EncryptedPOP IDENTIFIED BY id-cmc-encryptedPOP }
  cmc-decryptedPOP CMC-CONTROL ::=
      { DecryptedPOP IDENTIFIED BY id-cmc-decryptedPOP }
  id-cmc-encryptedPOP OBJECT IDENTIFIER ::= {id-cmc 9}
  id-cmc-decryptedPOP OBJECT IDENTIFIER ::= {id-cmc 10}
        
  EncryptedPOP ::= SEQUENCE {
      request       TaggedRequest,
      cms             ContentInfo,
      thePOPAlgID     AlgorithmIdentifier{MAC-ALGORITHM, {POPAlgs}},
      witnessAlgID    AlgorithmIdentifier{DIGEST-ALGORITHM,
                          {WitnessAlgs}},
      witness         OCTET STRING
  }
        
  POPAlgs MAC-ALGORITHM ::= {maca-hMAC-SHA1, ...}
  WitnessAlgs DIGEST-ALGORITHM ::= {mda-sha1, ...}
        
  DecryptedPOP ::= SEQUENCE {
      bodyPartID      BodyPartID,
      thePOPAlgID     AlgorithmIdentifier{MAC-ALGORITHM, {POPAlgs}},
      thePOP          OCTET STRING
  }
        
  cmc-lraPOPWitness CMC-CONTROL ::=
      { LraPopWitness IDENTIFIED BY id-cmc-lraPOPWitness }
        
  id-cmc-lraPOPWitness OBJECT IDENTIFIER ::= {id-cmc 11}
        
  LraPopWitness ::= SEQUENCE {
      pkiDataBodyid   BodyPartID,
      bodyIds         SEQUENCE OF BodyPartID
  }
        

--

-

  cmc-getCert CMC-CONTROL ::=
      { GetCert IDENTIFIED BY id-cmc-getCert }
  id-cmc-getCert OBJECT IDENTIFIER ::= {id-cmc 15}
        
  GetCert ::= SEQUENCE {
      issuerName      GeneralName,
      serialNumber    INTEGER }
        
  cmc-getCRL CMC-CONTROL ::=
      { GetCRL IDENTIFIED BY id-cmc-getCRL }
  id-cmc-getCRL OBJECT IDENTIFIER ::= {id-cmc 16}
        
  GetCRL ::= SEQUENCE {
      issuerName    Name,
      cRLName       GeneralName OPTIONAL,
      time          GeneralizedTime OPTIONAL,
      reasons       ReasonFlags OPTIONAL }
        
  cmc-revokeRequest CMC-CONTROL ::=
      { RevokeRequest IDENTIFIED BY id-cmc-revokeRequest}
  id-cmc-revokeRequest OBJECT IDENTIFIER ::= {id-cmc 17}
        
  RevokeRequest ::= SEQUENCE {
      issuerName            Name,
      serialNumber          INTEGER,
      reason                CRLReason,
      invalidityDate         GeneralizedTime OPTIONAL,
      passphrase            OCTET STRING OPTIONAL,
      comment               UTF8String OPTIONAL }
        
  cmc-confirmCertAcceptance CMC-CONTROL ::=
      { CMCCertId IDENTIFIED BY id-cmc-confirmCertAcceptance }
  id-cmc-confirmCertAcceptance OBJECT IDENTIFIER ::= {id-cmc 24}
        
  CMCCertId ::= IssuerAndSerialNumber
        
  -- The following is used to request V3 extensions be added
  --     to a certificate
        
  at-extension-req ATTRIBUTE ::=
      { TYPE ExtensionReq IDENTIFIED BY id-ExtensionReq }
  id-ExtensionReq OBJECT IDENTIFIER ::= {iso(1) member-body(2) us(840)
      rsadsi(113549) pkcs(1) pkcs-9(9) 14}
        
  ExtensionReq ::= SEQUENCE SIZE (1..MAX) OF
      Extension{{CertExtensions}}
        
  -- The following allows Diffie-Hellman Certification Request
  --     Messages to be well-formed
        
  sa-noSignature SIGNATURE-ALGORITHM ::= {
      IDENTIFIER id-alg-noSignature
      VALUE NoSignatureValue
      PARAMS TYPE NULL ARE required
      HASHES { mda-sha1 }
  }
  id-alg-noSignature OBJECT IDENTIFIER ::= {id-pkix id-alg(6) 2}
        
  NoSignatureValue ::= OCTET STRING
        

-- Unauthenticated attribute to carry removable data.

-Removableデータを携帯するための認証されていない属性。

  id-aa OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
      rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2)}
        
  aa-cmc-unsignedData ATTRIBUTE ::=
      { TYPE CMCUnsignedData IDENTIFIED BY id-aa-cmc-unsignedData }
  id-aa-cmc-unsignedData OBJECT IDENTIFIER ::= {id-aa 34}
        
  CMCUnsignedData ::= SEQUENCE {
      bodyPartPath        BodyPartPath,
      identifier          TYPE-IDENTIFIER.&id,
      content             TYPE-IDENTIFIER.&Type
  }
        

-- Replaces CMC Status Info --

-CMCステータス情報を置き換える -

  cmc-statusInfoV2 CMC-CONTROL ::=
      { CMCStatusInfoV2 IDENTIFIED BY id-cmc-statusInfoV2 }
  id-cmc-statusInfoV2 OBJECT IDENTIFIER ::= {id-cmc 25}
        
  EXTENDED-FAILURE-INFO ::= TYPE-IDENTIFIER
        
  ExtendedFailures EXTENDED-FAILURE-INFO ::= {...}
        
  CMCStatusInfoV2 ::= SEQUENCE {
     cMCStatus             CMCStatus,
     bodyList              SEQUENCE SIZE (1..MAX) OF
                                    BodyPartReference,
     statusString          UTF8String OPTIONAL,
     otherInfo             CHOICE {
         failInfo               CMCFailInfo,
         pendInfo               PendInfo,
         extendedFailInfo       [1] SEQUENCE {
            failInfoOID            TYPE-IDENTIFIER.&id
                                       ({ExtendedFailures}),
            failInfoValue          TYPE-IDENTIFIER.&Type
                                       ({ExtendedFailures}
                                           {@.failInfoOID})
         }
      } OPTIONAL
  }
        
  BodyPartReference ::= CHOICE {
     bodyPartID           BodyPartID,
     bodyPartPath         BodyPartPath
  }
        
  BodyPartPath ::= SEQUENCE SIZE (1..MAX) OF BodyPartID
        

-- Allow for distribution of trust anchors --

- 信頼アンカーの配布を許可 -

  cmc-trustedAnchors CMC-CONTROL ::=
      { PublishTrustAnchors IDENTIFIED BY id-cmc-trustedAnchors }
  id-cmc-trustedAnchors OBJECT IDENTIFIER ::= {id-cmc 26}
        
  PublishTrustAnchors ::= SEQUENCE {
      seqNumber      INTEGER,
      hashAlgorithm  AlgorithmIdentifier{DIGEST-ALGORITHM,
                         {HashAlgorithms}},
      anchorHashes   SEQUENCE OF OCTET STRING
  }
        
  HashAlgorithms DIGEST-ALGORITHM ::= {
     mda-sha1 | mda-sha256, ...
  }
        
  cmc-authData CMC-CONTROL ::=
      { AuthPublish IDENTIFIED BY id-cmc-authData }
  id-cmc-authData OBJECT IDENTIFIER ::= {id-cmc 27}
        
  AuthPublish ::= BodyPartID
        

-- These two items use BodyPartList

- これらの2つのアイテムは、BodyPartListを使用します

  cmc-batchRequests CMC-CONTROL ::=
      { BodyPartList IDENTIFIED BY id-cmc-batchRequests }
        
  id-cmc-batchRequests OBJECT IDENTIFIER ::= {id-cmc 28}
        
  cmc-batchResponses CMC-CONTROL ::=
      { BodyPartList IDENTIFIED BY id-cmc-batchResponses }
  id-cmc-batchResponses OBJECT IDENTIFIER ::= {id-cmc 29}
        
  BodyPartList ::= SEQUENCE SIZE (1..MAX) OF BodyPartID
        
  cmc-publishCert CMC-CONTROL ::=
      { CMCPublicationInfo IDENTIFIED BY id-cmc-publishCert }
  id-cmc-publishCert OBJECT IDENTIFIER ::= {id-cmc 30}
        
  CMCPublicationInfo ::= SEQUENCE {
      hashAlg        AlgorithmIdentifier{DIGEST-ALGORITHM,
                           {HashAlgorithms}},
      certHashes     SEQUENCE OF OCTET STRING,
      pubInfo        PKIPublicationInfo
  }
        
  cmc-modCertTemplate CMC-CONTROL ::=
      { ModCertTemplate IDENTIFIED BY id-cmc-modCertTemplate }
        
  id-cmc-modCertTemplate OBJECT IDENTIFIER ::= {id-cmc 31}
        
  ModCertTemplate ::= SEQUENCE {
      pkiDataReference             BodyPartPath,
      certReferences               BodyPartList,
      replace                      BOOLEAN DEFAULT TRUE,
      certTemplate                 CertTemplate
  }
        
  -- Inform follow-on servers that one or more controls have
  --     already been processed
        
  cmc-controlProcessed CMC-CONTROL ::=
      { ControlsProcessed IDENTIFIED BY id-cmc-controlProcessed }
  id-cmc-controlProcessed OBJECT IDENTIFIER ::= {id-cmc 32}
        
  ControlsProcessed ::= SEQUENCE {
      bodyList              SEQUENCE SIZE(1..MAX) OF BodyPartReference
  }
        

-- Identity Proof control w/ algorithm agility

- アルゴリズムの俊敏性を備えたアイデンティティ証明制御

  cmc-identityProofV2 CMC-CONTROL ::=
      { IdentityProofV2 IDENTIFIED BY id-cmc-identityProofV2 }
  id-cmc-identityProofV2 OBJECT IDENTIFIER ::= { id-cmc 33 }
        
  IdentityProofV2 ::= SEQUENCE {
      proofAlgID       AlgorithmIdentifier{DIGEST-ALGORITHM,
                           {WitnessAlgs}},
      macAlgId         AlgorithmIdentifier{MAC-ALGORITHM, {POPAlgs}},
      witness          OCTET STRING
  }
        
  cmc-popLinkWitnessV2 CMC-CONTROL ::=
      { PopLinkWitnessV2 IDENTIFIED BY id-cmc-popLinkWitnessV2 }
  id-cmc-popLinkWitnessV2 OBJECT IDENTIFIER ::= { id-cmc 34 }
        
  PopLinkWitnessV2 ::= SEQUENCE {
      keyGenAlgorithm   AlgorithmIdentifier{KEY-DERIVATION,
                            {KeyDevAlgs}},
      macAlgorithm      AlgorithmIdentifier{MAC-ALGORITHM, {POPAlgs}},
      witness           OCTET STRING
  }
        
  KeyDevAlgs KEY-DERIVATION ::= {kda-PBKDF2, ...}
        
  cmc-raIdentityWitness CMC-CONTROL ::=
     { BodyPartPath IDENTIFIED BY id-cmc-raIdentityWitness }
        
  id-cmc-raIdentityWitness OBJECT IDENTIFIER ::= {id-cmc 35}
        
  --
  --  Allow for an End-Entity to request a change in name.
  --  This item is added to RegControlSet in CRMF.
  --
  at-cmc-changeSubjectName ATTRIBUTE ::=
     { TYPE ChangeSubjectName IDENTIFIED BY id-cmc-changeSubjectName }
        
  id-cmc-changeSubjectName OBJECT IDENTIFIER ::= {id-cmc 36}
        
  ChangeSubjectName ::= SEQUENCE {
      subject             Name OPTIONAL,
      subjectAlt          GeneralNames OPTIONAL
  }
  (WITH COMPONENTS {..., subject PRESENT} |
   WITH COMPONENTS {..., subjectAlt PRESENT} )
        

-- -- Embedded response from a third party for processing --

---処理のための第三者からの埋め込み回答 -

  cmc-responseBody CMC-CONTROL ::= {
     BodyPartPath IDENTIFIED BY id-cmc-responseBody
  }
        
  id-cmc-responseBody OBJECT IDENTIFIER ::= {id-cmc 37}
        

-- -- Key purpose identifiers are in the Extended Key Usage extension --

---主要な目的識別子は、拡張された主要な使用拡張機能にあります -

  id-kp-cmcCA OBJECT IDENTIFIER ::= { id-kp 27 }
  id-kp-cmcRA OBJECT IDENTIFIER ::= { id-kp 28 }
  id-kp-cmcArchive OBJECT IDENTIFIER ::= { id-kp 29 }
        

-- -- Subject Information Access identifier --

---サブジェクト情報アクセス識別子 -

  id-ad-cmc OBJECT IDENTIFIER ::= { id-ad 12 }
        

END

終わり

Author's Address

著者の連絡先

Jim Schaad Soaring Hawk Consulting

Jim Schaad Soaring Hawk Consulting

   EMail: jimsch@augustcellars.com