ICertServerPolicy::GetCertificateProperty 方法 (certif.h)
GetCertificateProperty方法會從憑證傳回具名屬性。
您必須先呼叫 ICertServerPolicy::SetCoNtext ,才能使用此方法。
語法
HRESULT GetCertificateProperty(
[in] const BSTR strPropertyName,
[in] LONG PropertyType,
[out] VARIANT *pvarPropertyValue
);
參數
[in] strPropertyName
指定要擷取的具名屬性。 有一組稱為 名稱屬性的存貨憑證屬性,一律有效,而且可以藉由呼叫此方法來擷取。 如需這些屬性的相關資訊,請參閱 名稱屬性。 您也可以擷取名稱屬性以外的其他屬性。
只有在原則模組完成處理要求併發出憑證之後, ICertServerExit::GetCertificateProperty 才能存取憑證的 DistinguishedName 和 RawName 屬性。 發行的憑證的 DistinguishedName 和 RawName 屬性也可以使用 ICertServerExit::GetCertificateProperty來讀取結束模組。
GetCertificateProperty無法存取其他憑證屬性。 在原則模組傳回VR_INSTANT_OK併發出憑證之後,才會設定這些屬性。 如需所發行憑證中所有屬性的完整清單,請參閱 GetCertificateProperty。
下列屬性對憑證而言是唯一的,而且可由 GetCertificateProperty讀取。
Certificate 屬性 | 意義 |
---|---|
|
內部要求識別碼 |
|
憑證開始日期 |
|
憑證到期日 |
|
主旨索引鍵 |
|
OID () 的主體金鑰演算法物件識別碼 |
|
主旨金鑰演算法參數 |
|
註冊要求中的一般旗標。 這是值的位 OR 。 唯一感興趣的值應該是 0x00000400 的旗標值,告知 CA 不要在資料庫中保存要求。 如果 CA 處於無資料庫模式 (也就是針對 Windows Server 2008 R2 和更新版本的 CA,CA 的資料庫已設定 ) DBFLAGS_ENABLEVOLATILEREQUESTS 旗標,請使用 certutil -getreg DbFlags 和 certutil -setreg DBFlags 以無資料庫模式設定 CA。
Windows Vista 和 Windows Storage Server 2003: 不支援此欄位。 |
|
針對更新要求,傳回要求者帳戶名稱 (例如 contoso\requester) 。 |
下列屬性適用于 憑證授權單位單位。
CA 屬性 | 意義 |
---|---|
|
憑證授權單位單位的類型。 這可以是 Certsrv.h) 中定義 (下列其中一個值:
|
|
CA 憑證的數目。 此值會加上 CA 已更新的次數。 如需更新的相關資訊,請參閱 認證。 |
|
CA 憑證 狀態。 這個值可以是下列其中一個值:
|
|
CA 憑證的尾碼。 尾碼是 CA 憑證的空字串,其索引為零;否則,尾碼 (格式為 「 (nn) 」,其中 nn 是憑證索引) 套用至指向儲存在檔案或目錄服務物件中 CA 憑證的所有 URL。 對於非LDAP URL,尾碼通常會出現在 「.crt」 文字之前。 針對 LDAP URL,尾碼通常會附加至完整辨別名稱中的第一個 'CN='。
這個屬性名稱可能會附加 '.#',其中 # 代表 CA 憑證索引 (,或 CRLSuffix 屬性的 CRL 索引) 。 如需憑證和 CRL 索引的相關資訊,請參閱 憑證授權單位單位更新。 |
|
憑證撤銷清單 (CRL) 索引。 將憑證索引附加至此屬性名稱可讓您擷取 CRL 索引。 CRL 索引不一定符合憑證索引。 如需詳細資訊,請參閱 認證。
這個屬性名稱可能會附加 '.#',其中 # 代表 CA 憑證索引 (,或 CRLSuffix 屬性的 CRL 索引) 。 如需憑證和 CRL 索引的相關資訊,請參閱 憑證授權單位單位更新。 |
|
CRL 狀態。 這個值可以是下列其中一個值:
|
|
CA CRL 的尾碼。 尾碼是 CRL 的空字串,其索引為零;否則,尾碼 (格式為 「 (nn) 」,其中 nn 是 CRL 索引) 會套用至指向儲存在檔案或目錄服務物件中 CRL 的所有 URL。 對於非 LDAP URL,尾碼通常會出現在 .crl 文字之前。 針對 LDAP URL,尾碼通常會附加至完整辨別名稱中的第一個 'CN='。
這個屬性名稱可能會附加 '.#',其中 # 代表 CA 憑證索引 (,或 CRLSuffix 屬性的 CRL 索引) 。 如需憑證和 CRL 索引的相關資訊,請參閱 憑證授權單位單位更新。 |
|
指出 CA 是否使用目錄服務。 這可以是下列其中一個值:
|
|
裝載 CA 之伺服器的 DNS 名稱。 |
|
模組可使用的登錄位置。 |
|
CA 憑證。
這個屬性名稱可能會附加 '.#',其中 # 代表 CA 憑證索引 (,或 CRLSuffix 屬性的 CRL 索引) 。 如需憑證和 CRL 索引的相關資訊,請參閱 憑證授權單位單位更新。 |
|
CA 的證書 吊銷清單 (CRL) 。
這個屬性名稱可能會附加 '.#',其中 # 代表 CA 憑證索引 (,或 CRLSuffix 屬性的 CRL 索引) 。 如需憑證和 CRL 索引的相關資訊,請參閱 憑證授權單位單位更新。 |
|
指出要求者是否已獲授權要求憑證。 這可以是下列其中一個值:
|
|
CA 的 清理名稱 。 如需清理 CA 名稱的相關資訊,請參閱 ICertConfig::GetConfig。 |
|
CA 的清理名稱會縮短,其中包含雜湊值以確保唯一性。 |
[in] PropertyType
指定屬性類型。 此類型可以是下列其中一個值。
類型 | 意義 |
---|---|
|
帶正負號的長資料 |
|
Date/time |
|
二進位資料 |
|
Unicode 字串資料 |
[out] pvarPropertyValue
將包含屬性值的 VARIANT 指標。
傳回值
如果方法成功,方法會傳回S_OK,而 *pvarPropertyValue 會設定為包含所要求屬性值的 VARIANT 。
如果方法失敗,它會傳回指出錯誤的 HRESULT 值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
規格需求
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | certif.h (包含 Certsrv.h) |
程式庫 | Certidl.lib |
Dll | Certcli.dll |