密碼編譯函式
密碼編譯函式會根據使用方式進行分類,如下所示:
- CryptXML 函式
- 簽署者函式
- 基底密碼編譯函式
- 憑證和憑證存放區函式
- MakeCert 函式
- 憑證驗證函式
- 訊息函數
- 輔助函式
- 憑證服務備份和還原函式
- 回呼函式
- 目錄定義函式
- 目錄函式
- WinTrust 函式
- 物件定位器函式
CryptXML 函式
密碼編譯 XML 函式會提供 API,以使用 XML 格式化的資料來建立和表示數位簽章。 如需 XML 格式化簽章的詳細資訊,請參閱 上的 https://go.microsoft.com/fwlink/p/?linkid=139649 XML-Signature 語法和處理規格。
函式 | 描述 |
---|---|
A_SHAFinal | 計算 MD5Update 函式所輸入資料的最終雜湊。 |
A_SHAInit | 起始資料流程的雜湊。 |
A_SHAUpdate | 將資料加入至指定的雜湊物件。 |
CryptXmlCreateReference | 建立 XML 簽章的參考。 |
CryptXmlAddObject | 將 Object 元素加入至開啟以供編碼之檔內容中的 Signature。 |
CryptXmlClose | 關閉密碼編譯 XML 物件控制碼。 |
CryptXmlDigestReference | 應用程式用來摘要解析的參考。 此函式會在更新摘要之前套用轉換。 |
CryptXmlDllCloseDigest | 釋放 CryptXmlDllCreateDigest 函式所配置的CRYPT_XML_DIGEST。 |
CryptXmlDllCreateDigest | 建立指定方法的摘要物件。 |
CryptXmlDllCreateKey | 剖析 KeyValue 元素並建立密碼編譯 API:新一代 (CNG) BCrypt 金鑰控制碼來驗證簽章。 |
CryptXmlDllDigestData | 將資料放入摘要中。 |
CryptXmlDllEncodeAlgorithm | 使用預設參數編碼 Agile 演算法的 SignatureMethod 或 DigestMethod 元素。 |
CryptXmlDllEncodeKeyValue | 編碼 KeyValue 專案。 |
CryptXmlDllFinalizeDigest | 擷取摘要值。 |
CryptXmlDllGetAlgorithmInfo | 解碼 XML 演算法並傳回演算法的相關資訊。 |
CryptXmlDllGetInterface | 擷取指定演算法之密碼編譯延伸模組函式的指標。 |
CryptXmlDllSignData | 簽署資料。 |
CryptXmlDllVerifySignature | 驗證簽章。 |
CryptXmlEncode | 使用提供的 XML 寫入器回呼函式來編碼簽章資料。 |
CryptXmlGetAlgorithmInfo | 解碼CRYPT_XML_ALGORITHM結構,並傳回演算法的相關資訊。 |
CryptXmlGetDocCoNtext | 傳回所提供控制碼所指定的檔內容。 |
CryptXmlGetReference | 傳回所提供控制碼所指定的 Reference 專案。 |
CryptXmlGetSignature | 傳回 XML Signature 專案。 |
CryptXmlGetStatus | 傳回 CRYPT_XML_STATUS 結構,其中包含所提供控制碼所指定物件的狀態資訊。 |
CryptXmlGetTransforms | 傳回預設轉換鏈結引擎的相關資訊。 |
CryptXmlImportPublicKey | 匯入所提供控制碼所指定的公開金鑰。 |
CryptXmlOpenToEncode | 開啟 XML 數位簽章來編碼,並傳回已開啟 之 Signature 專案的控制碼。 控制碼會使用單一 CRYPT_XML_SIGNATURE 結構封裝檔內容,並維持開啟狀態,直到呼叫 CryptXmlClose 函式為止。 |
CryptXmlOpenToDecode | 開啟 XML 數位簽章來解碼,並傳回封裝 CRYPT_XML_SIGNATURE 結構的檔內容控制碼。 檔內容可以包含一或多個 Signature 元素。 |
CryptXmlSetHMACSecret | 在呼叫 CryptXmlSign 或 CryptXmlVerify 函式之前,先在控制碼上設定 HMAC 秘密。 |
CryptXmlSign | 建立 SignedInfo 元素的密碼編譯簽章。 |
CryptXmlVerifySignature | 執行 SignedInfo 元素的密碼編譯簽章驗證。 |
PFN_CRYPT_XML_WRITE_CALLBACK | 為指定的資料提供者建立轉換。 |
PFN_CRYPT_XML_CREATE_TRANSFORM | 寫入密碼編譯 XML 資料。 |
PFN_CRYPT_XML_DATA_PROVIDER_READ | 讀取密碼編譯 XML 資料。 |
PFN_CRYPT_XML_DATA_PROVIDER_CLOSE | 釋放密碼編譯 XML 資料提供者。 |
PFN_CRYPT_XML_ENUM_ALG_INFO | 列舉預先定義的和已註冊 CRYPT_XML_ALGORITHM_INFO 專案。 |
簽署者函式
提供函式來簽署和時間戳記資料。
函式 | 描述 |
---|---|
SignerFreeSignerCoNtext | 釋放先前呼叫SignerSignEx函式所配置的SIGNER_CONTEXT結構。 |
SignError | 呼叫 GetLastError 函式,並將傳回碼轉換為 HRESULT。 |
SignerSign | 簽署指定的檔案。 |
SignerSignEx | 簽署指定的檔案,並傳回已簽署資料的指標。 |
SignerSignEx2 | 簽署和時間戳記指定的檔案,允許多個巢狀簽章。 |
SignerTimeStamp | 時間戳記指定的主旨。 此函式支援 Authenticode 時間戳記。 若要執行 X.509 公開金鑰基礎結構 (RFC 3161) 時間戳記,請使用 SignerTimeStampEx2 函式。 |
SignerTimeStampEx | 時間戳記指定的主體,並選擇性地傳回包含BLOB指標之SIGNER_CONTEXT結構的指標。 此函式支援 Authenticode 時間戳記。 若要執行 X.509 公開金鑰基礎結構 (RFC 3161) 時間戳記,請使用 SignerTimeStampEx2 函式。 |
SignerTimeStampEx2 | 時間戳記指定的主體,並選擇性地傳回包含BLOB指標之SIGNER_CONTEXT結構的指標。 此函式可用來執行 X.509 公開金鑰基礎結構、RFC 3161 相容、時間戳記。 |
SignerTimeStampEx3 | 時間戳記指定的主體,並支援在多個簽章上設定時間戳記。 |
基底密碼編譯函式
基底密碼編譯函式提供開發密碼編譯應用程式的最彈性方式。 所有與 密碼編譯服務提供者 的通訊 (CSP) 都會透過這些函式進行。
CSP 是執行所有密碼編譯作業的獨立模組。 每個使用密碼編譯函式的應用程式至少需要一個 CSP。 單一應用程式偶爾可以使用多個 CSP。
如果使用多個 CSP,可以在 CryptoAPI 密碼編譯函式呼叫中指定要使用的 CSP。 Microsoft 基底密碼編譯提供者的一個 CSP 會與 CryptoAPI搭配使用。 如果沒有指定其他 CSP,此 CSP 會做為許多 CryptoAPI 函式的預設提供者。
每個 CSP 都提供提供給 CryptoAPI 的密碼編譯支援的不同實作。 有些提供更強大的密碼編譯演算法;其他包含硬體元件,例如 智慧卡。 此外,某些 CSP 偶爾可以與使用者通訊,例如使用使用者的簽章私密金鑰執行數位簽章時。
基底密碼編譯函式位於下列廣泛群組中:
- 服務提供者函式
- 金鑰產生和 Exchange 函式
- 物件編碼和解碼函式
- 資料加密和解密函式
- 雜湊和數位簽章函式
服務提供者函式
應用程式會使用下列服務函式來連線和中斷 密碼編譯服務提供者 (CSP) 。
函式 | 描述 |
---|---|
CryptAcquireCoNtext |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 取得特定 CSP 內目前使用者 金鑰容器 的控制碼。 |
CryptCoNtextAddRef |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 遞增HCRYPTPROV控制碼上的參考計數。 |
CryptEnumProviders |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 列舉電腦上的提供者。 |
CryptEnumProviderTypes |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 列舉電腦上支援的提供者類型。 |
CryptGetDefaultProvider |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 決定目前使用者的預設 CSP,或指定提供者類型的電腦。 |
CryptGetProvParam |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 擷取控 CSP 作業的參數。 |
CryptInstallDefaultCoNtext |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 安裝先前取得的 HCRYPTPROV 內容,以作為預設內容使用。 |
CryptReleaseCoNtext |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 釋放 CryptAcquireCoNtext 函式所取得的控制碼。 |
CryptSetProvider和CryptSetProviderEx |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 指定特定 CSP 類型的使用者預設 CSP。 |
CryptSetProvParam |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 指定 CSP 的屬性。 |
CryptUninstallDefaultCoNtext |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 移除 CryptInstallDefaultCoNtext先前安裝的預設內容。 |
FreeCryptProvFromCertEx | 將控制碼釋放至 密碼編譯服務提供者 (CSP) 或密碼編譯 API:新一代 (CNG) 金鑰。 |
金鑰產生和 Exchange 函式
金鑰產生和交換函式會與其他使用者 交換金鑰 ,並建立、設定及終結 密碼編譯金鑰。
函式 | 描述 |
---|---|
CryptDeriveKey |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 建立衍生自密碼的金鑰。 |
CryptDestroyKey |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 終結索引鍵。 |
CryptDuplicateKey |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 製作金鑰的確切複本,包括金鑰 的狀態 。 |
CryptExportKey |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 將金鑰從 CSP 傳輸至應用程式記憶體空間中的 金鑰 BLOB 。 |
CryptGenKey |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 建立隨機金鑰。 |
CryptGenRandom |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 產生亂數據。 |
CryptGetKeyParam |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 擷取金鑰的參數。 |
CryptGetUserKey |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 取得金鑰交換或簽章金鑰的控制碼。 |
CryptImportKey |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 將 金鑰從金鑰 BLOB 傳輸至 CSP。 |
CryptSetKeyParam |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 指定索引鍵的參數。 |
物件編碼和解碼函式
這些是一般化的編碼和解碼函式。 它們可用來編碼和解碼 憑證、 憑證撤銷清單 (CRL) 、 憑證要求和憑證延伸模組。
函式 | 描述 |
---|---|
CryptDecodeObject | 解碼 類型為 lpszStructType的結構。 |
CryptDecodeObjectEx | 解碼 類型為 lpszStructType的結構。 CryptDecodeObjectEx 支援一次性記憶體配置選項。 |
CryptEncodeObject | 編碼 類型為 lpszStructType的結構。 |
CryptEncodeObjectEx | 編碼 類型為 lpszStructType的結構。 CryptEncodeObjectEx 支援一次性記憶體配置選項。 |
資料加密和解密函式
下列函式支援加密和解密作業。 CryptEncrypt 和 CryptDecrypt 在呼叫之前需要 密碼編譯金鑰 。 這是使用 CryptGenKey、 CryptDeriveKey或 CryptImportKey 函式來完成。 建立金鑰時會指定加密演算法。 CryptSetKeyParam 可以設定其他加密參數。
函式 | 描述 |
---|---|
CryptDecrypt |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 使用指定的加密金鑰解密 加密文字 的區段。 |
CryptEncrypt |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 使用指定的加密金鑰來加密 純文字 的區段。 |
CryptProtectData | 對 DATA_BLOB 結構中的資料執行加密。 |
CryptProtectMemory | 加密記憶體以保護敏感性資訊。 |
CryptUnprotectData | 在 DATA_BLOB中執行資料的解密和完整性檢查。 |
CryptUnprotectMemory | 解密使用 CryptProtectMemory 加密的記憶體。 |
雜湊和數位簽章函式
這些函式會計算資料的 雜湊 ,並同時建立和驗證 數位簽章。 雜湊也稱為訊息摘要。
函式 | 描述 |
---|---|
CryptCreateHash |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 建立空的雜湊物件。 |
CryptDestroyHash |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 終結雜湊物件。 |
CryptDuplicateHash | 複製雜湊物件。 |
CryptGetHashParam | 擷取雜湊物件參數。 |
CryptHashData |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 雜湊資料區塊,並將其新增至指定的雜湊物件。 |
CryptHashSessionKey |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 雜湊工作階段金鑰,並將其新增至指定的雜湊物件。 |
CryptSetHashParam |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 設定雜湊物件參數。 |
CryptSignHash |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 簽署指定的雜湊物件。 |
CryptUIWizDigitalSign | 顯示以數位方式簽署檔或 BLOB的精靈。 |
CryptUIWizFreeDigitalSignCoNtext | 釋放 CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT 結構的指標。 |
CryptVerifySignature |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 驗證數位簽章,指定雜湊物件的控制碼。 |
PFNCFILTERPROC | 篩選 CryptUIWizDigitalSign 函式所顯示之數位簽章精靈中顯示的憑證。 |
憑證和憑證存放區函式
憑證和憑證存放區函式會管理憑證的使用、儲存和擷取、憑證撤銷清單 (CRL) ,以及憑證信任清單 (CCL) 。 這些函式分成下列群組:
- 憑證存放區函式
- 憑證和憑證存放區維護函式
- 憑證函數
- 憑證撤銷清單函式
- 憑證信任清單函式
- 擴充屬性函式
- MakeCert 函式
憑證存放區函式
使用者網站可以經過一段時間收集許多憑證。 一般而言,網站具有網站使用者的憑證,以及其他憑證,這些憑證描述使用者與使用者通訊的個人或實體。 針對每個實體,可以有多個憑證。 對於每個個別憑證,應該會有一連串的驗證憑證,可提供回溯至受信任的 根憑證。 憑證存放區 及其相關功能提供儲存、擷取、列舉、驗證和使用儲存在憑證中的資訊的功能。
函式 | 描述 |
---|---|
CertAddStoreToCollection | 將同層級憑證存放區新增至集合憑證存放區。 |
CertCloseStore | 關閉憑證存放區控制碼。 |
CertControlStore | 允許應用程式在快取存放區的內容與保存至儲存體的存放區內容之間有差異時收到通知。 它也會視需要提供快取存放區的還原同步處理,並提供方法,將快取存放區中所做的變更認可至保存的儲存體。 |
CertDuplicateStore | 藉由遞增 參考計數來複製存放區控制碼。 |
CertEnumPhysicalStore | 列舉指定之系統存放區的實體存放區。 |
CertEnumSystemStore | 列舉所有可用的系統存放區。 |
CertEnumSystemStoreLocation | 列舉具有可用系統存放區的所有位置。 |
CertGetStoreProperty | 取得存放區屬性。 |
CertOpenStore | 使用指定的存放區提供者類型開啟憑證存放區。 |
CertOpenSystemStore | 根據子系統通訊協定開啟系統憑證存放區。 |
CertRegisterPhysicalStore | 將實體存放區新增至登錄系統存放區集合。 |
CertRegisterSystemStore | 註冊系統存放區。 |
CertRemoveStoreFromCollection | 從集合存放區中移除同層級憑證存放區。 |
CertSaveStore | 儲存憑證存放區。 |
CertSetStoreProperty | 設定存放區屬性。 |
CertUnregisterPhysicalStore | 從指定的系統存放區集合中移除實體存放區。 |
CertUnregisterSystemStore | 取消註冊指定的系統存放區。 |
CryptUIWizExport | 顯示匯出憑證、憑證信任清單 (CTL) 、憑證撤銷清單 (CRL) 或憑證存放區的精靈。 |
CryptUIWizImport | 顯示匯入憑證、憑證信任清單 (CTL) 、憑證撤銷清單 (CRL) 或憑證存放區的精靈。 |
憑證和憑證存放區維護函式
CryptoAPI 提供一組一般憑證和憑證存放區維護功能。
函式 | 描述 |
---|---|
CertAddSerializedElementToStore | 將序列化的憑證或 CRL 元素新增至存放區。 |
CertCreateCoNtext | 從編碼位元組建立指定的內容。 新的內容不會放入存放區中。 |
CertEnumSubjectInSortedCTL | 列舉排序 CTL 內容中的 TrustedSubjects。 |
CertFindSubjectInCTL | 在 CTL 中尋找指定的主體。 |
CertFindSubjectInSortedCTL | 在排序的 CTL 中尋找指定的主旨。 |
OpenPersonalTrustDBDialog和OpenPersonalTrustDBDialogEx | 顯示 [ 憑證 ] 對話方塊。 |
憑證函數
大部分的憑證函式都有處理CRL 和 CCL的相關函式。 如需相關 CRL 和 CTL 函式的詳細資訊,請參閱憑證撤銷清單函式和憑證信任清單函式。
憑證撤銷清單函式
這些函式會管理憑證撤銷 清單 的儲存和擷取, (CRL) 。
函式 | 描述 |
---|---|
CertAddCRLCoNtextToStore | 將 CRL 內容新增至憑證存放區。 |
CertAddCRLLinkToStore | 將存放區中的連結加入至不同存放區中的 CRL 內容。 |
CertAddEncodedCRLToStore | 將編碼的 CRL 轉換為 CRL 內容,然後將內容新增至憑證存放區。 |
CertCreateCRLCoNtext | 從編碼的 CRL 建立 CRL 內容。 建立的內容不會放在憑證存放區中。 |
CertDeleteCRLFromStore | 從憑證存放區中刪除 CRL。 |
CertDuplicateCRLCoNtext | 藉由遞增 參考計數來複製 CRL 內容。 |
CertEnumCRLsInStore | 列舉存放區中的 CRL 內容。 |
CertFindCertificateInCRL | (CRL) 搜尋指定的憑證 吊銷清單 。 |
CertFindCRLInStore | 尋找憑證存放區中符合特定準則的第一個或下一個 CRL 內容。 |
CertFreeCRLCoNtext | 釋放 CRL 內容。 |
CertGetCRLFromStore | 從指定簽發者憑證的憑證存放區取得第一個或下一個 CRL 內容。 |
CertSerializeCRLStoreElement | 序列化 CRL 內容的編碼 CRL 及其屬性。 |
憑證信任清單函式
這些函式會管理 憑證信任清單 的儲存和擷取, (CTL) 。
函式 | 描述 |
---|---|
CertAddCTLCoNtextToStore | 將 CTL 內容新增至憑證存放區。 |
CertAddCTLLinkToStore | 將存放區中的連結加入至不同存放區中的 CRL 內容。 |
CertAddEncodedCTLToStore | 將編碼的 CTL 轉換為 CTL 內容,然後將內容新增至憑證存放區。 |
CertCreateCTLCoNtext | 從編碼的憑證信任清單建立 CTL 內容。 建立的內容不會放在憑證存放區中。 |
CertDeleteCTLFromStore | 從憑證存放區中刪除 CTL。 |
CertDuplicateCTLCoNtext | 藉由遞增參考計數來複製 CTL 內容。 |
CertEnumCTLsInStore | 列舉憑證存放區中的 CTL 內容。 |
CertFindCTLInStore | 尋找憑證存放區中符合特定準則的第一個或下一個 CTL 內容。 |
CertFreeCTLCoNtext | 釋放 CTL 內容。 |
CertModifyCertificatesToTrust | 針對指定的用途,修改 CTL 中的憑證集。 |
CertSerializeCTLStoreElement | 序列化 CTL 內容的編碼 CTL 及其屬性。 |
擴充屬性函式
下列函式會使用憑證、CRL 和 CTL 的擴充屬性。
函式 | 描述 |
---|---|
CertEnumCertificateCoNtextProperties | 列舉指定之憑證內容的屬性。 |
CertEnumCRLCoNtextProperties | 列舉指定 CRL 內容的屬性。 |
CertEnumCTLCoNtextProperties | 列舉指定 CTL 內容的屬性。 |
CertGetCertificateCoNtextProperty | 擷取憑證屬性。 |
CertGetCRLCoNtextProperty | 擷取 CRL 屬性。 |
CertGetCTLCoNtextProperty | 擷取 CTL 屬性。 |
CertSetCertificateCoNtextProperty | 設定憑證屬性。 |
CertSetCRLCoNtextProperty | 設定 CRL 屬性。 |
CertSetCTLCoNtextProperty | 設定 CTL 屬性。 |
MakeCert 函式
下列函式支援 MakeCert 工具。
函式 | 描述 |
---|---|
FreeCryptProvFromCert | 釋放密碼 編譯服務提供者 的控制碼, (CSP) ,並選擇性地刪除 GetCryptProvFromCert 函 式所建立的暫存容器。 |
GetCryptProvFromCert | 取得 CSP 的控制碼,以及憑證內容的金鑰規格。 |
PvkFreeCryptProv | 釋放 CSP 的控制碼,並選擇性地刪除 PvkGetCryptProv 函式所建立的暫存容器。 |
PvkGetCryptProv | 根據私密金鑰檔案名或 金鑰 容器名稱,取得 CSP 的控制碼。 |
PvkPrivateKeyAcquireCoNtextFromMemory | 在 CSP 中建立暫存容器,並將私密金鑰從記憶體載入容器。 |
PvkPrivateKeySave | 將私密金鑰及其對應的 公開金鑰 儲存至指定的檔案。 |
SignError | 呼叫 GetLastError ,並將傳回碼轉換為 HRESULT。 |
憑證驗證函式
憑證是使用 CCL 或憑證鏈結進行驗證。 這兩者都提供函式:
- 使用 CCL 的驗證函式
- 憑證鏈結驗證函式
使用 CCL 的驗證函式
這些函式會在驗證程式中使用 CCL。 如需使用 CCL 的其他函式,請參閱憑證信任清單函式和擴充屬性函式。
下列函式會直接使用 CCL 進行驗證。
函式 | 描述 |
---|---|
CertVerifyCTLUsage | 驗證 CTL 的使用方式。 |
CryptMsgEncodeAndSignCTL | 將 CTL 編碼並簽署為訊息。 |
CryptMsgGetAndVerifySigner | 從訊息擷取並驗證 CTL。 |
CryptMsgSignCTL | 簽署包含 CTL 的訊息。 |
憑證鏈結驗證函式
憑證鏈結是建置來提供個別憑證的信任資訊。
函數名稱 | 描述 |
---|---|
CertCreateCertificateChainEngine | 為應用程式建立新的非預設鏈結引擎。 |
CertCreateCTLEntryFromCertificateCoNtextProperties | 建立 CTL 專案,其屬性是憑證內容的屬性。 |
CertDuplicateCertificateChain | 藉由遞增鏈結的 參考計數 並傳回鏈結的指標,複製憑證鏈結。 |
CertFindChainInStore | 尋找存放區中的第一個或下一個憑證鏈結內容。 |
CertFreeCertificateChain | 藉由減少憑證的參考計數來釋放憑證鏈結。 |
CertFreeCertificateChainEngine | 釋放非預設憑證鏈結引擎。 |
CertFreeCertificateChainList | 釋放鏈結內容的指標陣列。 |
CertGetCertificateChain | 從結束憑證開始建置鏈結內容,並盡可能回到受信任的 根憑證。 |
CertIsValidCRLForCertificate | 檢查 CRL ,以判斷是否要在撤銷該憑證時包含特定憑證。 |
CertSetCertificateCoNtextPropertiesFromCTLEntry | 使用 CTL 專案中的屬性,在憑證內容上設定屬性。 |
CertVerifyCertificateChainPolicy | 檢查憑證鏈結以確認其有效性,包括其符合任何指定的有效原則準則。 |
訊息函數
CryptoAPI 訊息函式包含兩組函式:低階訊息函式和 簡化的訊息函式。
低階訊息函式會建立並直接使用 PKCS #7 訊息。 這些函式會編碼 PKCS #7 資料以進行傳輸,並解碼收到的 PKCS #7 資料。 它們也會解密並驗證已接收訊息的簽章。 如需 PKCS #7 標準和低階訊息的概觀,請參閱 低階訊息。
簡化的訊息函式位於較高層級,並將數個低階訊息函式和憑證函式包裝成單一函式,以特定方式執行特定工作。 這些函式可減少完成工作所需的函式呼叫數目,進而簡化 CryptoAPI 的使用。 如需簡化訊息的概觀,請參閱 簡化的訊息。
- 低階訊息函式
- 簡化的訊息函式
低階訊息函式
低階訊息函式提供編碼資料以進行傳輸所需的功能,以及解碼收到的 PKCS #7 訊息。 也提供功能來解密和驗證已接收訊息的簽章。 不建議在大部分應用程式中使用這些低階訊息函式。 對於大部分的應用程式,最好使用將數個低階訊息函式包裝成單一函式調用的簡化訊息函式。
函式 | 描述 |
---|---|
CryptMsgCalculateEncodedLength | 計算編碼密碼編譯訊息的長度。 |
CryptMsgClose | 關閉密碼編譯訊息的控制碼。 |
CryptMsgControl | 在編碼或解碼的密碼編譯訊息的最終 CryptMsgUpdate 之後執行特殊控制項函式。 |
CryptMsgCountersign | 計數器簽署訊息中已經存在的簽章。 |
CryptMsgCountersignEncoded | 將已存在的簽章 (編碼的 SignerInfo 計數器,如 PKCS #7 所定義) 。 |
CryptMsgDuplicate | 藉由遞增 參考計數來複製密碼編譯訊息控制碼。 參考計數會追蹤訊息的存留期。 |
CryptMsgGetParam | 在編碼或解碼密碼編譯訊息之後取得參數。 |
CryptMsgOpenToDecode | 開啟密碼編譯訊息以進行解碼。 |
CryptMsgOpenToEncode | 開啟密碼編譯訊息以進行編碼。 |
CryptMsgUpdate | 更新密碼編譯訊息的內容。 |
CryptMsgVerifyCountersignatureEncoded | 根據 PKCS #7) 所定義的 SignerInfo 結構 (來驗證 計數器簽署 。 |
CryptMsgVerifyCountersignatureEncodedEx | 確認pbSignerInfoCounterSignature參數包含pbSignerInfo參數結構之 encryptedDigest欄位的加密雜湊。 |
簡化的訊息函式
簡化的訊息函式 會將低階訊息函式包裝成單一函式,以完成指定的工作。
函式 | 描述 |
---|---|
CryptDecodeMessage | 解碼密碼編譯訊息。 |
CryptDecryptAndVerifyMessageSignature | 解密指定的訊息,並驗證簽署者。 |
CryptDecryptMessage | 解密指定的訊息。 |
CryptEncryptMessage | 加密收件者或收件者的訊息。 |
CryptGetMessageCertificates | 傳回包含訊息憑證和CRL的憑證存放區。 |
CryptGetMessageSignerCount | 傳回已簽署訊息中的簽署者計數。 |
CryptHashMessage | 建立訊息的雜湊。 |
CryptSignAndEncryptMessage | 簽署郵件,然後將郵件加密給收件者或收件者。 |
CryptSignMessageWithKey | 使用 CSP 在函式參數中指定的私密金鑰來簽署訊息。 |
CryptSignMessage | 簽署訊息。 |
CryptVerifyDetachedMessageHash | 驗證封裝含中斷連結雜湊的雜湊訊息。 |
CryptVerifyDetachedMessageSignature | 驗證封裝含已中斷連結簽章或簽章的已簽署訊息。 |
CryptVerifyMessageHash | 驗證雜湊訊息。 |
CryptVerifyMessageSignature | 驗證已簽署的訊息。 |
CryptVerifyMessageSignatureWithKey | 使用指定的公開金鑰資訊來驗證已簽署訊息的簽章。 |
輔助函式
輔助函式的分組方式如下:
- 資料管理函式
- 資料轉換函式
- 增強金鑰使用函式
- 索引鍵識別碼函式
- OID 支援函式
- 遠端物件擷取函式
- PFX 函式
資料管理函式
下列 CryptoAPI 函式會管理資料和憑證。
函式 | 描述 |
---|---|
CertCompareCertificate | 比較兩個憑證,以判斷它們是否相同。 |
CertCompareCertificateName | 比較兩個憑證名稱,以判斷它們是否相同。 |
CertCompareIntegerBlob | 比較兩個整數 BLOB。 |
CertComparePublicKeyInfo | 比較兩 個公開金鑰 ,以判斷它們是否相同。 |
CertFindAttribute | 尋找其 物件識別碼 所識別的第一個屬性, (OID) 。 |
CertFindExtension | 尋找其 OID 所識別的第一個延伸模組。 |
CertFindRDNAttr | 在相對辨別名稱的名稱清單中,尋找其 OID 所識別的第一個RDN屬性。 |
CertGetIntendedKeyUsage | 從憑證取得預期的金鑰使用位元組。 |
CertGetPublicKeyLength | 從 公開金鑰 BLOB取得公開/私密金鑰的位長度。 |
CertIsRDNAttrsInCertificateName | 比較 憑證名稱 中的屬性與指定的 CERT_RDN ,以判斷是否包含所有屬性。 |
CertIsStrongHashToSign | 判斷簽署憑證中的指定雜湊演算法和公開金鑰是否可用來執行強式簽署。 |
CertVerifyCRLRevocation | 確認主體憑證不在證書 吊銷清單 上, (CRL) 。 |
CertVerifyCRLTimeValidity | 驗證 CRL 的時間有效性。 |
CertVerifyRevocation | 確認主體憑證不在 CRL 上。 |
CertVerifyTimeValidity | 驗證憑證的時間有效性。 |
CertVerifyValidityNesting | 確認主體的時間有效性巢狀于簽發者的時間有效性內。 |
CryptExportPKCS8 | CryptExportPKCS8Ex 函式會取代此函式。 |
CryptExportPKCS8Ex | 以 PKCS #8 格式匯出私密金鑰。 |
CryptExportPublicKeyInfo | 匯出與提供者對應私密金鑰相關聯的公開金鑰資訊。 |
CryptExportPublicKeyInfoEx | 匯出與提供者對應私密金鑰相關聯的公開金鑰資訊。 此函式與 CryptExportPublicKeyInfo 不同,因為使用者可以指定公開金鑰演算法,藉此覆寫 CSP 所提供的預設值。 |
CryptExportPublicKeyInfoFromBCryptKeyHandle | 匯出與提供者對應私密金鑰相關聯的公開金鑰資訊。 |
CryptFindCertificateKeyProvInfo | 列舉密碼編譯提供者及其 金鑰容器 ,以尋找對應至憑證公開金鑰的私密金鑰。 |
CryptFindLocalizedName | 尋找指定名稱的當地語系化名稱,例如,尋找根系統存放區名稱的當地語系化名稱。 |
CryptHashCertificate |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 雜湊編碼的內容。 |
CryptHashCertificate2 | 使用密碼編譯 API 雜湊資料區塊:新一代 (CNG) 雜湊提供者。 |
CryptHashPublicKeyInfo |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 計算編碼公開金鑰資訊的雜湊。 |
CryptHashToBeSigned |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 計算編碼簽署內容中「要簽署」資訊的雜湊, (CERT_SIGNED_CONTENT_INFO) 。 |
CryptImportPKCS8 |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 將 PKCS #8 格式的 私密金鑰 匯入至 密碼編譯服務提供者 , (CSP) 。 |
CryptImportPublicKeyInfo |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 將公開金鑰資訊轉換成提供者,並傳回公開金鑰的控制碼。 |
CryptImportPublicKeyInfoEx |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 將公開金鑰資訊轉換成提供者,並傳回公開金鑰的控制碼。 除了 CryptImportPublicKeyInfo 所指定的參數 (其他參數,) 可用來覆寫預設值,以補充 CERT_PUBLIC_KEY_INFO。 |
CryptImportPublicKeyInfoEx2 | 將公開金鑰匯入至 CNG 非對稱提供者。 |
CryptMemAlloc | 配置緩衝區的記憶體。 所有傳回已配置緩衝區的 Crypt32.lib 函式都會使用此記憶體。 |
CryptMemFree | 釋放 CryptMemAlloc 或 CryptMemRealloc配置的記憶體。 |
CryptMemRealloc | 釋放目前為緩衝區配置的記憶體,並配置新緩衝區的記憶體。 |
CryptQueryObject |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 擷取 BLOB 或檔案內容的相關資訊。 |
CryptSignAndEncodeCertificate | 編碼「要簽署」的資訊、簽署此編碼資訊,以及編碼產生的已簽署編碼資訊。 |
CryptSignCertificate | 簽署已編碼、已簽署內容中的「要簽署」資訊。 |
CryptSIPAddProvider | 在 SIP) (新增主體介面套件。 |
CryptSIPCreateIndirectData | 傳回SIP_INDIRECT_DATA結構,其中包含所提供SIP_SUBJECTINFO結構、摘要演算法和編碼屬性的雜湊。 雜湊可作為資料的間接參考。 |
CryptSIPGetCaps | 擷取 SIP 的功能。 |
CryptSIPGetSignedDataMsg | 從檔案擷取 Authenticode 簽章。 |
CryptSIPLoad | 載入動態連結程式庫,此程式庫會實作主旨介面套件,並將適當的程式庫匯出函式指派給 SIP_DISPATCH_INFO 結構。 |
CryptSIPPutSignedDataMsg | 將 Authenticode 簽章儲存在目標檔案中。 |
CryptSIPRemoveProvider | 移除先前呼叫 CryptSIPAddProvider 函 式所新增的 SIP。 |
CryptSIPRemoveSignedDataMsg | 移除指定的 Authenticode 簽章。 |
CryptSIPRetrieveSubjectGuid | 根據指定檔案中的標頭資訊擷取 GUID。 |
CryptSIPRetrieveSubjectGuidForCatalogFile | 擷取與指定檔案相關聯的主旨 GUID。 |
CryptSIPVerifyIndirectData | 根據提供的主體驗證間接雜湊資料。 |
CryptUpdateProtectedState | 在使用者 的安全性識別碼 (SID) 變更之後,移轉目前使用者的主要金鑰。 |
CryptVerifyCertificateSignature | 使用公開金鑰資訊來驗證主體憑證或 CRL 的簽章。 |
CryptVerifyCertificateSignatureEx | CryptVerifyCertificateSignature的擴充版本。 |
GetEncSChannel | 將加密的安全通道 DLL 內容儲存在記憶體中。 |
pCryptSIPGetCaps | 由 SIP 實作以報告功能。 |
資料轉換函式
下列 CryptoAPI 函式會將憑證結構成員轉換成不同的形式。
函式 | 描述 |
---|---|
CertAlgIdToOID | 將 CryptoAPI 演算法識別碼 (ALG_ID) 轉換為 抽象語法標記法一 (ASN.1) 物件識別碼 , (OID) 字串。 |
CertGetNameString | 從憑證取得主體或簽發者名稱,並將其轉換為以 Null 結尾的字元字串。 |
CertNameToStr | 將憑證名稱 BLOB 轉換為以零結尾的字串。 |
CertOIDToAlgId | 將 ASN.1 物件識別碼字串轉換為 CSP 演算法識別碼。 |
CertRDNValueToStr | 將 Name 值轉換為以 Null 結尾的字串。 |
CertStrToName | 將以 Null 結尾的 X.500 字串轉換為編碼的憑證名稱。 |
CryptBinaryToString | 將二進位序列轉換成格式化字串。 |
CryptFormatObject | 格式化編碼的資料,並傳回 Unicode 字串。 |
CryptStringToBinary | 將格式化字串轉換成二進位序列。 |
增強金鑰使用函式
下列函式會處理 增強的金鑰使用 方式, (EKU) 延伸模組和憑證的 EKU 擴充屬性。 EKU 延伸模組和擴充屬性會指定及限制憑證的有效用法。 延伸模組是憑證本身的一部分。 它們是由憑證的簽發者所設定,而且是唯讀的。 憑證擴充屬性是與可在應用程式中設定的憑證相關聯的值。
函式 | 描述 |
---|---|
CertAddEnhancedKeyUsageIdentifier | 將使用識別碼新增至憑證的 EKU 屬性。 |
CertGetEnhancedKeyUsage | 從憑證取得 EKU 延伸模組或屬性的相關資訊。 |
CertRemoveEnhancedKeyUsageIdentifier | 從憑證的 EKU 擴充屬性中移除使用識別碼。 |
CertSetEnhancedKeyUsage | 設定憑證的 EKU 屬性。 |
索引鍵識別碼函式
金鑰識別碼函式可讓使用者建立、設定、擷取或尋找金鑰識別碼或其屬性。
金鑰識別碼是 公開/私密金鑰組的唯一識別碼。 它可以是任何唯一識別碼,但通常是編碼 CERT_PUBLIC_KEY_INFO 結構的 20 位元組 SHA1 雜湊。 金鑰識別碼可透過憑證的CERT_KEY_IDENTIFIER_PROP_ID取得。 金鑰識別碼允許使用該 金鑰組 來加密或解密訊息,而不需使用憑證。
金鑰識別碼可以有與憑證內容相同的屬性。 如需詳細資訊,請參閱 CertCreateCoNtext。
函式 | 描述 |
---|---|
CryptCreateKeyIdentifierFromCSP |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 從 CSP 的 公開金鑰 BLOB 建立金鑰識別碼。 |
CryptEnumKeyIdentifierProperties | 列舉金鑰識別碼及其屬性。 |
CryptGetKeyIdentifierProperty |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 從指定的金鑰識別碼取得特定屬性。 |
CryptSetKeyIdentifierProperty |
重要: 此 API 即將淘汰。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。 設定指定之金鑰識別碼的屬性。 |
OID 支援函式
這些函式提供 OID) 支援 (物件識別碼 。 這些函式會安裝、註冊和分派至 OID 和編碼類型特定函式。
下列 CryptoAPI 函式會使用這些 OID 支援函式:
- CryptEncodeObject
- CryptEncodeObjectEx
- CryptDecodeObject
- CryptDecodeObjectEx
- CertVerifyRevocation
- CertOpenStore
如需此程式的概觀,請參閱 擴充 CryptoAPI 功能。
下列函式使用 OID。
函式 | 描述 |
---|---|
CryptEnumOIDFunction | 列舉其編碼類型、函式名稱和 OID 所識別的已註冊 OID 函式。 |
CryptEnumOIDInfo | 列舉其群組所識別的已註冊 OID 資訊,並呼叫 pfnEnumOIDInfo 進行比對。 |
CryptFindOIDInfo | 使用指定的索引鍵和群組來尋找 OID 資訊。 |
CryptFreeOIDFunctionAddress | 釋放 CryptGetOIDFunctionAddress 或 CryptGetDefaultOIDFunctionAddress所遞增和傳回的控制碼計數。 |
CryptGetDefaultOIDDllList | 取得指定函式集和編碼類型的已註冊預設 DLL 專案清單。 |
CryptGetDefaultOIDFunctionAddress | 取得第一個或下一個已安裝的預設函式,或載入包含預設函式的 DLL。 |
CryptGetOIDFunctionAddress | 搜尋已安裝函式的清單,以取得編碼類型和 OID 相符專案。 如果找不到相符專案,則會搜尋登錄以尋找相符專案。 |
CryptGetOIDFunctionValue | 取得指定編碼類型、函式名稱、OID 和值名稱的值。 |
CryptInitOIDFunctionSet | 初始化並傳回所提供的函數名稱所識別之 OID 函式集的控制碼。 |
CryptInstallOIDFunctionAddress | 安裝一組可呼叫的 OID 函式位址。 |
CryptRegisterDefaultOIDFunction | 註冊 DLL,其中包含要針對指定的編碼類型和函式名稱呼叫的預設函式。 |
CryptRegisterOIDFunction | 註冊 DLL,其中包含要針對指定的編碼類型、函式名稱和 OID 呼叫的函式。 |
CryptRegisterOIDInfo | 註冊 CRYPT_OID_INFO 結構中指定的 OID 資訊,並將它保存在登錄中。 |
CryptSetOIDFunctionValue | 設定指定編碼類型、函數名稱、OID 和值名稱的值。 |
CryptUnregisterDefaultOIDFunction | 移除 DLL 的註冊,其中包含要針對指定的編碼類型和函式名稱呼叫的預設函式。 |
CryptUnregisterOIDFunction | 移除 DLL 的註冊,其中包含要針對指定的編碼類型、函式名稱和 OID 呼叫的函式。 |
CryptUnregisterOIDInfo | 移除指定 OID 資訊的註冊。 |
遠端物件擷取函式
下列函式可讓使用者擷取公開金鑰基礎結構 (PKI) 物件、取得憑證、CTL 或 CRL 的 URL,或從物件擷取 URL。
函式 | 描述 |
---|---|
CryptGetObjectUrl | 從憑證、CTL 或 CRL 取得遠端物件的 URL。 |
CryptRetrieveObjectByUrl | 從 URL 所指定的位置擷取 PKI 物件。 |
PFX 函式
下列函式支援個人資訊交換 (PFX) 格式 BLOB。
函式 | 描述 |
---|---|
PFXExportCertStore | 從參考的 憑證匯出會儲存 憑證,如果有的話,其相關聯的 私密金鑰。 |
PFXExportCertStoreEx | 從參考的憑證匯出會儲存憑證,如果有的話,其相關聯的私密金鑰。 |
PFXImportCertStore | 匯入 PFX BLOB,並傳回包含憑證和任何相關聯私密金鑰的存放區控制碼。 |
PFXIsPFXBlob | 嘗試將 BLOB 的外部層解碼為 PFX 封包。 |
PFXVerifyPassword | 嘗試將 BLOB 的外部層解碼為 PFX 封包,並使用指定的密碼將它解密。 |
憑證服務備份和還原函式
憑證服務包含備份和還原憑證服務資料庫的函式。 這些憑證服務備份和還原函式包含在 Certadm.dll 中。 不同于與憑證服務相關聯的其他 API 元素,這些函式不會封裝在可用來呼叫類別方法的 物件中。 相反地,備份和還原 API 會藉由先呼叫 LoadLibrary 將 Certadm.dll 程式庫載入記憶體中,然後呼叫 GetProcAddress來判斷函式的位址。 當您完成呼叫憑證服務備份和還原函式之後,請呼叫 FreeLibrary 以從記憶體釋放 Certadm.dll 資源。
注意
Certadm.dll 提供的備份和還原功能不會備份或還原憑證服務的 私密金鑰。 如需備份憑證服務私密金鑰的相關資訊,請參閱 備份和還原憑證服務私密金鑰。
若要呼叫備份和還原函式,您必須具有備份和還原 許可權。 如需詳細資訊,請參閱 設定備份和還原許可權。
注意
如果先前在用來呼叫憑證服務備份和還原 API 的相同執行緒中呼叫 CoInitializeEx ,則必須將COINIT_APARTMENTTHREADED旗標傳遞至 CoInitializeEx。 也就是說,當使用相同的執行緒時,如果執行緒先前在呼叫 CoInitializeEx中傳入COINIT_MULTITHREADED旗標,則您無法呼叫憑證服務備份和還原 API。
憑證服務備份 API 定義于 Certbcli.h 中。 不過,當您建立程式時,請使用 Certsrv.h 作為包含檔案。
下列 API 是由 Certadm.dll 匯出。
函式 | 描述 |
---|---|
CertSrvBackupClose | 關閉開啟的檔案。 |
CertSrvBackupEnd | 結束備份會話。 |
CertSrvBackupFree | 釋放備份和還原 API 所配置的緩衝區。 |
CertSrvBackupGetBackupLogs | 傳回需要備份的記錄檔清單。 |
CertSrvBackupGetDatabaseNames | 傳回需要備份的資料庫檔案清單。 |
CertSrvBackupGetDynamicFileList | 擷取需要針對指定備份內容備份的憑證服務動態檔案名清單。 |
CertSrvBackupOpenFile | 開啟檔案以準備進行備份。 |
CertSrvBackupPrepare | 準備線上備份的資料庫。 |
CertSrvBackupRead | 讀取已開啟檔案的內容。 |
CertSrvBackupTruncateLogs | 截斷記錄檔。 |
CertSrvIsServerOnline | 判斷憑證服務伺服器是否在線上 (主動執行) 。 |
CertSrvRestoreEnd | 結束還原會話。 |
CertSrvRestoreGetDatabaseLocations | 擷取用於備份和還原案例 () 的資料庫位置。 |
CertSrvRestorePrepare | 開始還原會話。 |
CertSrvRestoreRegister | 註冊還原作業。 |
CertSrvRestoreRegisterComplete | 完成先前註冊的還原作業。 |
CertSrvRestoreRegisterThroughFile | 註冊還原作業。 |
CertSrvServerControl | 將控制項命令傳送至憑證服務實例。 |
回呼函式
本節中的回呼函式可用來註冊或安裝應用程式定義的 憑證存放區 提供者,以及透過回呼函式提供相關功能。 回呼函式是由應用程式實作,並由 CryptoAPI 函式呼叫。 回呼函式可讓應用程式控制 CryptoAPI 函式運算元據的方式。
目錄定義函式
這些函式可用來建立目錄。 MakeCat 會呼叫所有這些函式。
函式 | 描述 |
---|---|
CryptCATCDFClose | 關閉目錄定義檔,並釋放對應 CRYPTCATCDF 結構的記憶體。 |
CryptCATCDFEnumAttributesWithCDFTag | 列舉 CDF 之 CatalogFiles 區段中成員檔案的屬性。 |
CryptCATCDFEnumCatAttributes | 列舉 CDF 之 CatalogHeader 區段中的目錄層級屬性。 |
CryptCATCDFEnumMembersByCDFTagEx | 列舉 CDF 之 CatalogFiles 區段中的個別檔案成員。 |
CryptCATCDFOpen | 開啟現有的 CDF 進行讀取,並初始化 CRYPTCATCDF 結構。 |
目錄函式
這些函式可用來管理目錄。
WinTrust 函式
下列函式可用來執行各種信任作業。
函式 | 描述 |
---|---|
WintrustAddActionID | 將信任提供者動作新增至使用者的系統。 |
WintrustGetRegPolicyFlags | 擷取原則提供者的原則旗標。 |
WintrustAddDefaultForUsage | 指定提供者的預設使用識別碼和回呼資訊 |
WintrustGetDefaultForUsage | 擷取預設的使用識別碼和回呼資訊。 |
WintrustLoadFunctionPointers | 載入指定動作 GUID 的函式進入點。 |
WintrustRemoveActionID | 移除 WintrustAddActionID 函式所新增的動作。 |
WintrustSetDefaultIncludePEPageHashes | 設定預設設定,決定在建立主旨介面套件時是否包含頁面雜湊, (SIP) 可攜式可執行檔的間接資料。 |
WintrustSetRegPolicyFlags | 設定原則提供者的原則旗標。 |
WinVerifyTrust | 在指定的 物件上執行信任驗證動作。 |
WinVerifyTrustEx | 在指定的 物件上執行信任驗證動作,並取得WINTRUST_DATA結構的指標。 |
WTHelperCertCheckValidSignature | 檢查簽章是否有效。 |
WTHelperCertFindIssuerCertificate | 從符合指定主體憑證的指定憑證存放區中尋找簽發者憑證。 |
WTHelperCertIsSelfSigned | 檢查憑證是否自我簽署。 |
WTHelperGetFileHash | 驗證已簽署檔案的簽章,並取得檔案的雜湊值和演算法識別碼。 |
WTHelperGetProvCertFromChain | 從憑證鏈結擷取信任提供者憑證。 |
WTHelperGetProvPrivateDataFromChain | 使用提供者識別碼從鏈 結接收CRYPT_PROVIDER_PRIVDATA 結構。 |
WTHelperGetProvSignerFromChain | 依索引從鏈結擷取簽署者或計數器簽署者。 |
WTHelperProvDataFromStateData | 從指定的控制碼擷取信任提供者資訊。 |
物件定位器函式
下列回呼函式可由安全通道 (安全通道) 安全性套件呼叫的自訂提供者實作,以擷取憑證。
函式 | 描述 |
---|---|
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH | 指定物件已變更。 |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET | 擷取 物件。 |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE | 釋放提供者。 |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD | 釋放用來加密 PFX 位元組陣列的密碼。 |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE | 釋放提供者傳回的物件。 |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER | 釋放物件識別碼的記憶體。 |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE | 將提供者初始化。 |