ISignerCertificate::Initialize 方法 (certenroll.h)
Initialize 方法會從簽署憑證初始化 物件。
語法
HRESULT Initialize(
[in] VARIANT_BOOL MachineContext,
[in] X509PrivateKeyVerify VerifyType,
[in] EncodingType Encoding,
[in] BSTR strCertificate
);
參數
[in] MachineContext
VARIANT_BOOL變數,指出是否要搜尋本機計算機證書存儲內容或用戶內容,以尋找 strCertificate 參數所識別的憑證。 為計算機指定 VARIANT_TRUE ,併為使用者指定 VARIANT_FALSE 。
[in] VerifyType
X509PrivateKeyVerify 列舉值,指定用來簽署憑證的私鑰是否必須經過驗證,如果是的話,驗證必須是無訊息或允許使用者輸入。
[in] Encoding
EncodingType 列舉值,指定套用至 可辨別編碼規則 ( DER) 編碼憑證字串的 Unicode 編碼類型。
[in] strCertificate
包含 DER 編碼憑證的 BSTR 變數。
從 Windows 7 和 Windows Server 2008 R2 開始,您可以指定憑證指紋或序號,而不是編碼的憑證。 這樣做會導致函式搜尋適當的本地存儲,以尋找相符的憑證。 請記住下列幾點:
- BSTR 必須是偶數十六進位數位。
- 忽略十六進位組之間的空格符。
- Encoding 參數必須設定為 XCN_CRYPT_STRING_HEXRAW。
- MachineContext 參數會決定使用者或計算機存放區或兩者都是搜尋的。
- 如果需要私鑰,則只會搜尋個人和要求存放區。
- 如果不需要私鑰,也會搜尋根和中繼 CA 存放區。
傳回值
如果函式成功,函式會傳回 S_OK。
如果函式失敗,它會傳回 HRESULT 值,指出錯誤。 可能的值包括 (但不限於) 下表中的這些值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
傳回碼/值 | Description |
---|---|
|
ISignerCertificate 對象已經初始化。 |
備註
Initialize 方法:
- 驗證與憑證相關聯的私鑰是否存在。
- 建立 IX509SignatureInformation 物件,並將它指派給 ISignerCertificate 物件。
- 從私鑰擷取公鑰演演算法。
- 將公鑰演演算法指派給 IX509SignatureInformation 物件。
呼叫 Initialize 之前,請先設定下列屬性:
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | certenroll.h |
Dll | CertEnroll.dll |