共用方式為


IX509CertificateRequest::Encode 方法(certenroll.h)

Encode 方法會對憑證請求進行簽署與編碼,若不存在金鑰對則建立該對。 請求透過抽象語法符號一(ASN.1)標準所定義的區別編碼規則(DER)進行編碼。 編碼過程會建立一個位元組陣列。 你可以透過呼叫 RawData 屬性來取得這個位元組陣列。

語法

HRESULT Encode();

返回值

如果函式成功,函式會傳回 S_OK

如果函式失敗,它會傳回指出錯誤的 HRESULT 值。 可能的值包括但不限於下表中的值。 如需常見錯誤碼的清單,請參閱 常見的 HRESULT 值

傳回碼/值 Description
CERTSRV_E_ARCHIVED_KEY_REQUIRED
ArchivePrivateKey 屬性已設定為 CMC 請求,但找不到金鑰交換憑證。
OLE_E_BLANK
物件尚未初始化。

備註

對於 PKCS #10 請求,此方法:

  • 更新私鑰或必要時建立金鑰。
  • 從私鑰填充公鑰。
  • 更新擴充功能,新增預設擴充功能,並考慮被抑制的 OID 集合及關鍵擴充功能的 OID 集合。
  • 更新屬性,新增預設屬性,並考慮被抑制的 OID 集合。
  • 組合並編碼未簽署的更新請求。
  • 建立並編碼簽名。
  • 編碼簽章與未簽署請求。

對於 CMC 請求,此方法:

  • 編碼所有內部請求物件。
  • 更新外部請求物件的擴充功能,新增任何預設擴充功能,並考慮被抑制的 OID 集合與關鍵擴充 OID 集合。
  • 更新外部請求物件的屬性,新增預設屬性並考慮被抑制的 OID 集合。
  • 更新名稱與值對集合。
  • 編碼包含編碼的內層請求與更新的外部請求所組成的 CMC 內容。
  • 為每張簽署憑證建立並編碼一個簽章。
  • 建立並編碼主要簽名。
  • 彙整編碼後的 CMC 內容(包括內部請求與更新的外部請求)及編碼後的簽章。
  • 將組合後的內容編碼成 PKCS #7 訊息。

需求

Requirement 價值觀
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平臺 窗戶
Header certenroll.h
DLL CertEnroll.dll

另請參閱

IX509CertificateRequest

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation