密碼編譯結構
密碼編譯函式會使用下列結構。 密碼編譯結構會根據使用方式進行分類,如下所示:
CryptXML 結構
CryptXML 函式會使用下列結構。
一般密碼編譯結構
基底密碼編譯函式會使用下列結構。
通用憑證結構
許多憑證函式都會使用下列結構。
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 發佈點清單,以判斷憑證是否已撤銷。 |
這些結構可以使用CryptEncodeObject和CryptEncodeObjectEx函式,編碼為CERT_EXTENSION結構的Value成員。 當解碼CERT_EXTENSION結構的Value成員時,CryptDecodeObject和CryptDecodeObjectEx函式會建立和傳回它們。
編碼或建立的結構取決於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 | 未實作 |
訊息結構
密碼編譯訊息函式會使用下列結構。
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 | 指定單一功能及其相關聯的參數。 |
憑證鏈結結構
下列結構用於建置用來在憑證中建立信任的憑證鏈結。
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 主旨資訊。 |