IX509CertificateRequestPkcs10::InitializeFromPrivateKey 方法 (certenroll.h)

InitializeFromPrivateKey 方法會使用IX509PrivateKey 物件初始化憑證要求,並選擇性地初始化範本。 此方法已啟用 Web。

語法

HRESULT InitializeFromPrivateKey(
  [in]           X509CertificateEnrollmentContext Context,
  [in]           IX509PrivateKey                  *pPrivateKey,
  [in, optional] BSTR                             strTemplateName
);

參數

[in] Context

X509CertificateEnrollmentContext 列舉值,指定要求的憑證是否適用於使用者、計算機或代表計算機的系統管理員。 這可以是下列其中一個值。 不過,如果已設定私鑰MachineContext 屬性,您必須指定 ContextMachine 列舉值。

意義
ContextUser
正在要求終端用戶的憑證。
ContextMachine
正在要求計算機的憑證。
ContextAdministratorForceMachine
系統管理員正在代表計算機要求憑證。

[in] pPrivateKey

代表私鑰的 IX509PrivateKey 介面指標。

[in, optional] strTemplateName

BSTR 變數,其中包含範本出現在 Active Directory 或虛線十進位物件識別碼中的一般名稱 (CN) 。 這是選擇性參數。

傳回值

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

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

傳回碼 Description
HRESULT_FROM_WIN32 (ERROR_ALREADY_INITIALIZED)
憑證要求對象已經初始化。

備註

如果您指定範本, InitializeFromPrivateKey 方法會執行下列動作:

不論您是否指定範本,如果未指定 CSPInformations 屬性,此方法就會從電腦上安裝的提供者建立 ICspInformations 集合。

此時不會建立私鑰。 如果傳遞至方法的 IX509PrivateKey 物件不代表現有的索引鍵,則會在呼叫 Encode 方法時建立索引鍵。 如果未指定範本,而且未設定 IX509PrivateKey 上的 ProviderName 屬性,則會使用預設提供者來建立密鑰。 當私鑰存在時,它會在 PrivateKey 屬性上設定。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 certenroll.h
Dll CertEnroll.dll

另請參閱

IX509CertificateRequestPkcs10