共用方式為


密碼編譯結構

密碼編譯函式會使用下列結構。 密碼編譯結構會根據使用方式進行分類,如下所示:

CryptXML 結構

CryptXML 函式會使用下列結構。

結構 Description
CRYPT_XML_ALGORITHM 指定用來簽署或轉換訊息的演算法。
CRYPT_XML_ALGORITHM_INFO 包含演算法資訊。
CRYPT_XML_BLOB 包含任意位元組陣列。
CRYPT_XML_CRYPTOGRAPHIC_INTERFACE 傳遞至 CryptXmlDllGetInterface 函式指標,以公開實作的 CryptXML 函式。
CRYPT_XML_DATA_BLOB 包含 XML 編碼的資料。
CRYPT_XML_DATA_PROVIDER 指定 XML 資料提供者的介面。
CRYPT_XML_DOC_CTXT 定義檔內容資訊。
CRYPT_XML_ISSUER_SERIAL 包含 X.509 發出的辨別名稱序號組。
CRYPT_XML_KEY_DSA_KEY_VALUE 定義 DSA) 索引鍵值的 數位簽章演算法 (。 CRYPT_XML_KEY_DSA_KEY_VALUE結構會當做CRYPT_XML_KEY_VALUE結構中索引鍵值聯集的元素使用。
CRYPT_XML_KEY_ECDSA_KEY_VALUE 定義橢圓曲線數位簽章演算法, (ECDSA) 索引鍵值。 CRYPT_XML_KEY_ECDSA_KEY_VALUE結構會當做CRYPT_XML_KEY_VALUE結構中索引鍵值聯集的專案使用。
CRYPT_XML_KEY_INFO 封裝重要資訊資料。
CRYPT_XML_KEY_INFO_ITEM 封裝對應至 KeyInfo 元素的金鑰資訊資料。 KeyInfo元素可讓收件者取得驗證簽章所需的金鑰。
CRYPT_XML_KEY_RSA_KEY_VALUE 定義 RSA 金鑰值。 CRYPT_XML_KEY_RSA_KEY_VALUE結構會當做CRYPT_XML_KEY_VALUE結構中索引鍵值聯集的元素使用。
CRYPT_XML_KEY_VALUE 包含驗證簽章可能很有用的單一 公開金鑰
CRYPT_XML_KEYINFO_PARAM CryptXmlSign函式會使用 來指定要編碼之KeyInfo元素的成員。
CRYPT_XML_OBJECT 描述簽章中的 Object 專案。
CRYPT_XML_PROPERTY 包含 CryptXML 屬性的相關資訊。
CRYPT_XML_REFERENCE 包含用來填入 Reference 元素的資訊。
CRYPT_XML_REFERENCES 定義 CRYPT_XML_REFERENCE 結構的陣列。
CRYPT_XML_SIGNATURE 包含用來填入 Signature 專案的資訊。
CRYPT_XML_SIGNED_INFO 傳回簽章驗證狀態、 SignedInfo 元素的摘要狀態資訊,或 Reference 元素陣列的摘要狀態資訊。
CRYPT_XML_TRANSFORM_CHAIN_CONFIG 定義允許在 XML 數位簽章中使用的應用程式定義轉換。
CRYPT_XML_TRANSFORM_INFO 包含套用資料轉換時所使用的資訊。
CRYPT_XML_X509DATA 表示 X509Data 專案中的選項序列。
CRYPT_XML_X509DATA_ITEM 表示要編碼在 X509Data 具名元素中的 X.509 資料。

 

一般密碼編譯結構

基底密碼編譯函式會使用下列結構。

結構 Description
CMS_DH_KEY_INFO CryptSetKeyParam函式中的KP_CMS_DH_KEY_INFO參數搭配使用,以包含Diffie-Hellman金鑰資訊。
CMS_KEY_INFO 未使用這個結構。
CRYPT_AES_128_KEY_STATE 指定進階加密標準 (AES) 加密的 128 位對稱金鑰資訊。
CRYPT_AES_256_KEY_STATE 指定 AES 加密的 256 位對稱金鑰資訊。
CRYPT_ALGORITHM_IDENTIFIER 包含演算法 (OID) 的物件識別碼 ,以及該演算法的任何必要參數。
CRYPT_ATTRIBUTE 指定具有一或多個值的屬性。
CRYPT_ATTRIBUTE_TYPE_VALUE 包含單一屬性值。
CRYPT_ATTRIBUTES 包含屬性的陣列。
CRYPT_BIT_BLOB 包含位元組陣列。
CRYPT_BLOB_ARRAY 包含 CRYPT_DATA_BLOB 結構的陣列。
CRYPT_CONTENT_INFO 包含以 PKCS #7 ContentInfo 資料格式編碼的資料。
CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY 包含代表憑證之 Netscape 憑證序列的資訊。
CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA CryptInstallDefaultCoNtext 函式搭配使用,以包含物件識別碼字串的陣列。
CRYPT_ECC_CMS_SHARED_INFO 表示在密碼編譯訊息語法 (CMS) EnvelopedData 內容類型中使用橢圓曲線密碼編譯 (ECC) 時的金鑰加密金鑰資訊。
CRYPT_ENCRYPTED_PRI加值稅E_KEY_INFO 包含加密 PKCS #8 私密金鑰的資訊。
CRYPT_ENROLLMENT_NAME_VALUE_PAIR 此結構用來代表使用者建立憑證要求。
CRYPT_INTEGER_BLOB 包含適用于類型之名稱下各種二進位大型物件的資料。
CRYPT_KEY_LIMITS 支援未實作的 CryptGetLocalKeyLimits 函式,且未使用。 它將在未來版本的 Wincrypt.h 中移除。
CRYPT_KEY_PROV_INFO 包含當做引數傳遞至CryptAcquireCoNtext的欄位,以取得特定密碼編譯服務提供者內特定金鑰容器的控制碼, (CSP) ,或建立或終結金鑰容器。
CRYPT_KEY_PROV_PARAM 包含要當做引數傳遞至 CryptSetProvParam的資料。
CRYPT_KEY_SIGN_MESSAGE_PARA 包含用來簽署訊息之 CSP 和演算法的相關資訊。
CRYPT_KEY_VERIFY_MESSAGE_PARA 包含不需要簽署者憑證來驗證已簽署訊息所需的資訊。
CRYPT_MASK_GEN_ALGORITHM 識別用來產生 RSA PKCS #1 v2.1 簽章遮罩的演算法。
CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE 包含物件位置提供者所實作之函式的指標。
CRYPT_PKCS8_EXPORT_PARAMS 包含識別私密金鑰和回呼函式指標的資訊。
CRYPT_PKCS8_IMPORT_PARAMS 包含 PKCS #8 私密金鑰和回呼函式的兩個指標。
CRYPT_PKCS12_PBE_PARAMS 包含用來為PKCS #12密碼加密演算法建立加密金鑰、初始化向量 (IV) 或訊息驗證碼 (MAC) 金鑰的參數。
CRYPT_PRI加值稅E_KEY_INFO 包含 PKCS #8 私密金鑰的資訊。
CRYPT_PSOURCE_ALGORITHM 識別演算法和 (選擇性地) RSAES-OAEP 金鑰加密的標籤值。
CRYPT_RETRIEVE_AUX_INFO 包含要傳遞至 CryptRetrieveObjectByUrl 函式的選擇性時間同步處理資訊。
CRYPT_RSA_SSA_PSS_PARAMETERS 包含 RSA PKCS #1 v2.1 簽章的參數。
CRYPT_RSAES_OAEP_PARAMETERS 包含 RSAES-OAEP 金鑰加密的參數。
CRYPT_SEQUENCE_OF_ANY 包含編碼 BLOB的任意清單。
CRYPT_SMART_CARD_ROOT_INFO 包含與憑證內容相關聯的智慧卡和會話識別碼。
CRYPT_TIME_STAMP_REQUEST_INFO 此結構用於時間戳記。
CRYPT_URL_INFO 包含 URL 群組的相關資訊。
CRYPT_X942_OTHER_INFO 包含其他金鑰產生資訊。
CRYPTNET_URL_CACHE_FLUSH_INFO 包含 Cryptnet URL 快取 (CUC) 服務用來維護 URL 快取專案的到期資訊。
CRYPTNET_URL_CACHE_PRE_FETCH_INFO 包含 Cryptnet URL 快取 (CUC) 服務用來維護 URL 快取專案的更新資訊。
CRYPTNET_URL_CACHE_RESPONSE_INFO 包含 Cryptnet URL 快取 (CUC) 服務用來維護 URL 快取專案的回應資訊。
CRYPT_INTEGER_BLOB 這個結構用於任意位元組陣列。
CRYPTPROTECT_PROMPTSTRUCT 提供提示的文字,以及使用 CryptProtectDataCryptUnprotectData 函式時要顯示提示的時機和位置的相關資訊。
CRYPTUI_INITDIALOG_STRUCT 支援 CRYPTUI_VIEWCERTIFICATE_STRUCT 結構。
CRYPTUI_SELECTCERTIFICATE_STRUCT 包含 CryptUIDlgSelectCertificate 函式所顯示之對話方塊的相關資訊。
CRYPTUI_VIEWCERTIFICATE_STRUCT 包含要檢視之憑證的相關資訊。 它用於 CryptUIDlgViewCertificate 函式中。
CRYPTUI_VIEWSIGNERINFO_STRUCT 包含 CryptUIDlgViewSignerInfo 函式的資訊。
CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO 包含在匯出憑證時控制 CryptUIWizExport 函 式作業的資訊。
CRYPTUI_WIZ_EXPORT_INFO 包含控制 CryptUIWizExport 函 式作業的資訊。
CRYPTUI_WIZ_IMPORT_SRC_INFO 包含要匯入 CryptUIWizImport 函式的主體。
DHPRIVKEY_VER3 包含 金鑰 BLOB中所包含特定私密金鑰的特定資訊。
DHPUBKEY 包含金鑰 BLOB 中所包含特定Diffie-Hellman公開金鑰的特定資訊。
DHPUBKEY_VER3 包含金鑰 BLOB 中所包含特定公開金鑰的特定資訊。
Diffie-Hellman 第 3 版私密金鑰 BLOB 用來匯出和匯入 DH 私密金鑰的相關資訊。
Diffie-Hellman 第 3 版公開金鑰 BLOB 用來匯出和匯入 DH 公開金鑰的相關資訊。
DSS 第 3 版私密金鑰 BLOB 用來匯出和匯入 DH 私密金鑰的相關資訊。
DSS 第 3 版公開金鑰 BLOB 用來匯出和匯入 DH 公開金鑰的相關資訊。
DSSPRIVKEY_VER3 包含金鑰 BLOB 中所包含特定私密金鑰的特定資訊。
DSSPUBKEY 包含金鑰 BLOB 中所包含特定公開金鑰的特定資訊。
DSSPUBKEY_VER3 包含金鑰 BLOB 中所包含特定公開金鑰的特定資訊。
DSSSEED 保留種子和計數器值,可用來驗證 DSS 公開金鑰的質數。
HMAC_INFO 指定要用來計算雜湊型訊息驗證程式代碼雜湊演算法和內部和外部字串, (HMAC) 雜湊。
KEYSVC_BLOB 定義金鑰服務 BLOB。
KEYSVC_UNICODE_STRING 定義金鑰服務 Unicode 字串。
OCSP_BASIC_RESPONSE_ENTRY 包含單一憑證的目前憑證狀態。
OCSP_BASIC_RESPONSE_INFO 包含 RFC 2560所指定的基本 OCSP 回應。
OCSP_BASIC_REVOKED_INFO 包含撤銷憑證的原因。
OCSP_BASIC_SIGNED_RESPONSE_INFO 包含具有簽章的基本 OCSP 回應。
OCSP_CERT_ID 包含在 OCSP 要求或回應中識別憑證的資訊。
OCSP_REQUEST_ENTRY 包含 OCSP 要求中單一憑證的相關資訊。
OCSP_REQUEST_INFO 包含 RFC 2560所指定 OCSP 要求的資訊。
OCSP_RESPONSE_INFO 指出對應 OCSP 要求的成功或失敗。 對於成功的要求,它包含回應資訊的類型和值。
OCSP_SIGNATURE_INFO 包含 OCSP 要求或回應的簽章。
OCSP_SIGNED_REQUEST_INFO 包含具有選擇性簽章資訊之 OCSP 要求的資訊。
PROV_ENUMALGS 由對 CryptGetProvParamCPGetProvParam的呼叫傳回。
PROV_ENUMALGS_EX 由對 CryptGetProvParamCPGetProvParam的呼叫傳回。
PUBLICKEYSTRUC 指出金鑰的 BLOB 類型和金鑰使用的演算法。
ROOT_INFO_LUID 包含密碼編譯智慧卡根資訊的本機 唯一識別碼 (LUID) 。
RSAPUBKEY 包含金鑰 BLOB 中所含特定公開金鑰的特定資訊。
SCHANNEL_ALG 包含演算法和金鑰大小資訊。
SIGNER_ATTR_AUTHCODE 指定 Authenticode 簽章 的屬性。
SIGNER_BLOB_INFO 指定要簽署的 BLOB
SIGNER_CERT 指定用來簽署檔的憑證。 憑證可以儲存在 軟體發行者憑證 (SPC) 檔案或憑證存放區中。
SIGNER_CERT_STORE_INFO 指定用來簽署檔的憑證存放區。
SIGNER_CONTEXT 包含已簽署的 BLOB。
SIGNER_FILE_INFO 指定要簽署的檔案。
SIGNER_PROVIDER_INFO 指定用來建立數位簽章的 CSP 和私密金鑰資訊。
SIGNER_SIGNATURE_INFO 包含數位簽章的相關資訊。
SIGNER_SPC_CHAIN_INFO 指定用來簽署檔的軟體 發行者憑證 (SPC) 和憑證鏈結。
SIGNER_SUBJECT_INFO 指定要簽署的主體。

 

通用憑證結構

許多憑證函式都會使用下列結構。

結構 Description
CERT_BIOMETRIC_DATA 包含生物特徵辨識資料的相關資訊。
CERT_BIOMETRIC_EXT_INFO 包含一組生物特徵辨識資訊。
CERT_CONTEXT 同時包含 憑證的編碼和解碼標記法。
CERT_CRL_CONTEXT_PAIR 包含憑證內容和相關聯的 CRL 內容。
CERT_DH_PARAMETERS 包含與 Diffie-Hellman 公開金鑰演算法相關聯的參數。
CERT_DSS_PARAMETERS 包含與 DSS 公開金鑰演算法相關聯的參數。
CERT_ECC_SIGNATURE 包含橢圓曲線數位簽章演算法的 r 和 s 值, (ECDSA) 簽章。
CERT_EXTENSION 包含 憑證的延伸模組資訊、 憑證撤銷清單 (CRL) 或憑證 信任清單 (CTL) 。
CERT_EXTENSIONS 包含延伸模組的陣列。
CERT_GENERAL_SUBTREE 此結構用於 CERT_NAME_CONSTRAINTS_INFO 結構中,提供可包含或排除之憑證的身分識別。
CERT_HASHED_URL 包含雜湊 URL。
CERT_ID 用來作為唯一識別憑證的彈性方式。
CERT_INFO 包含憑證的資訊。
CERT_KEY_CONTEXT 包含與CERT_KEY_CONTEXT_PROP_ID屬性相關聯之CERT_EXTENSION結構之Value成員pvData成員的資料。
CERT_KEYGEN_REQUEST_INFO 包含儲存在 Netscape Keygen 要求中的資訊。
CERT_LDAP_STORE_OPENED_PARA 使用 CERT_LDAP_STORE_OPENED_FLAG旗標指定CERT_STORE_PROV_LDAP提供者時,搭配CertOpenStore函式使用,以指定用來執行查詢的現有 LDAP 會話以及 LDAP 查詢字串。
CERT_LOGOTYPE_AUDIO 包含音訊標誌類型的相關資訊。
CERT_LOGOTYPE_AUDIO_INFO 包含音訊標誌類型的詳細資訊。
CERT_LOGOTYPE_DATA 包含標誌類型資料。
CERT_LOGOTYPE_DETAILS 包含標誌類型的其他資訊。
CERT_LOGOTYPE_EXT_INFO 包含一組標誌類型資訊。
CERT_LOGOTYPE_IMAGE 包含影像標誌類型的相關資訊。
CERT_LOGOTYPE_IMAGE_INFO 包含影像標誌類型的更詳細資訊。
CERT_LOGOTYPE_INFO 包含標誌類型資料的相關資訊。
CERT_LOGOTYPE_REFERENCE 包含標誌類型參考資訊。
CERT_NAME_CONSTRAINTS_INFO 包含特別允許或排除信任之憑證的相關資訊。
CERT_NAME_INFO 包含主體或簽發者名稱。 資訊會以 CERT_RDN 結構的陣列表示。
CERT_NAME_VALUE 包含 RDN) 屬性值 (相對辨別名稱
CERT_OTHER_LOGOTYPE_INFO 包含未預先定義之標誌類型的相關資訊。
CERT_PAIR 包含憑證及其配對交叉憑證。
CERT_PHYSICAL_STORE_INFO 包含實體 憑證存放區的相關資訊。
CERT_POLICY_CONSTRAINTS_INFO 包含已建立的原則,可接受信任的憑證。
CERT_POLICY_MAPPING 包含簽發者網域與主體網域原則 OID 之間的對應。
CERT_POLICY_MAPPINGS_INFO 提供兩個網域原則 OID 之間的對應。
CERT_PUBLIC_KEY_INFO 包含公開金鑰及其演算法。
CERT_QC_STATEMENT 表示一或多個語句序列中的單一語句,以包含在限定憑證 (QC) 語句延伸中。
CERT_QC_STATEMENTS_EXT_INFO 包含一或多個語句序列,這些語句組成 QC 的限定憑證 (QC) 語句延伸。
CERT_RDN 包含由CERT_RDN_ATTR結構陣列組成的相對 辨別名稱 (RDN )
CERT_RDN_ATTR 包含 相對辨別名稱 的單一屬性, (RDN) 。
CERT_REQUEST_INFO 包含 憑證要求的資訊。
CERT_REVOCATION_CRL_INFO 包含 CRL 撤銷類型處理常式所更新的資訊。
CERT_REVOCATION_PARA 此結構可以選擇性地傳遞至 CertVerifyRevocation ,以協助尋找要驗證的內容簽發者。
CERT_REVOCATION_STATUS 包含憑證撤銷狀態的相關資訊。
CERT_SELECT_STRUCT 包含要選取憑證選取對話方塊中所呈現憑證的準則。 此結構用於 CertSelectCertificate 函式中。
CERT_SIGNED_CONTENT_INFO 包含要簽署的編碼內容,以及要保存簽章的 BLOB
CERT_STORE_PROV_FIND_INFO 許多存放區提供者回呼函式都會使用此結構。
CERT_STORE_PROV_INFO 包含當使用CertOpenStore開啟存放區時,已安裝的 CertDllOpenStoreProv所傳回的資訊。
CERT_STRONG_SIGN_PARA 包含用來檢查憑證、CRL、OCSP 回應和 PKCS #7 訊息強式簽章的參數。
CERT_STRONG_SIGN_SERIALIZED_INFO 包含可用於強式簽署的簽章演算法/雜湊演算法公開金鑰演算法/位長度組。
CERT_SUBJECT_INFO_ACCESS 這是 CERT_AUTHORITY_INFO_ACCESS 結構的同義字。
CERT_SYSTEM_STORE_INFO 包含與系統存放區搭配運作的函式所使用的資訊。
CERT_SYSTEM_STORE_RELOCATE_PARA 包含當該函式的dwFlags參數設定為 CERT_SYSTEM_STORE_RELOCATE_FLAG 時,要傳遞至CertOpenStore的資料。
CERT_TEMPLATE_EXT 此結構是憑證範本。
CERT_X942_DH_PARAMETERS 包含與Diffie-Hellman公開金鑰演算法相關聯的參數。
CERT_X942_DH_VALIDATION_PARAMS 這個結構是由 CERT_X942_DH_PARAMETERS 結構的成員選擇性指向,並包含其他種子資訊。
CMC_ADD_ATTRIBUTES_INFO 包含要加入至憑證的憑證屬性。
CMC_ADD_EXTENSIONS_INFO 包含要新增至憑證的憑證延伸模組控制項屬性。
CMC_DATA_INFO 此結構提供通訊不同標記資訊片段的方法。
CMC_PEND_INFO 這個結構是 CMC_STATUS_INFO 結構的可能成員。
CMC_RESPONSE_INFO 此結構提供通訊不同標記資訊片段的方法。
CMC_STATUS_INFO 包含透過 CMS 的憑證管理訊息狀態資訊。
CMC_TAGGED_ATTRIBUTE 此結構用於 CMC_DATA_INFOCMC_RESPONSE_INFO 結構。
CMC_TAGGED_CERT_REQUEST 此結構用於 CMC_TAGGED_REQUEST 結構。
CMC_TAGGED_CONTENT_INFO 此結構用於 CMC_DATA_INFOCMC_RESPONSE_INFO 結構。
CMC_TAGGED_OTHER_MSG 此結構用於 CMC_DATA_INFOCMC_RESPONSE_INFO 結構。
CMC_TAGGED_REQUEST 此結構用於 CMC_DATA_INFO 結構來要求憑證。
CRL_CONTEXT 包含 CRL 的編碼和解碼表示。
CRL_ENTRY 包含單一撤銷憑證的相關資訊。 它是 CRL_INFO 結構的成員。
CRL_INFO 包含憑證撤銷清單的資訊, (CRL) 。
CRL_ISSUING_DIST_POINT 包含 CRL 中列出的憑證類型相關資訊。
CROSS_CERT_DIST_POINTS_INFO 此結構提供用來更新動態交叉憑證的資訊。
CTL_ANY_SUBJECT_INFO 包含在 CTL 中要比對的SubjectAlgorithm,以及在呼叫CertFindSubjectInCTL的其中一個 CTL 專案中比對的 SubjectIdentifier
CTL_CONTEXT 同時包含 CTL 的編碼和解碼標記法。
CTL_ENTRY 此結構是憑證 信任清單 的元素, (CTL) 。
CTL_FIND_SUBJECT_PARA 包含 CertFindCTLInStore 搭配 dwFindType CTL_FIND_SUBJECT用來尋找憑證 信任清單 (CTL) 的資料。
CTL_FIND_USAGE_PARA 這個結構是 CTL_FIND_SUBJECT_PARA 結構的成員,並由 CertFindCTLInStore使用。
CTL_INFO 包含儲存在 憑證信任清單中 的資訊, (CTL) 。
CTL_MODIFY_REQUEST 包含修改憑證信任清單的要求。 此結構用於 CertModifyCertificatesToTrust 函式中。
CTL_USAGE 包含憑證 信任清單 (CTL) 延伸模組的物件識別碼陣列 (OID) 。
CTL_VERIFY_USAGE_PARA 包含 CertVerifyCTLUsage 用來建立 CTL 使用方式有效性的參數。
CTL_VERIFY_USAGE_STATUS 包含CertVerifyCTLUsage所傳回之憑證信任清單 (C) TL 的相關資訊。

 

X.509 憑證延伸結構

下列結構與 X.509 CERT_EXTENSION 結構相關聯。

結構 Description
CERT_ACCESS_DESCRIPTION 這個結構是 CERT_AUTHORITY_INFO_ACCESS 結構的成員。
CERT_ALT_NAME_ENTRY 包含各種名稱形式之一的替代名稱。
CERT_ALT_NAME_INFO 用於主體或簽發者 憑證的編碼和解碼延伸模組、 憑證撤銷清單 (CRL) ,以及 憑證信任清單 (CCL) 。
CERT_AUTHORITY_INFO_ACCESS 代表授權單位資訊存取和主體資訊存取憑證延伸模組,並指定如何存取該憑證主體或簽發者的其他資訊和服務。
CERT_AUTHORITY_KEY_ID_INFO 識別用來簽署 憑證 或 CRL 的金鑰。
CERT_AUTHORITY_KEY_ID2_INFO 識別用來簽署 憑證 或 CRL 的金鑰。 它與 CERT_AUTHORITY_KEY_ID_INFO結構不同 ,因為憑證簽發者是 CERT_ALT_NAME_INFO ,而不是 CERT_NAME_BLOB
CERT_BASIC_CONSTRAINTS_INFO 包含資訊,指出認證主體是否可以做為 CA、端實體或兩者。
CERT_BASIC_CONSTRAINTS2_INFO 包含資訊,指出認證主體是否可以做為 CA 或結束實體。
CERT_KEY_ATTRIBUTES_INFO 包含所認證公開金鑰的選擇性其他資訊。
CERT_KEY_USAGE_RESTRICTION_INFO 包含對憑證公開金鑰的使用限制。
CERT_POLICIES_INFO 包含 CERT_POLICY_INFO的陣列。
CERT_POLICY_ID 包含憑證明確支援的憑證原則清單,以及這些原則的選擇性限定詞資訊。
CERT_POLICY_INFO 包含物件識別碼 (OID) 指定原則和選擇性的原則限定詞陣列。
CERT_POLICY_QUALIFIER_INFO 包含物件識別碼 (OID) 指定限定詞和限定詞特定的補充資訊。
CERT_PRI加值稅E_KEY_VALIDITY 指出對應至憑證公開金鑰之私密金鑰的有效時間範圍。
CRL_DIST_POINT 識別憑證使用者可以參考的單一 CRL 發佈點,以判斷是否已撤銷憑證。
CRL_DIST_POINT_NAME 識別可從中取得 CRL 的位置。
CRL_DIST_POINTS_INFO 包含憑證使用者可以參考的 CRL 發佈點清單,以判斷憑證是否已撤銷。

 

這些結構可以使用CryptEncodeObjectCryptEncodeObjectEx函式,編碼為CERT_EXTENSION結構的Value成員。 當解碼CERT_EXTENSION結構的Value成員時,CryptDecodeObjectCryptDecodeObjectEx函式會建立和傳回它們。

編碼或建立的結構取決於CERT_EXTENSION結構的pszObjId字串成員。

下表顯示目前延伸模組預先定義的常數和 OID,以及與每個相關聯的結構。

注意

預先定義的常數 (資料行 1) 及其對應的 OID (資料行 2) 可以交換使用。

 

預先定義的常數 物件識別碼 (OID) 資料結構
X509_AUTHORITY_INFO_ACCESS szOID_AUTHORITY_INFO_ACCESS CERT_AUTHORITY_INFO_ACCESS
X509_AUTHORITY_KEY_ID szOID_AUTHORITY_KEY_IDENTIFIER CERT_AUTHORITY_KEY_ID_INFO
X509_ALTERNATE_NAME szOID_SUBJECT_ALT_NAME – 或 –
szOID_ISSUER_ALT_NAME
CERT_ALT_NAME_INFO
X509_BASIC_CONSTRAINTS szOID_BASIC_CONSTRAINTS CERT_BASIC_CONSTRAINTS_INFO
X509_BASIC_CONSTRAINTS2 szOID_BASIC_CONSTRAINTS2 CERT_BASIC_CONSTRAINTS2_INFO
X509_CERT_POLICIES szOID_CERT_POLICIES CERT_POLICIES_INFO
X509_KEY_ATTRIBUTES szOID_KEY_ATTRIBUTES CERT_KEY_ATTRIBUTES_INFO
X509_KEY_USAGE szOID_KEY_USAGE CRYPT_BIT_BLOB
X509_KEY_USAGE_RESTRICTION szOID_KEY_USAGE_RESTRICTION CERT_KEY_USAGE_RESTRICTION_INFO
szOID_POLICY_MAPPINGS 未實作
szOID_SUBJECT_DIR_ATTRS 未實作

 

訊息結構

密碼編譯訊息函式會使用下列結構。

結構 Description
CMSG_CMS_RECIPIENT_INFO 此結構會與 CryptMsgGetParam 函式搭配使用,以取得金鑰傳輸、金鑰協定或郵寄清單信封郵件收件者的相關資訊。
CMSG_CMS_SIGNER_INFO 這個結構包含已簽署或簽署和信封訊息中定義的 SignerInfo 內容。
CMSG_CNG_CONTENT_DECRYPT_INFO 包含 在 CryptMsgControl 與 OID 可安裝函式之間傳遞的所有相關資訊,以匯入和解密密碼編譯 API:新一代 (CNG) 內容加密金鑰 (CEK) 。
CMSG_CONTENT_ENCRYPT_INFO 包含PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY、PFN_CMSG_EXPORT_KEY_TRANSPFN_CMSG_EXPORT_KEY_AGREEPFN_CMSG_EXPORT_MAIL_LIST物件識別碼之間共用的資訊, (OID) 可安裝函式,用於加密和匯出內容加密金鑰。
CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA 這個結構可用來將未經驗證的屬性新增至已簽署訊息的簽署者。
CMSG_CTRL_DECRYPT_PARA 此結構包含用來解密金鑰傳輸收件者之信封郵件的資訊。 如果dwCtrlType參數CMSG_CTRL_DECRYPT,這個結構會傳遞至CryptMsgControl
CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA 這個結構可用來刪除已簽署訊息之簽署者的未驗證屬性。
CMSG_CTRL_KEY_AGREE_DECRYPT_PARA 此結構包含金鑰合約收件者的相關資訊。
CMSG_CTRL_KEY_TRANS_DECRYPT_PARA 這個結構包含金鑰傳輸郵件收件者的相關資訊。
CMSG_CTRL_MAIL_LIST_DECRYPT_PARA 這個結構包含郵寄清單郵件收件者的相關資訊。
CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA 這個結構包含用來驗證訊息簽章的資訊。 它包含簽署者索引和簽署者公開金鑰。 簽署者公開金鑰可以是簽署者的 CERT_PUBLIC_KEY_INFO結構、 憑證內容或鏈結內容。
CMSG_ENVELOPED_ENCODE_INFO 這個結構包含編碼信封訊息所需的資訊。 如果dwMsgType CMSG_ENVELOPED,則會傳遞至CryptMsgOpenToEncode
CMSG_ENVELOPED_HASHED_INFO 這個結構會與 雜湊訊息 搭配使用。 如果dwMsgType CMSG_ENVELOPED,則會傳遞至CryptMsgOpenToEncode
CMSG_KEY_AGREE_ENCRYPT_INFO 包含適用于信封郵件之所有金鑰合約收件者的加密資訊。
CMSG_KEY_AGREE_KEY_ENCRYPT_INFO 包含信封郵件之金鑰合約收件者的加密金鑰。
CMSG_KEY_TRANS_ENCRYPT_INFO 包含信封資料之金鑰傳輸收件者的加密資訊。
CMSG_MAIL_LIST_ENCRYPT_INFO 包含信封資料郵寄清單收件者的加密資訊。
CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO 此結構包含使用金鑰合約金鑰管理的郵件收件者相關資訊。
CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO 這個結構包含郵件收件者的編碼金鑰傳輸資訊。
CMSG_KEY_TRANS_RECIPIENT_INFO 這個結構包含金鑰傳輸演算法中使用的資訊。
CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO 此結構會與先前散發的 對稱金鑰 搭配使用,以將內容金鑰加密金鑰解密 (KEK) 。
CMSG_MAIL_LIST_RECIPIENT_INFO 此結構包含用於先前分散式 對稱 金鑰加密金鑰的資訊, (KEK) 。
CMSG_RC2_AUX_INFO 此結構包含 RC2 加密演算法的金鑰位長度。 CMSG_ENVELOPED_ENCODE_INFO中的pvEncryptionAuxInfo成員可以設定為指向這個 結構的實例。
CMSG_RC4_AUX_INFO 此結構包含 RC4 加密演算法的金鑰位長度。 CMSG_ENVELOPED_ENCODE_INFO中的pvEncryptionAuxInfo成員可以設定為指向這個 結構的實例。
CMSG_RECIPIENT_ENCODE_INFO 此結構包含訊息收件者的內容加密金鑰管理類型資訊。
CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO 此結構包含用來解密訊息內容所需工作階段金鑰之訊息接收者的資訊。 此結構會搭配使用任何金鑰管理方法的 CMS 低階訊息使用。
CMSG_RECIPIENT_ENCRYPTED_KEY_INFO 此結構包含用於個別金鑰合約收件者的資訊。
CMSG_SIGNED_ENCODE_INFO 如果dwMsgType CMSG_SIGNED,此結構包含要傳遞至CryptMsgOpenToEncode的資訊。
CMSG_SIGNER_ENCODE_INFO 這個結構包含簽署者資訊。 如果dwMsgType參數CMSG_SIGNED,它會傳遞至CryptMsgCountersign、CryptMsgCountersignEncode,並選擇性地傳遞至CryptMsgOpenToEncode作為CMSG_SIGNED_ENCODE_INFO結構的成員。
CMSG_SIGNER_INFO 這個結構包含已簽署訊息中已定義 SignerInfo 之 PKCS #7 的內容。
CMSG_SP3_COMPATIBLE_AUX_INFO 此結構包含 SP3 相容加密所需的資訊。
CMSG_STREAM_INFO 這個結構可用來啟用處理資料流程資料,而不是單一區塊處理。 串流處理最常用於處理大型訊息。 串流處理訊息可以源自任何序列化的來源,例如硬碟、伺服器或 CD ROM 上的檔案。
CRYPT_DECRYPT_MESSAGE_PARA 包含解密訊息的資訊。
CRYPT_ENCRYPT_MESSAGE_PARA 包含用來加密訊息的資訊。
CRYPT_HASH_MESSAGE_PARA 包含 雜湊 訊息的資料。
CRYPT_SIGN_MESSAGE_PARA 包含使用指定簽署憑證內容簽署訊息的資訊。
CRYPT_VERIFY_MESSAGE_PARA 包含驗證已簽署訊息所需的資訊。

 

OID 支援結構

OID 支援函式會使用下列結構。

結構 Description
CRYPT_OID_FUNC_ENTRY 包含 (OID) 的物件識別碼 ,以及其相關函式的指標。 它與CryptInstallOIDFunctionAddress搭配使用
CRYPT_OID_INFO 包含 物件識別碼 的相關資訊, (OID) 。
CRYPT_RC2_CBC_PARAMETERS 包含與szOID_RSA_RC2CBC加密搭配使用的資訊。
CRYPT_SMIME_CAPABILITIES 包含已排定優先順序的支援功能陣列。
CRYPT_SMIME_CAPABILITY 指定單一功能及其相關聯的參數。

 

憑證鏈結結構

下列結構用於建置用來在憑證中建立信任的憑證鏈結。

結構 Description
AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA 保存用於驗證檔案憑證鏈結的原則資訊。
AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS 保存其他 Authenticode 原則資訊,以進行檔案鏈結驗證。
AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA 包含可用於憑證鏈結驗證檔案的時間戳記原則資訊。
CERT_CHAIN_CONTEXT 包含簡單憑證鏈結的陣列和信任狀態結構,表示所有連線簡單鏈結上的摘要有效性資料。
CERT_CHAIN_ELEMENT 此結構是簡單憑證鏈結中的單一元素。
CERT_CHAIN_ENGINE_CONFIG 設定用於建置非預設憑證鏈結引擎的參數。
CERT_CHAIN_FIND_BY_ISSUER_PARA 保存 CertFindChainInStore 中用來建置憑證鏈結的資訊。
CERT_CHAIN_PARA 建立要用於建置憑證鏈結的搜尋和比對準則。
CERT_CHAIN_POLICY_PARA 包含 CertVerifyCertificateChainPolicy 中用來建立憑證鏈結驗證原則準則的資訊。
CERT_CHAIN_POLICY_STATUS 保存 CertVerifyCertificateChainPolicy 從憑證鏈結驗證傳回的憑證鏈結狀態資訊。
CERT_REVOCATION_INFO 指出CERT_CHAIN_ELEMENT中憑證的撤銷狀態。
CERT_SELECT_CHAIN_PARA 包含用於建置和選取鏈結的參數。
CERT_SIMPLE_CHAIN 包含鏈結專案的陣列,以及陣列所代表之鏈結的摘要信任狀態。
CERT_SELECTUI_INPUT 由 CertSelectionGetSerializedBlob函式用來序列化存放區或憑證鏈結陣列中包含的憑證。 傳回的序列化 BLOB 可以傳遞至 CredUIPromptForWindowsCredentials 函 式。
CERT_TRUST_LIST_INFO 表示 CTL 的有效使用方式。
CERT_TRUST_STATUS 包含憑證鏈結中憑證的信任資訊、簡單憑證鏈結的摘要信任資訊,或簡單鏈結陣列的摘要資訊。
CERT_USAGE_MATCH 提供用來尋找用來建置憑證鏈結之簽發者憑證的參數。
CTL_USAGE_MATCH 提供用來建立憑證鏈結 (CTL) 尋找 憑證信任清單 的參數。
SSL_EXTRA_CERT_CHAIN_POLICY_PARA 保存 安全通訊端層 驗證中所使用的原則資訊, (SSL) 用戶端/伺服器憑證鏈結。

 

CSP 結構

下列結構會與 密碼編譯服務提供者 搭配使用, (CSP) 函式。

結構 Description
BLOBHEADER 指出金鑰的 BLOB 類型和金鑰使用的演算法。
VTableProvStruc 包含 CSP 函式可以使用的回呼函式指標。
PLAINTEXTKEYBLOB 包含純文字索引鍵的參數標頭資訊。

 

WinTrust 結構

下列結構會與 WinVerifyTrust 函式搭配使用。

結構 Description
CRYPT_PROVIDER_DEFUSAGE 由 WintrustGetDefaultForUsage函式用來擷取提供者預設使用方式的回呼資訊。
CRYPT_PROVIDER_REGDEFUSAGE 由 WintrustAddDefaultForUsage函式用來註冊提供者預設使用方式的回呼資訊。
SPC_INDIRECT_DATA_CONTENT 儲存 Authenticode 簽署檔案的摘要和其他屬性。
WINTRUST_BLOB_INFO 用於呼叫 WinVerifyTrust 來驗證記憶體 BLOB。
WINTRUST_CATALOG_INFO 用於呼叫 WinVerifyTrust 來驗證 Microsoft 目錄的成員。
WINTRUST_CERT_INFO 用於呼叫 WinVerifyTrust 來驗證 CERT_CONTEXT
WINTRUST_DATA 呼叫WinVerifyTrust以將必要資訊傳遞至信任提供者時使用
WINTRUST_FILE_INFO 在呼叫 WinVerifyTrust 來驗證個別檔案時使用。
WINTRUST_SGNR_INFO 用於呼叫 WinVerifyTrust 來驗證 CMSG_SIGNER_INFO 結構。

 

SIP 結構

主體 介面套件 (SIPP 函式會使用下列結構。

結構 Description
SIP_ADD_NEWPROVIDER 定義 SIP。
SIP_CAP_SET 定義 SIP 的功能。
SIP_DISPATCH_INFO 包含 SIP 函式的一組指標。
SIP_INDIRECT_DATA 包含雜湊主體資訊的摘要。
SIP_SUBJECTINFO 指定 SIP 主旨資訊。