Криптографические структуры
Следующие структуры используются функциями шифрования. Структуры шифрования классифицируются в соответствии с использованием следующим образом:
- Структуры CryptXML
- Общие структуры шифрования
- Общие структуры сертификатов
- Структуры расширений сертификатов X.509
- Структуры сообщений
- Структуры поддержки OID
- Структуры цепочки сертификатов
- Структуры CSP
- Структуры WinTrust
- Структуры SIP
Структуры CryptXML
Следующие структуры используются функциями CryptXML.
Структура | Описание |
---|---|
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 | Представляет данные X.509 , которые необходимо закодировать в именованном элементе X509Data. |
Общие структуры шифрования
Следующие структуры используются базовыми функциями шифрования.
Структура | Описание |
---|---|
CMS_DH_KEY_INFO | Используется с параметром KP_CMS_DH_KEY_INFO в функции CryptSetKeyParam для хранения сведений о ключе Diffie-Hellman . |
CMS_KEY_INFO | Эта структура не используется. |
CRYPT_AES_128_KEY_STATE | Задает 128-разрядные сведения о симметричном ключе для шифра AES. |
CRYPT_AES_256_KEY_STATE | Задает 256-разрядные сведения о симметричном ключе для шифра AES. |
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 | Представляет сведения о ключе шифрования ключей при использовании шифрования эллиптических кривых (ECC) в типе контента Cryptographic Message Syntax (CMS) EnvelopedData. |
CRYPT_ENCRYPTED_PRIVATE_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 версии 2.1. |
CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE | Содержит указатели на функции, реализованные поставщиком расположения объекта. |
CRYPT_PKCS8_EXPORT_PARAMS | Содержит сведения, определяющие закрытый ключ и указатель на функцию обратного вызова. |
CRYPT_PKCS8_IMPORT_PARAMS | Содержит закрытый ключ PKCS 8 и два указателя на функции обратного вызова. |
CRYPT_PKCS12_PBE_PARAMS | Содержит параметры, используемые для создания ключа шифрования, вектора инициализации (IV) или ключа кода проверки подлинности сообщений (MAC) для алгоритма шифрования на основе паролей PKCS #12 . |
CRYPT_PRIVATE_KEY_INFO | Содержит сведения о закрытом ключе PKCS #8. |
CRYPT_PSOURCE_ALGORITHM | Определяет алгоритм и (необязательно) значение метки для шифрования ключа RSAES-OAEP. |
CRYPT_RETRIEVE_AUX_INFO | Содержит необязательные сведения о синхронизации времени для передачи функции CryptRetrieveObjectByUrl . |
CRYPT_RSA_SSA_PSS_PARAMETERS | Содержит параметры для подписи RSA PKCS #1 версии 2.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 | Содержит сведения об истечении срока действия, используемые службой кэша URL-адресов Cryptnet (CUC) для сохранения записи кэша URL-адресов. |
CRYPTNET_URL_CACHE_PRE_FETCH_INFO | Содержит сведения об обновлении, используемые службой кэша URL-адресов Cryptnet (CUC) для поддержания записи кэша URL-адресов. |
CRYPTNET_URL_CACHE_RESPONSE_INFO | Содержит сведения об ответе, используемые службой кэша URL-адресов Cryptnet (CUC) для сохранения записи кэша URL-адресов. |
CRYPT_INTEGER_BLOB | Эта структура используется для произвольного массива байтов. |
CRYPTPROTECT_PROMPTSTRUCT | Предоставляет текст запроса и сведения о том, когда и где он должен отображаться при использовании функций CryptProtectData и CryptUnprotectData . |
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 | Содержит сведения, относящиеся к конкретному Diffie-Hellman открытый ключ, содержащийся в ключевом BLOB-объекте. |
DHPUBKEY_VER3 | Содержит сведения, относящиеся к конкретному открытому ключу, содержаемого в ключевом BLOB-объекте. |
BLOB-объекты закрытого ключа Diffie-Hellman версии 3 | Используется для экспорта и импорта сведений о закрытом ключе DH. |
BLOB-объекты с открытым ключом Diffie-Hellman версии 3 | Используется для экспорта и импорта сведений об открытом ключе DH. |
BLOB-объекты закрытого ключа DSS версии 3 | Используется для экспорта и импорта сведений о закрытом ключе DH. |
BLOB-объекты открытого ключа DSS версии 3 | Используется для экспорта и импорта сведений об открытом ключе DH. |
DSSPRIVKEY_VER3 | Содержит сведения, относящиеся к конкретному закрытому ключу, содержаемого в ключевом BLOB-объекте. |
DSSPUBKEY | Содержит сведения, относящиеся к конкретному открытому ключу, содержаемого в ключевом BLOB-объекте. |
DSSPUBKEY_VER3 | Содержит сведения, относящиеся к конкретному открытому ключу, содержаемого в ключевом BLOB-объекте. |
DSSSEED | Содержит начальные значения и значения счетчиков, которые можно использовать для проверки основных значений открытого ключа DSS. |
HMAC_INFO | Указывает хэш-алгоритм и внутренние и внешние строки, которые будут использоваться для вычисления хэш-кода проверки подлинности сообщений (HMAC). |
KEYSVC_BLOB | Определяет большой двоичный объект службы ключей. |
KEYSVC_UNICODE_STRING | Определяет строку Юникода службы ключей. |
OCSP_BASIC_RESPONSE_ENTRY | Содержит текущее состояние сертификата для одного сертификата. |
OCSP_BASIC_RESPONSE_INFO | Содержит базовый ответ OCSP, указанный RFC 2560. |
OCSP_BASIC_REVOKED_INFO | Содержит причину отзыва сертификата. |
OCSP_BASIC_SIGNED_RESPONSE_INFO | Содержит базовый ответ OCSP с сигнатурой. |
OCSP_CERT_ID | Содержит сведения для идентификации сертификата в запросе или ответе OCSP. |
OCSP_REQUEST_ENTRY | Содержит сведения об одном сертификате в запросе OCSP. |
OCSP_REQUEST_INFO | Содержит сведения для запроса OCSP, указанного RFC 2560. |
OCSP_RESPONSE_INFO | Указывает на успешность или сбой соответствующего запроса OCSP. Для успешных запросов он содержит тип и значение сведений об ответе. |
OCSP_SIGNATURE_INFO | Содержит подпись для запроса или ответа OCSP. |
OCSP_SIGNED_REQUEST_INFO | Содержит сведения о запросе OCSP с необязательными сведениями о подписи. |
PROV_ENUMALGS | Возвращается вызовами CryptGetProvParam или CPGetProvParam. |
PROV_ENUMALGS_EX | Возвращается вызовами CryptGetProvParam или CPGetProvParam. |
PUBLICKEYSTRUC | Указывает тип BLOB ключа и алгоритм, который использует ключ. |
ROOT_INFO_LUID | Содержит локальный уникальный идентификатор (LUID) для сведений о корневом каталоге криптографических смарт-карт. |
RSAPUBKEY | Содержит сведения, относящиеся к конкретному открытому ключу, содержаемого в ключевом BLOB-объекте. |
SCHANNEL_ALG | Содержит сведения об алгоритме и размере ключа. |
SIGNER_ATTR_AUTHCODE | Задает атрибуты для сигнатуры Authenticode . |
SIGNER_BLOB_INFO | Указывает большой двоичный объект для подписывания. |
SIGNER_CERT | Указывает сертификат, используемый для подписывания документа. Сертификат может храниться в файле сертификата программного Publisher (SPC) или в хранилище сертификатов. |
SIGNER_CERT_STORE_INFO | Указывает хранилище сертификатов, используемое для подписывания документа. |
SIGNER_CONTEXT | Содержит подписанный BLOB-объект. |
SIGNER_FILE_INFO | Указывает файл для подписывания. |
SIGNER_PROVIDER_INFO | Указывает CSP и сведения о закрытом ключе, используемые для создания цифровой подписи. |
SIGNER_SIGNATURE_INFO | Содержит сведения о цифровой подписи. |
SIGNER_SPC_CHAIN_INFO | Указывает сертификат программного Publisher (SPC) и цепочку сертификатов, используемую для подписывания документа. |
SIGNER_SUBJECT_INFO | Указывает субъект для подписи. |
Общие структуры сертификатов
Следующие структуры используются многими функциями сертификата.
Структура | Описание |
---|---|
CERT_BIOMETRIC_DATA | Содержит сведения о биометрических данных. |
CERT_BIOMETRIC_EXT_INFO | Содержит набор биометрических данных. |
CERT_CONTEXT | Содержит как закодированные, так и декодированные представления сертификата. |
CERT_CRL_CONTEXT_PAIR | Содержит контекст сертификата и связанный контекст списка отзыва сертификатов. |
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 | Содержит данные для элемента pvData элемента ValueCERT_EXTENSION структуры, связанной со свойством CERT_KEY_CONTEXT_PROP_ID. |
CERT_KEYGEN_REQUEST_INFO | Содержит сведения, хранящиеся в запросе Netscape Keygen. |
CERT_LDAP_STORE_OPENED_PARA | Используется с функцией CertOpenStore , если поставщик CERT_STORE_PROV_LDAP указан с помощью флага CERT_LDAP_STORE_OPENED_FLAG , чтобы указать существующий сеанс 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 | Содержит относительное различающееся имя (RDN), состоящее из массива CERT_RDN_ATTR структур. |
CERT_RDN_ATTR | Содержит один атрибут относительного различающегося имени (RDN). |
CERT_REQUEST_INFO | Содержит сведения о запросе сертификата. |
CERT_REVOCATION_CRL_INFO | Содержит сведения, обновленные обработчиком типа отзыва списка отзыва сертификатов. |
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 | Содержит сведения, возвращаемые установленным CertDllOpenStoreProv при открытии хранилища с помощью CertOpenStore. |
CERT_STRONG_SIGN_PARA | Содержит параметры, используемые для проверки наличия надежных подписей для сертификатов, списков отзыва сертификатов, отзыва 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 | Содержит данные, передаваемые в CertOpenStore , если параметр dwFlags этой функции имеет значение CERT_SYSTEM_STORE_RELOCATE_FLAG. |
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_INFO и CMC_RESPONSE_INFO . |
CMC_TAGGED_CERT_REQUEST | Эта структура используется в структуре CMC_TAGGED_REQUEST . |
CMC_TAGGED_CONTENT_INFO | Эта структура используется в структурах CMC_DATA_INFO и CMC_RESPONSE_INFO . |
CMC_TAGGED_OTHER_MSG | Эта структура используется в структурах CMC_DATA_INFO и CMC_RESPONSE_INFO . |
CMC_TAGGED_REQUEST | Эта структура используется в структурах CMC_DATA_INFO для запроса сертификата. |
CRL_CONTEXT | Содержит как закодированные, так и декодированные представления списка отзыва сертификатов. |
CRL_ENTRY | Содержит сведения об одном отозванном сертификате. Он является членом структуры CRL_INFO . |
CRL_INFO | Содержит сведения о списке отзыва сертификатов (CRL). |
CRL_ISSUING_DIST_POINT | Содержит сведения о типах сертификатов, перечисленных в списке отзыва сертификатов. |
CROSS_CERT_DIST_POINTS_INFO | Эта структура предоставляет сведения, используемые для обновления динамических кросс-сертификатов. |
CTL_ANY_SUBJECT_INFO | Содержит объект SubjectAlgorithm для сопоставления в CTL и SubjectIdentifier , которые должны быть сопоставлены в одном из записей CTL в вызовах CertFindSubjectInCTL. |
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 | Содержит массив идентификаторов объектов (OID) для расширений списка доверия сертификатов (CTL). |
CTL_VERIFY_USAGE_PARA | Содержит параметры , используемые CertVerifyCTLUsage для установления допустимости использования CTL. |
CTL_VERIFY_USAGE_STATUS | Содержит сведения о списке доверия сертификатов (CTL), возвращаемом CertVerifyCTLUsage. |
Структуры расширений сертификатов X.509
Следующие структуры связаны со структурами X.509 CERT_EXTENSION .
Структура | Описание |
---|---|
CERT_ACCESS_DESCRIPTION | Эта структура является членом CERT_AUTHORITY_INFO_ACCESS структуры. |
CERT_ALT_NAME_ENTRY | Содержит альтернативное имя в одной из различных форм имен. |
CERT_ALT_NAME_INFO | Используется в кодировке и декодировании расширений для сертификатов субъекта или издателя, списка отзыва сертификатов (CCL) и списка доверия сертификатов (CCL). |
CERT_AUTHORITY_INFO_ACCESS | Представляет доступ к информации центра и расширения доступа к сведениям субъекта и указывает, как получить доступ к дополнительным сведениям и службам для субъекта или издателя этого сертификата. |
CERT_AUTHORITY_KEY_ID_INFO | Идентифицирует ключ, используемый для подписи сертификата или списка отзыва сертификатов. |
CERT_AUTHORITY_KEY_ID2_INFO | Идентифицирует ключ, используемый для подписи сертификата или списка отзыва сертификатов. Он отличается от структуры CERT_AUTHORITY_KEY_ID_INFO в том, что издатель сертификата является CERT_ALT_NAME_INFO вместо CERT_NAME_BLOB. |
CERT_BASIC_CONSTRAINTS_INFO | Содержит сведения о том, может ли сертифицированный субъект выступать в качестве ЦС, конечной сущности или обоих. |
CERT_BASIC_CONSTRAINTS2_INFO | Содержит сведения, указывающие, может ли сертифицированный субъект выступать в качестве ЦС или конечной сущности. |
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_PRIVATE_KEY_VALIDITY | Указывает допустимый промежуток времени для закрытого ключа, соответствующего открытому ключу сертификата. |
CRL_DIST_POINT | Определяет одну точку распространения списка отзыва сертификатов, на которую может ссылаться пользователь сертификата, чтобы определить, были ли отозваны сертификаты. |
CRL_DIST_POINT_NAME | Определяет расположение, из которого можно получить список отзыва сертификатов. |
CRL_DIST_POINTS_INFO | Содержит список точек распространения списка отзыва сертификатов, на которые может ссылаться пользователь сертификата, чтобы определить, был ли отозван сертификат. |
Эти структуры можно закодировать в элемент Valueструктуры CERT_EXTENSION с помощью функций CryptEncodeObject и CryptEncodeObjectEx . Они создаются и возвращаются функциями CryptDecodeObject и CryptDecodeObjectEx при декодировании элемента Value структуры CERT_EXTENSION .
Структура, закодированная или созданная, зависит от элемента строки pszObjId структуры CERT_EXTENSION .
Текущие предопределенные константы расширения и идентификаторы 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 |
None | szOID_POLICY_MAPPINGS | Не реализовано |
None | szOID_SUBJECT_DIR_ATTRS | Не реализовано |
Структуры сообщений
Следующие структуры используются функциями криптографических сообщений.
Структура | Описание |
---|---|
CMSG_CMS_RECIPIENT_INFO | Эта структура используется с функцией CryptMsgGetParam для получения сведений о транспорте ключа, соглашении о ключе или получателе конвертного сообщения списка почты. |
CMSG_CMS_SIGNER_INFO | Эта структура содержит содержимое определенного SignerInfo в подписанных или подписанных и конвертированных сообщениях. |
CMSG_CNG_CONTENT_DECRYPT_INFO | Содержит все соответствующие сведения, передаваемые между CryptMsgControl и устанавливаемыми функциями OID для импорта и расшифровки API шифрования: ключ шифрования содержимого следующего поколения (CNG). |
CMSG_CONTENT_ENCRYPT_INFO | Содержит сведения, передаваемые между устанавливаемыми функциями PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY, PFN_CMSG_EXPORT_KEY_TRANS, PFN_CMSG_EXPORT_KEY_AGREE и PFN_CMSG_EXPORT_MAIL_LISTobject identifier (OID), используемыми для шифрования и экспорта ключа шифрования содержимого. |
CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA | Эта структура используется для добавления атрибута без проверки подлинности в подписыватель подписанного сообщения. |
CMSG_CTRL_DECRYPT_PARA | Эта структура содержит сведения, используемые для расшифровки конвертированного сообщения для получателя транспорта ключей. Эта структура передается в CryptMsgControl , если параметр dwCtrlType CMSG_CTRL_DECRYPT. |
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 | Эта структура содержит сведения, необходимые для кодирования конвертированного сообщения. Он передается в CryptMsgOpenToEncode , если dwMsgType является CMSG_ENVELOPED. |
CMSG_ENVELOPED_HASHED_INFO | Эта структура используется с хэшированных сообщений. Он передается в CryptMsgOpenToEncode , если dwMsgType является CMSG_ENVELOPED. |
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. Элемент pvEncryptionAuxInfo в CMSG_ENVELOPED_ENCODE_INFO может указывать на экземпляр этой структуры. |
CMSG_RC4_AUX_INFO | Эта структура содержит битовую длину ключа для алгоритмов шифрования RC4. Элемент pvEncryptionAuxInfo в CMSG_ENVELOPED_ENCODE_INFO может указывать на экземпляр этой структуры. |
CMSG_RECIPIENT_ENCODE_INFO | Эта структура содержит сведения о типе управления ключом шифрования содержимого получателя сообщения. |
CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO | Эта структура содержит сведения о приемнике сообщений, используемом для расшифровки ключа сеанса, необходимого для расшифровки содержимого сообщения. Эта структура используется с сообщениями низкого уровня CMS с помощью любого из методов управления ключами. |
CMSG_RECIPIENT_ENCRYPTED_KEY_INFO | Эта структура содержит сведения, используемые для получателя отдельного ключевого соглашения. |
CMSG_SIGNED_ENCODE_INFO | Эта структура содержит сведения, передаваемые в CryptMsgOpenToEncode , если dwMsgType является CMSG_SIGNED. |
CMSG_SIGNER_ENCODE_INFO | Эта структура содержит сведения о подписывшем. Он передается в CryptMsgCountersign, CryptMsgCountersignEncoded и при необходимости в CryptMsgOpenToEncode в качестве члена структуры CMSG_SIGNED_ENCODE_INFO , если параметр dwMsgType CMSG_SIGNED. |
CMSG_SIGNER_INFO | Эта структура содержит содержимое определяемого PKCS #7 SignerInfo в подписанных сообщениях. |
CMSG_SP3_COMPATIBLE_AUX_INFO | Эта структура содержит сведения, необходимые для шифрования, совместимого с пакетом обновления 3 (SP3). |
CMSG_STREAM_INFO | Эта структура используется для обработки потоковых данных, а не для обработки одного блока. Потоковая обработка чаще всего используется при обработке больших сообщений. Сообщения потоковой обработки могут исходить из любого сериализованного источника, например файла на жестком диске, сервере или компакт-диске. |
CRYPT_DECRYPT_MESSAGE_PARA | Содержит сведения о расшифровке сообщений. |
CRYPT_ENCRYPT_MESSAGE_PARA | Содержит сведения, используемые для шифрования сообщений. |
CRYPT_HASH_MESSAGE_PARA | Содержит данные для хэширования сообщений. |
CRYPT_SIGN_MESSAGE_PARA | Содержит сведения для подписывания сообщений с использованием указанного контекста сертификата подписи. |
CRYPT_VERIFY_MESSAGE_PARA | Содержит сведения, необходимые для проверки подписанного сообщения. |
Структуры поддержки OID
Следующие структуры используются функциями поддержки OID.
Структура | Описание |
---|---|
CRYPT_OID_FUNC_ENTRY | Содержит идентификатор объекта (OID) и указатель на связанную функцию. Он используется с CryptInstallOIDFunctionAddress |
CRYPT_OID_INFO | Содержит сведения об идентификаторе объекта (OID). |
CRYPT_RC2_CBC_PARAMETERS | Содержит сведения, используемые при шифровании szOID_RSA_RC2CBC. |
CRYPT_SMIME_CAPABILITIES | Содержит приоритетный массив поддерживаемых возможностей. |
CRYPT_SMIME_CAPABILITY | Указывает одну возможность и связанные с ней параметры. |
Структуры цепочки сертификатов
Следующие структуры используются в создании цепочек сертификатов, используемых для установления доверия к сертификату.
Структура | Описание |
---|---|
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 | Задает параметры для создания подсистемы цепочки сертификатов, отличной отdefault. |
CERT_CHAIN_FIND_BY_ISSUER_PARA | Содержит сведения, используемые в CertFindChainStore для создания цепочек сертификатов. |
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).
Структура | Описание |
---|---|
BLOBHEADER | Указывает тип BLOB ключа и алгоритм, который использует ключ. |
VTableProvStruc | Содержит указатели на функции обратного вызова, которые могут использоваться функциями CSP. |
PLAINTEXTKEYBLOB | Содержит сведения о заголовке параметра для ключа открытого текста. |
Структуры WinTrust
Следующие структуры используются с функцией WinVerifyTrust .
Структура | Описание |
---|---|
CRYPT_PROVIDER_DEFUSAGE | Используется функцией WintrustGetDefaultForUsage для получения сведений о обратном вызове для использования поставщика по умолчанию. |
CRYPT_PROVIDER_REGDEFUSAGE | Используется функцией WintrustAddDefaultForUsage для регистрации сведений о обратном вызове использования поставщика по умолчанию. |
SPC_INDIRECT_DATA_CONTENT | Сохраняет дайджест и другие атрибуты файла с подписью Authenticode. |
WINTRUST_BLOB_INFO | Используется при вызове WinVerifyTrust для проверки большого двоичного объекта памяти. |
WINTRUST_CATALOG_INFO | Используется при вызове WinVerifyTrust для проверки члена каталога Майкрософт. |
WINTRUST_CERT_INFO | Используется при вызове WinVerifyTrust для проверки CERT_CONTEXT. |
WINTRUST_DATA | Используется при вызове WinVerifyTrust для передачи необходимых сведений поставщикам доверия |
WINTRUST_FILE_INFO | Используется при вызове WinVerifyTrust для проверки отдельного файла. |
WINTRUST_SGNR_INFO | Используется при вызове WinVerifyTrust для проверки структуры CMSG_SIGNER_INFO . |
Структуры SIP
Следующие структуры используются пакетом интерфейса субъекта (функциями SIPP).
Структура | Описание |
---|---|
SIP_ADD_NEWPROVIDER | Определяет SIP. |
SIP_CAP_SET | Определяет возможности SIP. |
SIP_DISPATCH_INFO | Содержит набор указателей на функции SIP. |
SIP_INDIRECT_DATA | Содержит дайджест хэшированных данных субъекта. |
SIP_SUBJECTINFO | Указывает сведения о субъекте SIP. |