Share via


ICertAdmin::SetCertificateExtension 方法 (certadm.h)

SetCertificateExtension方法會將新的延伸模組新增至憑證,以回應憑證要求。 這個方法最初是由 ICertAdmin 介面所定義。

若要讓這個方法成功,憑證要求必須擱置中。

語法

HRESULT SetCertificateExtension(
  [in] const BSTR    strConfig,
  [in] LONG          RequestId,
  [in] const BSTR    strExtensionName,
  [in] LONG          Type,
  [in] LONG          Flags,
  [in] const VARIANT *pvarValue
);

參數

[in] strConfig

代表 憑證授權單位單位 (CA) 伺服器的有效組態字串,格式為 COMPUTERNAME\CANAME,其中 COMPUTERNAME 是憑證服務伺服器的網路名稱,CANAME 是憑證授權單位單位的一般名稱,如憑證服務設定期間所輸入。 如需設定字串名稱的相關資訊,請參閱 ICertConfig

重要SetCertificateExtension 不會在設定字串變更時清除內部快取。 當您變更 CA 的組態字串時,必須具現化新的 ICertAdmin 物件,並使用新的組態字串再次呼叫此方法。
 

[in] RequestId

指定憑證要求的識別碼。

[in] strExtensionName

指定要設定擴充功能 的物件識別碼 (OID) 。 字串長度必須為 31 或更少的非 Null 字元。

[in] Type

指定要設定的延伸模組類型。 Type參數必須同意pvarValue參數的資料類型。 此資料類型是在VARIANT結構的vt欄位中設定。

此參數可以是下列其中一個值。

意義
PROPTYPE_LONG
帶正負號的長資料
PROPTYPE_DATE
Date/time
PROPTYPE_BINARY
延伸模組值會設定為 is,並視需要假設為 ASN.1 編碼。
PROPTYPE_STRING
延伸模組值將會是 ASN.1 編碼為 IA5 字串,然後再放在新的憑證中。
注意 只有當您想要將 URL 自動編碼為 IA5 字串時,才應該將 PROPTYPE_STRING 用於包含單一 URL 的延伸模組值。 否則,請自行將 URL 編碼為 IA5 字串,並將編碼的值傳遞為 PROPTYPE_BINARY
 

[in] Flags

指定要設定之延伸模組的旗標。 如果未設定旗標,請使用零的值。 您可以將這些旗標與位OR 作業結合,也可以使用原則私用擴充旗標, (EXTENSION_POLICY_MASK欄位) 的高 8 位。

注意Flags 參數設定為 EXTENSION_DISABLE_FLAG 時,擴充功能將會在伺服器記錄檔中停用,且不會新增至憑證。
 
意義
EXTENSION_CRITICAL_FLAG
這是重要的擴充功能。
EXTENSION_DISABLE_FLAG
不會使用擴充功能。

[in] pvarValue

指定與延伸模組相關聯的值。

傳回值

VB

如果方法成功,方法會傳回S_OK。

如果方法失敗,它會傳回指出錯誤的 HRESULT 值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值

備註

系統管理工作使用 DCOM。 呼叫此介面方法的程式碼,如舊版 Certadm.h 中所定義,只要用戶端和伺服器都執行相同的 Windows 作業系統,就會在 Windows 伺服器上執行。

規格需求

   
最低支援的用戶端 都不支援
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 certadm.h (包含 Certsrv.h)
程式庫 Certidl.lib
Dll Certadm.dll

另請參閱

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig