CMC 拡張機能

拡張機能は、次の ASN.1 構文の例に示す TaggedAttributes 構造体に追加することで、CMC 要求に含まれます。 詳細については、「 属性」トピックを 参照してください。

CmcData ::= SEQUENCE 
{
   controlSequence         ControlSequence,
   reqSequence             ReqSequence,
   cmsSequence             CmsSequence,
   otherMsgSequence        OtherMsgSequence
}


ControlSequence  ::=    SEQUENCE OF TaggedAttribute

TaggedAttribute ::= SEQUENCE 
{
   bodyPartID              BodyPartID,
   type                    EncodedObjectID,
   values                  AttributeSetValue
}

BodyPartID ::= INTEGER (0..4294967295)
EncodedObjectID ::= OBJECT IDENTIFIER
AttributeSetValue ::= SET OF ANY

TaggedAttributes コレクション内の各構造体には、整数 ID、ASN.1 オブジェクト識別子 (OID)、および値のセットが含まれています。 拡張は、 CmcAddExtensions 構造体を values フィールドに追加することによって要求に組み込まれます。 ASN.1 構造体の構文を次の例に示します。 オブジェクト識別子は XCN_OID_CMC_ADD_EXTENSIONS (1.3.6.1.5.5.7.7.8) です。

CmcAddExtensions ::= SEQUENCE 
{
   pkiDataReference        BodyPartID,
   certReferences          BodyPartIDSequence,
   extensions              Extensions
}

Extensions ::= SEQUENCE OF Extension

Extension ::= SEQUENCE 
{
   extnId              EncodedObjectID,
   critical            BOOLEAN DEFAULT FALSE,
   extnValue           OCTETSTRING
}

次の手順では、証明書登録 API を使用して CMC 証明書要求に拡張機能を追加する方法について説明します。

証明書登録 API を使用して CMC 証明書要求に拡張機能を追加するには

  1. IX509Extension インターフェイスから派生した使用可能なインターフェイスのいずれかを使用して拡張機能を作成するか、IX509Extension オブジェクトを直接使用してカスタム拡張機能を作成します。
  2. IX509CertificateRequestCmc オブジェクトの X509Extensions プロパティを呼び出して、IX509Extensions コレクションを取得します。
  3. 手順 1 で作成した拡張機能を IX509Extensions コレクションに追加します。
  4. [登録] を呼び出して、次のアクションを自動的に実行します。

属性

属性アーキテクチャ

CMC 属性

拡張機能