屬性函式

您可以將屬性新增至憑證要求,以提供證書 頒發機構 單位 (CA) 以及可在建立和發行憑證時使用的其他資訊。

CertEnroll.dll 會執行下列介面來定義屬性和屬性集合:

下列各節會識別 Xenroll.dll 所匯出的函式,以將密碼編譯屬性與憑證要求產生關聯,並討論如何使用 CertEnroll.dll 來取代函式,或指出兩個程式庫之間沒有對應存在:

addAttributeToRequestWStr

Xenroll.dll 中的 addAttributeToRequestWStr 函數會將屬性新增至憑證要求。

一般而言,若要使用在 CertEnroll.dll 中執行的物件,將屬性新增至要求,您可以執行下列動作:

  1. 建立 IX509Attributes 集合物件。
  2. 建立 IX509Attribute 物件,並呼叫 Initialize 方法,從物件識別碼和屬性值建立屬性,或使用先前所列的任何介面來定義一個更常見的屬性。
  3. 使用 add方法,將在上一個步驟中建立的每個新屬性加入至 IX509Attributes集合。
  4. 建立 ICryptAttribute 物件,並呼叫 InitializeFromValues 方法將它初始化,並在輸入上指定 IX509Attributes 集合。
  5. 藉由呼叫現有 IX509CertificateRequestPkcs10IX509CertificateRequestCmc要求物件上的 CryptAttributes屬性,來取出 ICryptAttributes集合物件。
  6. ICryptAttribute 物件加入至 ICryptAttributes 集合。

AddAuthenticatedAttributesToPKCS7Request

驗證的屬性是名稱/值組,已簽署並加入至簽章。 Xenroll.dll 中的 AddAuthenticatedAttributesToPKCS7Request 函數會將經過驗證的屬性陣列新增至 PKCS # 7 要求。

如上所述, addAttributeToRequestWStr 函式所述,您可以使用 CertEnroll.dll 輕鬆地定義屬性集合,並將其新增至憑證要求。 但是,您無法選擇是否要驗證屬性。 註冊程式會自動進行此決策。

addNameValuePairToRequestWStr

Xenroll.dll 中的 addNameValuePairToRequestWStr 函數會將未經驗證的名稱/值組加入至要求。

您可以使用 CertEnroll.dll 中的 IX509NameValuePair 介面來定義名稱/值組,也可以執行下列動作,將名稱/值組的集合新增至 CMC 要求物件:

  1. 建立並初始化 IX509CertificateRequestCmc 物件。 初始化進程會建立空的 IX509NameValuePairs 集合。
  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 ) 物件上呼叫 InitializeFromCertificate 時,會 # 自動建立。

resetAttributes

Xenroll.dll 中的 resetAttributes 函數會從要求中移除屬性集合。

若要使用 CertEnroll.dll 從索引中移除要求的屬性,請在 IX509Attributes集合上呼叫 remove方法。 若要從要求中移除所有屬性,請呼叫 Clear 方法。

將 Xenroll.dll 對應至 CertEnroll.dll

ICryptAttribute

ICryptAttributes

IX509Attribute

IX509Attributes

IX509NameValuePair

IX509NameValuePairs