属性関数

証明書の要求に属性を追加して、証明 機関 (CA) に証明書を作成して発行するときに使用できる追加情報を提供することができます。

CertEnroll.dll は、次のインターフェイスを実装して、属性と属性コレクションを定義します。

次のセクションでは、暗号化属性を証明書要求に関連付けるために Xenroll.dll によってエクスポートされる関数を示し、CertEnroll.dll を使用して関数を置き換える方法、または2つのライブラリ間のマッピングが存在しないことを示す方法について説明します。

addAttributeToRequestWStr

Xenroll.dll の addAttributeToRequestWStr 関数は、証明書の要求に属性を追加します。

一般に、CertEnroll.dll で実装されたオブジェクトを使用して要求に属性を追加するには、次の操作を実行します。

  1. IX509Attributes collection オブジェクトを作成します。
  2. IX509Attributeオブジェクトを作成し、 Initializeメソッドを呼び出して、オブジェクト識別子と属性値から属性を作成するか、前述のインターフェイスのいずれかを使用して、より一般的な属性の1つを定義します。
  3. Addメソッドを使用して、前の手順で作成した新しい各属性を IX509Attributesコレクションに追加します。
  4. ICryptAttributeオブジェクトを作成し、このオブジェクトを初期化します。そのために は、IX509Attributes collection メソッドを呼び出して、入力時に collection を指定します。
  5. 既存の IX509CertificateRequestPkcs10または IX509CertificateRequestCmc Request オブジェクトの cryptattributesプロパティを呼び出すことによって、 ICryptAttributes collection オブジェクトを取得します。
  6. ICryptAttributeオブジェクトを ICryptAttributesコレクションに追加します。

AddAuthenticatedAttributesToPKCS7Request

認証済み属性は、によって署名され、署名に追加される名前と値のペアです。 Xenroll.dll の AddAuthenticatedAttributesToPKCS7Request 関数は、認証された属性の配列を PKCS # 7 要求に追加します。

AddAttributeToRequestWStr関数について説明したように、CertEnroll.dll を使用すると、属性のコレクションを簡単に定義し、証明書の要求に追加できます。 ただし、属性が認証されているかどうかを選択することはできません。 登録プロセスによって自動的に決定されます。

addNameValuePairToRequestWStr

Xenroll.dll の addNameValuePairToRequestWStr 関数は、認証されていない名前と値のペアを要求に追加します。

CertEnroll.dll の IX509NameValuePair インターフェイスを使用して名前と値のペアを定義できます。また、次の操作を実行することで、名前と値のペアのコレクションを CMC 要求オブジェクトに追加できます。

  1. IX509CertificateRequestCmcオブジェクトを作成し、初期化します。 初期化プロセスでは、空の IX509NameValuePairs collection が作成されます。
  2. 既存の CMC 要求オブジェクトの NameValuePairs プロパティを呼び出して、コレクションを取得します。
  3. IX509NameValuePairオブジェクトを作成し、初期化します。
  4. Addメソッドを呼び出して、新しい名前と値のペアを IX509NameValuePairsコレクションに追加します。

登録プロセスでは、名前と値のペアのコレクションが、CMC 要求の TaggedAttribute 構造に配置されます。

AddNameValuePairToSignatureWStr

Xenroll.dll の AddNameValuePairToSignatureWStr 関数は、認証された名前と値のペアを要求に追加します。 通常、これは、代理登録 (EOBO) 要求で要求元の名前を指定するために使用されます。

CertEnroll.dll では、 RequesterName プロパティを使用して、EOBO 要求で名前を指定します。

ClientId

Xenroll.dll の clientid 関数は、 clientid 属性を指定または取得します。

CertEnroll.dll の ClientId プロパティを使用して、この属性を CMC または PKCS 10 要求に追加し # ます。

RenewalCertificate

Xenroll.dll の RenewalCertificate 関数は、 RenewalCertificate 属性を指定または取得します。

CertEnroll.dll では、PKCS 7 または PKCS で、 初期化証明書 を呼び出すと、 # オブジェクトが自動的に作成されます。

resetAttributes

Xenroll.dll の Resetattributes 関数は、要求から属性コレクションを削除します。

CertEnroll.dll を使用してインデックスによって要求から属性を削除するには、 IX509Attributesコレクションの removeメソッドを呼び出します。 要求からすべての属性を削除するには、 Clear メソッドを呼び出します。

CertEnroll.dllへの Xenroll.dll のマッピング

ICryptAttribute

ICryptAttributes

IX509Attribute

IX509Attributes

IX509NameValuePair

IX509NameValuePairs