Encode 方法會對憑證請求進行簽署與編碼,若不存在金鑰對則建立該對。 請求透過抽象語法符號一(ASN.1)標準所定義的區別編碼規則(DER)進行編碼。 編碼過程會建立一個位元組陣列。 你可以透過呼叫 RawData 屬性來取得這個位元組陣列。
語法
HRESULT Encode();
返回值
如果函式成功,函式會傳回 S_OK。
如果函式失敗,它會傳回指出錯誤的 HRESULT 值。 可能的值包括但不限於下表中的值。 如需常見錯誤碼的清單,請參閱 常見的 HRESULT 值。
| 傳回碼/值 | Description |
|---|---|
|
ArchivePrivateKey 屬性已設定為 CMC 請求,但找不到金鑰交換憑證。 |
|
物件尚未初始化。 |
備註
對於 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 |