Константы для CryptEncodeObject и CryptDecodeObject

Функции CryptEncodeObject, CryptEncodeObjectEx, CryptSignAndEncodeCertificate, CryptDecodeObject и CryptDecodeObjectEx — это обобщенные функции кодирования и декодирования, способные кодировать и декодировать сертификаты в кодировке ASN.1 , списки отзыва сертификатов , списки доверия сертификатов (CTLs) и запросы сертификатов.

В следующей таблице перечислены предопределенные константы, расширения и атрибуты, используемые с операциями кодирования и декодирования, а также структура данных, на которую указывает параметр pvStructInfo .

Примечание

Некоторые предопределенные константы и строки OID имеют одинаковое значение. При этом любой из них можно использовать в качестве параметра lpszStuctType .

 

Констант/значение Описание
CMC_ADD_ATTRIBUTES
(LPCSTR) 63
Параметр pvStructInfo является указателем на структуру CMC_ADD_ATTRIBUTES_INFO .
CMC_ADD_EXTENSIONS
(LPCSTR) 62
Параметр pvStructInfo является указателем на структуру CMC_ADD_EXTENSIONS_INFO .
X509_ALGORITHM_IDENTIFIER
(LPCSTR) 74
Параметр pvStructInfo является указателем на структуру CRYPT_ALGORITHM_IDENTIFIER .
X509_ALTERNATE_NAME
(LPCSTR) 12
Параметр pvStructInfo является указателем на структуру CERT_ALT_NAME_INFO . Дополнительные сведения см. в разделе "Заметки".
X509_ANY_STRING
X509_NAME_VALUE
Параметр pvStructInfo является указателем на структуру CERT_NAME_VALUE .
szOID_APPLICATION_CERT_POLICIES
"1.3.6.1.4.1.311.21.10"
Параметр pvStructInfo является указателем на CERT_POLICY_QUALIFIER_INFO структуру.
szOID_APPLICATION_POLICY_CONSTRAINTS
"1.3.6.1.4.1.311.21.12"
Параметр pvStructInfo является указателем на структуру CERT_POLICY_CONSTRAINTS_INFO .
szOID_APPLICATION_POLICY_MAPPINGS
"1.3.6.1.4.1.311.21.11"
Параметр pvStructInfo является указателем на структуру CERT_POLICY_MAPPINGS_INFO .
PKCS_ATTRIBUTE
(LPCSTR) 22
Параметр pvStructInfo является указателем на CRYPT_ATTRIBUTE структуру.
X509_AUTHORITY_INFO_ACCESS
(LPCSTR) 32
Параметр pvStructInfo является указателем на CERT_AUTHORITY_INFO_ACCESS структуру. Дополнительные сведения см. в разделе "Заметки".
szOID_AUTHORITY_INFO_ACCESS
"1.3.6.1.5.5.7.1.1"
Параметр pvStructInfo является указателем на CERT_AUTHORITY_INFO_ACCESS структуру. Дополнительные сведения см. в разделе "Заметки".
X509_SUBJECT_INFO_ACCESS
X509_AUTHORITY_INFO_ACCESS
Параметр pvStructInfo является указателем на CERT_AUTHORITY_INFO_ACCESS структуру.
szOID_SUBJECT_INFO_ACCESS
"1.3.6.1.5.5.7.1.11"
Параметр pvStructInfo является указателем на CERT_AUTHORITY_INFO_ACCESS структуру.
X509_AUTHORITY_KEY_ID
(LPCSTR) 9
Параметр pvStructInfo является указателем на структуру CERT_AUTHORITY_KEY_ID_INFO . Дополнительные сведения см. в разделе "Заметки".
X509_AUTHORITY_KEY_ID2
(LPCSTR) 31
Параметр pvStructInfo является указателем на структуру CERT_AUTHORITY_KEY_ID2_INFO . Дополнительные сведения см. в разделе "Заметки".
szOID_AUTHORITY_KEY_IDENTIFIER
"2.5.29.1"
Параметр pvStructInfo является указателем на структуру CERT_AUTHORITY_KEY_ID_INFO . Дополнительные сведения см. в разделе "Заметки".
szOID_AUTHORITY_KEY_IDENTIFIER2
"2.5.29.35"
Параметр pvStructInfo является указателем на структуру CERT_AUTHORITY_KEY_ID2_INFO . Дополнительные сведения см. в разделе "Заметки".
X509_BASIC_CONSTRAINTS
(LPCSTR) 13
Параметр pvStructInfo является указателем на структуру CERT_BASIC_CONSTRAINTS_INFO . Дополнительные сведения см. в разделе "Заметки".
szOID_BASIC_CONSTRAINTS
"2.5.29.10"
Параметр pvStructInfo является указателем на структуру CERT_BASIC_CONSTRAINTS_INFO . Дополнительные сведения см. в разделе "Заметки".
X509_BASIC_CONSTRAINTS2
(LPCSTR) 15
Параметр pvStructInfo является указателем на CERT_BASIC_CONSTRAINTS2_INFO структуру.
szOID_BASIC_CONSTRAINTS2
"2.5.29.19"
Параметр pvStructInfo является указателем на CERT_BASIC_CONSTRAINTS2_INFO структуру.
X509_BIOMETRIC_EXT
(LPCSTR) 71
Параметр pvStructInfo является указателем на структуру CERT_BIOMETRIC_EXT_INFO .
Windows Server 2003 и Windows XP: Это значение не поддерживается.
szOID_BIOMETRIC_EXT
"1.3.6.1.5.5.7.1.2"
Параметр pvStructInfo является указателем на структуру CERT_BIOMETRIC_EXT_INFO .
Windows Server 2003 и Windows XP: Это значение не поддерживается.
X509_BITS
(LPCSTR) 26
Параметр pvStructInfo является указателем на структуру CRYPT_BIT_BLOB .
X509_CERT
(LPCSTR) 1
Параметр pvStructInfo является указателем на структуру CERT_SIGNED_CONTENT_INFO . Дополнительные сведения см. в разделе "Заметки".
X509_CERT_CRL_TO_BE_SIGNED
(LPCSTR) 3
Параметр pvStructInfo является указателем на структуру CRL_INFO .
szOID_CERT_EXTENSIONS
"1.3.6.1.4.1.311.2.1.14"
Параметр pvStructInfo является указателем на структуру CERT_EXTENSIONS .
X509_CERT_PAIR
(LPCSTR) 53
Параметр pvStructInfo является указателем на структуру CERT_PAIR .
X509_CERT_POLICIES
(LPCSTR) 16
Параметр pvStructInfo является указателем на CERT_POLICIES_INFO структуру.
szOID_CERT_POLICIES
"2.5.29.32"
Параметр pvStructInfo является указателем на CERT_POLICIES_INFO структуру.
X509_CERT_REQUEST_TO_BE_SIGNED
(LPCSTR) 4
Параметр pvStructInfo является указателем на структуру CERT_REQUEST_INFO .
X509_CERT_TO_BE_SIGNED
(LPCSTR) 2
Параметр pvStructInfo является указателем на структуру CERT_INFO .
X509_CERTIFICATE_TEMPLATE
(LPCSTR) 64
Параметр pvStructInfo является указателем на структуру CERT_TEMPLATE_EXT .
szOID_CERTIFICATE_TEMPLATE
"1.3.6.1.4.1.311.21.7"
Параметр pvStructInfo является указателем на структуру CERT_TEMPLATE_EXT .
X509_CHOICE_OF_TIME
(LPCSTR) 30
Параметр pvStructInfo является указателем на переменную FILETIME . Дополнительные сведения см. в разделе "Заметки".
PKCS_CONTENT_INFO
(LPCSTR) 33
Параметр pvStructInfo является указателем на структуру CRYPT_CONTENT_INFO . Дополнительные сведения см. в разделе "Заметки".
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY
(LPCSTR) 23
Параметр pvStructInfo является указателем на структуру CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY . Дополнительные сведения см. в разделе "Заметки".
X509_CRL_DIST_POINTS
(LPCSTR) 35
Параметр pvStructInfo является указателем на структуру CRL_DIST_POINTS_INFO . Дополнительные сведения см. в разделе "Заметки".
szOID_CRL_DIST_POINTS
2.5.29.31
Параметр pvStructInfo является указателем на структуру CRL_DIST_POINTS_INFO . Дополнительные сведения см. в разделе "Заметки".
szOID_CRL_NUMBER
"2.5.29.20"
Параметр pvStructInfo является указателем на переменную int .
X509_CRL_REASON_CODE
X509_ENUMERATED
Параметр pvStructInfo является указателем на целое число, содержащее перечисленное значение. Дополнительные сведения см. в разделе "Заметки".
szOID_CRL_REASON_CODE
"2.5.29.21"
Параметр pvStructInfo является указателем на целое число, содержащее перечисленное значение. Дополнительные сведения см. в разделе "Заметки".
szOID_CRL_VIRTUAL_BASE
"1.3.6.1.4.1.311.21.3"
Параметр pvStructInfo является указателем на переменную int .
X509_CROSS_CERT_DIST_POINTS
(LPCSTR) 58
Параметр pvStructInfo является указателем на структуру CROSS_CERT_DIST_POINTS_INFO .
szOID_CROSS_CERT_DIST_POINTS
"1.3.6.1.4.1.311.10.9.1"
Параметр pvStructInfo является указателем на структуру CROSS_CERT_DIST_POINTS_INFO .
RSA_CSP_PUBLICKEYBLOB
(LPCSTR) 19
Параметр pvStructInfo является указателем на структуру blob-объектов открытого ключа Diffie-Hellman версии 3 или DSS версии 3 . Дополнительные сведения см. в разделе "Заметки".
PKCS_CTL
(LPCSTR) 37
Параметр pvStructInfo является указателем на структуру CTL_INFO .
CMC_DATA
(LPCSTR) 59
Параметр pvStructInfo является указателем на структуру CMC_DATA_INFO .
szOID_DELTA_CRL_INDICATOR
"2.5.29.27"
Параметр pvStructInfo является указателем на переменную int .
X509_DSS_PARAMETERS
(LPCSTR) 39
Параметр pvStructInfo является указателем на структуру CERT_DSS_PARAMETERS .
X509_DSS_PUBLICKEY
X509_MULTI_BYTE_UINT
Параметр pvStructInfo является указателем на структуру CRYPT_UINT_BLOB .
X509_DSS_SIGNATURE
(LPCSTR) 40
Параметр pvStructInfo является указателем на массив размером 40 байт. Дополнительные сведения см. в разделе "Заметки".
szOID_ECC_PUBLIC_KEY
"1.2.840.10045.2.1"
Параметр pvStructInfo является указателем на LPSTR представления точки идентификатора объекта.
X509_ECC_SIGNATURE
(LPCSTR) 47
Параметр pvStructInfo является указателем на CERT_ECC_SIGNATURE структуру. Дополнительные сведения см. в разделе "Заметки".
X509_ECC_PRIVATE_KEY
(LPCSTR) 82
Параметр pvStructInfo является указателем на структуру CRYPT_ECC_PRIVATE_KEY_INFO.
Windows Server 2003, Windows XP, Windows 2000 и Windows Vista: Это значение не поддерживается.
szOID_ECDSA_SPECIFIED
"1.2.840.10045.4.3"
Параметр pvStructInfo является указателем на структуру CRYPT_ALGORITHM_IDENTIFIER .
X509_ENHANCED_KEY_USAGE
(LPCSTR) 36
Параметр pvStructInfo является указателем на структуру CERT_ENHKEY_USAGE или CTL_USAGE . (Эти структуры одинаковы, но известны под разными именами.)
szOID_ENHANCED_KEY_USAGE
"2.5.29.37"
Параметр pvStructInfo является указателем на структуру CERT_ENHKEY_USAGE или CTL_USAGE . (Эти структуры одинаковы, но известны под разными именами.)
szOID_ENROLLMENT_NAME_VALUE_PAIR
"1.3.6.1.4.1.311.13.2.1"
Параметр pvStructInfo является указателем на структуру CRYPT_ENROLLMENT_NAME_VALUE_PAIR .
X509_ENUMERATED
(LPCSTR) 29
Параметр pvStructInfo является указателем на целое число, содержащее перечисленное значение. Дополнительные сведения см. в разделе "Заметки".
X509_EXTENSIONS
(LPCSTR) 5
Параметр pvStructInfo является указателем на структуру CERT_EXTENSIONS .
szOID_FRESHEST_CRL
"2.5.29.46"
Параметр pvStructInfo является указателем на структуру CRL_DIST_POINTS_INFO .
X509_INTEGER
(LPCSTR) 27
Параметр pvStructInfo является указателем на целое число со знаком, равное 32 битам или меньше.
szOID_ISSUER_ALT_NAME
"2.5.29.8"
Параметр pvStructInfo является указателем на структуру CERT_ALT_NAME_INFO . Дополнительные сведения см. в разделе "Заметки".
szOID_ISSUER_ALT_NAME2
"2.5.29.18"
Параметр pvStructInfo является указателем на структуру CERT_ALT_NAME_INFO .
X509_ISSUING_DIST_POINT
(LPCSTR) 54
Параметр pvStructInfo является указателем на структуру CRL_ISSUING_DIST_POINT .
szOID_ISSUING_DIST_POINT
"2.5.29.28"
Параметр pvStructInfo является указателем на структуру CRL_ISSUING_DIST_POINT .
X509_KEY_ATTRIBUTES
(LPCSTR) 10
Параметр pvStructInfo является указателем на структуру CERT_KEY_ATTRIBUTES_INFO .
szOID_KEY_ATTRIBUTES
"2.5.29.2"
Параметр pvStructInfo является указателем на структуру CERT_KEY_ATTRIBUTES_INFO .
X509_KEY_USAGE
(LPCSTR) 14
Параметр pvStructInfo является указателем на структуру CRYPT_BIT_BLOB . Дополнительные сведения см. в разделе "Заметки".
szOID_KEY_USAGE
"2.5.29.15"
Параметр pvStructInfo является указателем на структуру CRYPT_BIT_BLOB . Дополнительные сведения см. в разделе "Заметки".
X509_KEY_USAGE_RESTRICTION
(LPCSTR) 11
Параметр pvStructInfo является указателем на CERT_KEY_USAGE_RESTRICTION_INFO структуру.
szOID_KEY_USAGE_RESTRICTION
"2.5.29.4"
Параметр pvStructInfo является указателем на CERT_KEY_USAGE_RESTRICTION_INFO структуру.
X509_KEYGEN_REQUEST_TO_BE_SIGNED
(LPCSTR) 21
Параметр pvStructInfo является указателем на структуру CERT_KEYGEN_REQUEST_INFO . Дополнительные сведения см. в разделе "Заметки".
X509_LOGOTYPE_EXT
(LPCSTR) 70
Параметр pvStructInfo является указателем на структуру CERT_LOGOTYPE_EXT_INFO .
szOID_LOGOTYPE_EXT
"1.3.6.1.5.5.7.1.12"
Параметр pvStructInfo является указателем на структуру CERT_LOGOTYPE_EXT_INFO .
Windows Server 2003 и Windows XP: Это значение не поддерживается.
X509_MULTI_BYTE_INTEGER
(LPCSTR) 28
Параметр pvStructInfo является указателем на структуру CRYPT_INTEGER_BLOB . Большой двоичный объект находится в порядке с минимальным порядком байтов.
X509_MULTI_BYTE_UINT
(LPCSTR) 38
Параметр pvStructInfo является указателем на структуру CRYPT_UINT_BLOB . Дополнительные сведения см. в разделе "Заметки".
X509_NAME
(LPCSTR) 7
Параметр pvStructInfo является указателем на структуру CERT_NAME_INFO . Дополнительные сведения см. в разделе "Заметки".
X509_NAME_CONSTRAINTS
(LPCSTR) 55
Параметр pvStructInfo является указателем на структуру CERT_NAME_CONSTRAINTS_INFO .
szOID_NAME_CONSTRAINTS
"2.5.29.30"
Параметр pvStructInfo является указателем на структуру CERT_NAME_CONSTRAINTS_INFO .
X509_NAME_VALUE
(LPCSTR) 6
Параметр pvStructInfo является указателем на структуру CERT_NAME_VALUE . Дополнительные сведения см. в разделе "Заметки".
szOID_NEXT_UPDATE_LOCATION
Параметр pvStructInfo является указателем на структуру CERT_ALT_NAME_INFO . Дополнительные сведения см. в разделе "Заметки".
X509_OBJECT_IDENTIFIER
(LPCSTR) 73
Параметр pvStructInfo является указателем на LPSTR представления точки идентификатора объекта.
Windows Server 2003 и Windows XP: Это значение не поддерживается.
X509_OCTET_STRING
(LPCSTR) 25
Параметр pvStructInfo является указателем на структуру CRYPT_DATA_BLOB . Дополнительные сведения см. в разделе "Заметки".
szOID_OIWSEC_dsa
"1.3.14.3.2.12"
Параметр pvStructInfo является указателем на структуру CERT_DSS_PARAMETERS .
X509_POLICY_CONSTRAINTS
(LPCSTR) 57
Параметр pvStructInfo является указателем на структуру CERT_POLICY_CONSTRAINTS_INFO .
szOID_POLICY_CONSTRAINTS
"2.5.29.36"
Параметр pvStructInfo является указателем на структуру CERT_POLICY_CONSTRAINTS_INFO .
X509_POLICY_MAPPINGS
(LPCSTR) 56
Параметр pvStructInfo является указателем на структуру CERT_POLICY_MAPPINGS_INFO .
szOID_POLICY_MAPPINGS
"2.5.29.33"
Параметр pvStructInfo является указателем на структуру CERT_POLICY_MAPPINGS_INFO .
X509_PUBLIC_KEY_INFO
(LPCSTR) 8
Параметр pvStructInfo является указателем на структуру CERT_PUBLIC_KEY_INFO .
PKCS_RC2_CBC_PARAMETERS
(LPCSTR) 41
Параметр pvStructInfo является указателем на структуру CRYPT_RC2_CBC_PARAMETERS .
CMC_RESPONSE
(LPCSTR) 60
Параметр pvStructInfo является указателем на структуру CMC_RESPONSE_INFO .
CNG_RSA_PUBLIC_KEY_BLOB
(LPCSTR) 72
Параметр pvStructInfo является указателем на BCRYPT_RSAKEY_BLOB сразу же за которым следуют экспонента и байты модуля. Дополнительные сведения см. в разделе "Заметки".
CNG_RSA_PRIVATE_KEY_BLOB
LPCSTR) 83
Параметр pvStructInfo является указателем на частную структуру BCRYPT_RSAKEY_BLOB .
Windows Server 2003, Windows XP, Windows 2000 и Windows Vista: Это значение не поддерживается.
szOID_RSA_signingTime
"1.2.840.113549.1.9.5"
Параметр pvStructInfo является указателем на переменную FILETIME . Дополнительные сведения см. в разделе "Заметки".
szOID_RSA_SMIMECapabilities
"1.2.840.113549.1.9.15"
Параметр pvStructInfo является указателем на структуру CRYPT_SMIME_CAPABILITIES . Дополнительные сведения см. в разделе "Заметки".
PKCS_RSA_SSA_PSS_PARAMETERS
(LPCSTR) 75
Параметр pvStructInfo является указателем на структуру CRYPT_RSA_SSA_PSS_PARAMETERS . Дополнительные сведения см. в разделе "Заметки".
Windows Server 2003 и Windows XP: Это значение не поддерживается.
szOID_RSA_SSA_PSS
"1.2.840.113549.1.1.10"
Параметр pvStructInfo является указателем на структуру CRYPT_RSA_SSA_PSS_PARAMETERS . Дополнительные сведения см. в разделе "Заметки".
Windows Server 2003 и Windows XP: Это значение не поддерживается.
PKCS_RSAES_OAEP_PARAMETERS
(LPCSTR) 76
Параметр pvStructInfo является указателем на структуру CRYPT_RSAES_OAEP_PARAMETERS . Дополнительные сведения см. в разделе "Заметки".
Windows Server 2003 и Windows XP: Это значение не поддерживается.
ECC_CMS_SHARED_INFO
(LPCSTR) 77
Параметр pvStructInfo является указателем на структуру CRYPT_ECC_CMS_SHARED_INFO .
Windows Server 2003 и Windows XP: Это значение не поддерживается.
szOID_RSAES_OAEP
"1.2.840.113549.1.1.7"
Параметр pvStructInfo является указателем на структуру CRYPT_RSAES_OAEP_PARAMETERS . Дополнительные сведения см. в разделе "Заметки".
Windows Server 2003 и Windows XP: Это значение не поддерживается.
X509_SEQUENCE_OF_ANY
(LPCSTR) 34
Параметр pvStructInfo является указателем на структуру CRYPT_SEQUENCE_OF_ANY . Дополнительные сведения см. в разделе "Заметки".
PKCS7_SIGNER_INFO
(LPCSTR) 500
Параметр pvStructInfo является указателем на структуру CMSG_SIGNER_INFO .
CMS_SIGNER_INFO
(LPCSTR) 501
Параметр pvStructInfo является указателем на структуру CMSG_CMS_SIGNER_INFO .
PKCS_SMIME_CAPABILITIES
(LPCSTR) 42
Параметр pvStructInfo является указателем на структуру CRYPT_SMIME_CAPABILITIES . Дополнительные сведения см. в разделе "Заметки".
CMC_STATUS
(LPCSTR) 61
Параметр pvStructInfo является указателем на структуру CMC_STATUS_INFO .
szOID_SUBJECT_ALT_NAME
"2.5.29.7"
Параметр pvStructInfo является указателем на структуру CERT_ALT_NAME_INFO . Дополнительные сведения см. в разделе "Заметки".
szOID_SUBJECT_ALT_NAME2
"2.5.29.17"
Параметр pvStructInfo является указателем на структуру CERT_ALT_NAME_INFO .
szOID_SUBJECT_KEY_IDENTIFIER
"2.5.29.14"
Параметр pvStructInfo является указателем на структуру CRYPT_DATA_BLOB . Дополнительные сведения см. в разделе "Заметки".
PKCS_TIME_REQUEST
(LPCSTR) 18
Параметр pvStructInfo является указателем на структуру CRYPT_TIME_STAMP_REQUEST_INFO .
X509_UNICODE_ANY_STRING
X509_UNICODE_NAME_VALUE
Параметр pvStructInfo является указателем на структуру CERT_NAME_VALUE . Дополнительные сведения см. в разделе "Заметки".
X509_UNICODE_NAME
(LPCSTR) 20
Параметр pvStructInfo является указателем на структуру CERT_NAME_INFO . Дополнительные сведения см. в разделе "Заметки".
X509_UNICODE_NAME_VALUE
(LPCSTR) 24
Параметр pvStructInfo является указателем на структуру CERT_NAME_VALUE . Дополнительные сведения см. в разделе "Заметки".
PKCS_UTC_TIME
(LPCSTR) 17
Параметр pvStructInfo является указателем на переменную FILETIME . Дополнительные сведения см. в разделе "Заметки".
OCSP_SIGNED_REQUEST
(LPCSTR) 65
Параметр pvStructInfo является указателем на переменную OCSP_SIGNED_REQUEST_INFO .
Windows Server 2003 и Windows XP: Это значение не поддерживается.
OCSP_REQUEST
(LPCSTR) 66
Параметр pvStructInfo является указателем на переменную OCSP_REQUEST_INFO .
Windows Server 2003 и Windows XP: Это значение не поддерживается.
OCSP_RESPONSE
(LPCSTR) 67
Параметр pvStructInfo является указателем на переменную OCSP_RESPONSE_INFO .
Windows Server 2003 и Windows XP: Это значение не поддерживается.
OCSP_BASIC_SIGNED_RESPONSE
(LPCSTR) 68
Параметр pvStructInfo является указателем на переменную OCSP_BASIC_SIGNED_RESPONSE_INFO .
Windows Server 2003 и Windows XP: Это значение не поддерживается.
OCSP_BASIC_RESPONSE
(LPCSTR) 69
Параметр pvStructInfo является указателем на переменную OCSP_BASIC_RESPONSE_INFO .
Windows Server 2003 и Windows XP: Это значение не поддерживается.
PKCS_RSA_PRIVATE_KEY
(LPCSTR) 43
Параметр pvStructInfo является указателем на большой двоичный объект закрытого ключа RSA. Дополнительные сведения см. в разделах Большие двоичные объекты с закрытым ключом Diffie-Hellman версии 3 и BLOB-объекты закрытого ключа DSS версии 3.
PKCS_PRIVATE_KEY_INFO
(LPCSTR) 44
Параметр pvStructInfo является указателем на структуру CRYPT_PRIVATE_KEY_INFO .
PKCS_ENCRYPTED_PRIVATE_KEY_INFO
(LPCSTR) 45
Параметр pvStructInfo является указателем на структуру CRYPT_ENCRYPTED_PRIVATE_KEY_INFO .

Комментарии

В следующей таблице приведены дополнительные сведения о конкретных значениях lpszStructType .

Значение Описание
X509_ALTERNATE_NAMEszOID_ISSUER_ALT_NAME
szOID_SUBJECT_ALT_NAME
Перед кодировкой варианты имен LPWSTR преобразуются в строки IA5. Если строка содержит недопустимую строку IA5, метод GetLastError возвращает CRYPT_E_INVALID_IA5_STRING, а *pcbEncoded обновляется с учетом недопустимого расположения недопустимого символа. Индексы расположения ошибок возвращаются в *pcbEncoded следующим образом:
Бит 0 является наименее значимым битом DWORD.
VALUE_INDEX ошибки находится в битах от 0 до 15. Это индекс символов Юникода.
ENTRY_INDEX ошибки находится в битах от 16 до 23.
Макросы GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) и GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) определяются для упрощения чтения битовых полей для VALUE_INDEX и ENTRY_INDEX из DWORD , содержащего их:
SzOID_SUBJECT_ALT_NAME заменена szOID_SUBJECT_ALT_NAME2. Новые серверы сертификатов реализуют последнее.
X509_AUTHORITY_INFO_ACCESS szOID_AUTHORITY_INFO_ACCESS
szOID_AUTHORITY_KEY_IDENTIFIER2
X509_AUTHORITY_KEY_ID2
Если функция кодирования возвращает CRYPT_E_INVALID_IA5_STRING как GetLastError, расположение ошибки, возвращаемое в *pcbEncoded , состоит из следующих значений: ENTRY_INDEX – 8 бит << 16
VALUE_INDEX — 16 бит (индекс символов Юникода)
Индексы расположения ошибок возвращаются в *pcbEncoded следующим образом:
Бит 0 является наименее значимым битом DWORD.
VALUE_INDEX ошибки находится в битах от 0 до 15. Это индекс символов Юникода.
ENTRY_INDEX ошибки находится в битах от 16 до 23.
Макросы GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) и GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) определяются для упрощения чтения битовых полей для VALUE_INDEX и ENTRY_INDEX из содержащего их DWORD .
X509_AUTHORITY_KEY_IDszOID_AUTHORITY_KEY_IDENTIFIER
X509_AUTHORITY_KEY_ID заменена X509_AUTHORITY_KEY_ID2. Новые серверы сертификатов реализуют последнее.
X509_BASIC_CONSTRAINTSszOID_BASIC_CONSTRAINTS
X509_BASIC_CONSTRAINTS заменена X509_BASIC_CONSTRAINTS2. Новые серверы сертификатов реализуют последнее.
X509_CERT Структура CERT_SIGNED_CONTENT_INFO содержит закодированное содержимое для подписи, его подпись и алгоритм подписи. Элемент ToBeSigned — это закодированный CERT_INFO, CRL_INFO, CERT_REQUEST_INFO или CERT_KEYGEN_REQUEST_INFO выходные данные из предыдущего вызова CryptEncodeObject для одного из следующих значений lpszStructType :
  • X509_CERT_CRL_TO_BE_SIGNED
  • X509_CERT_REQUEST_TO_BE_SIGNED
  • X509_CERT_TO_BE_SIGNED
  • X509_KEYGEN_REQUEST_TO_BE_SIGNED
szOID_CERT_EXTENSIONS Может использоваться для одного из типов атрибутов в запросе сертификата.
X509_CHOICE_OF_TIME Для X509_ASN_ENCODING, если время после 1950 года и до 2050 года, это время в формате UTC, закодированное с помощью двухзначного года. В противном случае это обобщенное время, закодированное с помощью четырехзначного года. Дата точно соответствует секундам.
PKCS_CONTENT_INFO Для X509_ASN_ENCODING закодирована как структура ContentInfo PKCS #7. CRYPT_DER_BLOB указывает на уже закодированное содержимое ANY.
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY Для X509_ASN_ENCODING закодирована как структура ContentInfo PKCS #7, упаковающая последовательность ANY. Значение элемента contentTypepszObjId, а поле содержимого имеет следующую структуру: SequenceOfAny ::= SEQUENCE OF ANY
CRYPT_DER_BLOB указывает на уже закодированное содержимое ANY.
X509_CRL_DIST_POINTSszOID_CRL_DIST_POINTS
Если функция кодирования завершается сбоем с getLastError , возвращающим CRYPT_E_INVALID_IA5_STRING, *pcbEncoded обновляется с ошибкой, указывая недопустимое расположение символа: CRL_ISSUER_BIT – 1 бит << 31 (0 для FullName, 1 для CRLIssuer).
POINT_INDEX — 7 бит< < 24
ENTRY_INDEX — 8 бит< < 16
VALUE_INDEX — 16 бит (индекс символов Юникода)
Индексы расположения ошибок возвращаются в *pcbEncoded следующим образом:
Бит 0 является наименее значимым битом DWORD.
VALUE_INDEX ошибки находится в битах от 0 до 15. Это символьный индекс Юникода.
ENTRY_INDEX ошибки находится в битах от 16 до 23.
Макросы GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) и GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) определяются для упрощения чтения битовых полей для VALUE_INDEX и ENTRY_INDEX из содержащего их DWORD .
szOID_CRL_NUMBER Используется только со списками отзыва базовых сертификатов (CRL). Это монотонно увеличивающееся порядковое число для каждого списка отзыва сертификатов, выдаваемых центром сертификации.
X509_CRL_REASON_CODEszOID_CRL_REASON_CODE
X509_ENUMERATED
Для целого числа можно задать одно из перечисленных ниже значений.
Код причины: CRL_REASON_UNSPECIFIED
Значение: 0
Код причины: CRL_REASON_KEY_COMPROMISE
Значение: 1
Код причины: CRL_REASON_CA_COMPROMISE
Значение: 2
Код причины: CRL_REASON_AFFILIATION_CHANGED
Значение: 3
Код причины: CRL_REASON_SUPERSEDED
Значение: 4
Код причины: CRL_REASON_CESSATION_OF_OPERATION
Значение: 5
Код причины: CRL_REASON_CERTIFICATE_HOLD
Значение: 6
Код причины: CRL_REASON_REMOVE_FROM_CRL
Значение: 8
szOID_CRL_VIRTUAL_BASE Используется только с разностными списками отзыва сертификатов. Он содержит базовый номер списка отзыва сертификатов соответствующего базового списка отзыва сертификатов.
X509_CROSS_CERT_DIST_POINTSszOID_CROSS_CERT_DIST_POINTS
Для CRYPT_E_INVALID_IA5_STRING расположение ошибки возвращается в *pcbEncoded by CryptEncodeObject(X509_CRL_DIST_POINTS) — расположение ошибки:
  • POINT_INDEX – 8 бит< < 24
  • ENTRY_INDEX – 8 бит << 16
  • VALUE_INDEX — 16 бит (индекс символов Юникода)
Дополнительные сведения о константах, определяемых ENTRY_INDEX и VALUE_INDEX расположения ошибок, см. в разделе X509_ALTERNATE_NAME.
RSA_CSP_PUBLICKEYBLOB Функция CryptExportKey выводит указанное выше значение pvStructInfo для dwBlobType publicKEYBLOBB. Функция CryptImportKey ожидает указанное выше значение pvStructInfo при импорте открытого ключа. Если параметр dwCertEncodingType имеет X509_ASN_ENCODING, RSA_CSP_PUBLICKEYBLOB кодируется как PKCS #1 RSAPublicKey, состоящий из последовательности модулей INTEGER и publicExponent INTEGER. Модуль кодируется как целое число без знака.
Для функций декодирования pvStructInfo указывает на большой двоичный объект с открытым ключом , за которым следует RSAPUBKEY и байты модуля. (Сведения о BLOB-объектах с открытым ключом см. в разделе CRYPT_INTEGER_BLOB.) CryptExportKey выводит значение pvStructInfo для dwBlobType publicKEYBLOBB. Функция CryptImportKey ожидает значение pvStructInfo при импорте открытого ключа.
Если параметр dwCertEncodingType имеет X509_ASN_ENCODING, RSA_CSP_PUBLICKEYBLOB кодируется как PKCS #1 RSAPublicKey, состоящий из последовательности модулей INTEGER и publicExponent INTEGER. При декодировании, если модуль был закодирован как целое число без знака с 0 байтами в начале, 0-байт удаляется перед преобразованием в байты модуля CSP. Поскольку структура PKCS ) всегда имеет значение CALG_RSA_KEYX.
szOID_DELTA_CRL_INDICATOR Используется только с разностными списками отзыва сертификатов. Он помечен как критический и содержит минимальный базовый номер списка отзыва сертификатов, который можно использовать с разностным списком отзыва сертификатов.
X509_DSS_SIGNATURE Байты упорядочены в качестве выходных данных по CryptSignHash DSS CSP, где менее 20 байтов — это значение R, а более 20 байт — значение S. Значения R и S обрабатываются как целые числа без знака и кодируются как последовательность из них.
X509_ECC_SIGNATURE Использует ту же функцию кодирования и декодирования, что и X509_DH_PARAMETERS. Структура CERT_ECC_SIGNATURE идентична структуре CERT_DH_PARAMETERS , за исключением имен полей.
X509_ENUMERATED Используется при кодировании любого произвольного перечисления, например X509_CRL_REASON_CODE.
szOID_FRESHEST_CRL Используется только с базовыми списками отзыва сертификатов. Этот формат идентичен расширению CDP, вмещущему URL-адреса для получения разностного списка отзыва сертификатов.
X509_ISSUING_DIST_POINTszOID_ISSUING_DIST_POINT
Для CRYPT_E_INVALID_IA5_STRING расположение ошибки возвращается в *pcbEncoded by CryptEncodeObject(X509_ISSUING_DIST_POINT) — расположение ошибки:
  • ENTRY_INDEX – 8 бит << 16
  • VALUE_INDEX — 16 бит (индекс символов Юникода)
Дополнительные сведения о константах, определяемых ENTRY_INDEX и VALUE_INDEX расположения ошибок, см. в разделе X509_ALTERNATE_NAME.
X509_KEY_USAGEszOID_KEY_USAGE
Используются определения битов, используемые для элемента IntendedKeyUsage структуры CERT_KEY_ATTRIBUTES_INFO .
X509_KEYGEN_REQUEST_TO_BE_SIGNED Для функций декодирования элемент pbEncoded является выходными данными одной из функций кодирования с помощью X509_CERT lpszStructType. Эти выходные данные включают данные для подписи, а также их сигнатуру. Для функций кодирования элемент pbEncoded является только данными для подписи.
X509_MULTI_BYTE_UINT Перед кодировкой вставляется начальная 0x00. После декодирования ведущий 0x00 удаляется.
X509_NAME Используется для декодирования и кодирования элементов Issuer и Subject в CERT_INFO структуре.
X509_NAME_CONSTRAINTSszOID_NAME_CONSTRAINTS
Для CRYPT_E_INVALID_IA5_STRING расположение ошибки возвращается в *pcbEncoded by CryptEncodeObject(X509_NAME_CONSTRAINTS) — расположение ошибки:
  • EXCLUDED_SUBTREE_BIT — 1 бит << 31(0 для разрешенных, 1 для исключенных)
  • ENTRY_INDEX – 8 бит << 16
  • VALUE_INDEX — 16 бит (индекс символов Юникода)
Дополнительные сведения о константах, определяемых ENTRY_INDEX и VALUE_INDEX расположения ошибок, см. в разделе X509_ALTERNATE_NAME.
X509_UNICODE_ANY_STRING
X509_UNICODE_NAME_VALUE
Для функций кодирования элемент pbData структуры указывает на строку Юникода. Если элемент cbData равен нулю, строка Юникода имеет завершающий символ NULL ; в противном случае cbData — это число байтов строки Юникода. Число байтов в два раза превышает число символов. Если строка Юникода содержит символ, недопустимый для указанного dwValueType, *pcbEncoded обновляется индексом символов Юникода первого символа, который является недопустимым. GetLastError возвращает:
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_IA5_STRING
Строка Юникода преобразуется перед кодированием в соответствии с указанным dwValueType. Если параметр dwValueType имеет значение 0, GetLastError возвращает E_INVALIDARG.
Если dwValueType не указывает на символьную строку, CryptEncodeObject возвращает значение FALSE , а GetLastError возвращает CRYPT_E_NOT_CHAR_STRING.
Для функций декодирования член pbData указывает на строку Юникода, завершающуюся null, а член cbData содержит число байтов строки Юникода, за исключением завершающего символа NULL . dwValueType содержит тип, используемый для кодирования объекта . Она не вынуждена CERT_RDN_UNICODE_STRING. Закодированное значение преобразуется в строку Юникода в соответствии с dwValueType.
Если закодированный объект не является одним из типов строк символов, функция декодирования возвращает значение FALSE , а GetLastError возвращает CRYPT_E_NOT_CHAR_STRING.
Декодирование строк несимватора с помощью lpszStructType X509_ANY_STRING.
szOID_NEXT_UPDATE_LOCATION Используется со списками доверия сертификатов (CTL) для получения расположения для последнего допустимого срока жизни. Обычно в CERT_ALT_NAME_INFO используется URL-адрес, указывающий расположение.
X509_OCTET_STRING Структура содержит последовательность байтов. Он используется с некоторыми алгоритмами шифрования, для которых требуется вектор инициализации в виде строки октета.
CNG_RSA_PUBLIC_KEY_BLOB Соответствующий pvStructInfo указывает на BCRYPT_RSAKEY_BLOB сразу за которым следует экспонента и байты модуля. Экспонента и модуль имеют формат биг-эндиана. Поля закрытого ключа, состоящие из cbPrime1 и cbPrime2 , равны нулю.
Если параметр dwCertEncodingType равен X509_ASN_ENCODING, то CNG_RSA_PUBLIC_KEY_BLOB кодируется как открытый ключ RSA PKCS #1, состоящий из последовательности модуля и publicExponent.
PKCS_RSA_SSA_PSS_PARAMETERSszOID_RSA_SSA_PSS
Для кодирования используйте следующие значения по умолчанию, если для полей структуры CRYPT_RSA_SSA_PSS_PARAMETERS задано значение NULL или ноль.
Поле: HashAlgorithm.pszObjId
По умолчанию: szOID_OIWSEC_sha1
Поле: MaskGenAlgorithm.pszObjId
По умолчанию: szOID_RSA_MGF1
Поле: MaskGenAlgorithm.HashAlgorithm.pszObjId
Значение по умолчанию: HashAlgorithm.pszObjId
Поле: dwSaltLength
По умолчанию: cbHash
Поле: dwTrailerField
По умолчанию: PKCS_RSA_SSA_PSS_TRAILER_FIELD_BC
Для кодирования необходимо задать только поле HashAlgorithm.pszObjId . Для декодирования все поля задаются явным образом.
PKCS_RSAES_OAEP_PARAMETERSszOID_RSAES_OAEP
Для кодирования используйте следующие значения по умолчанию, если для полей структуры CRYPT_RSAES_OAEP_PARAMETERS задано значение NULL или ноль.
Поле: HashAlgorithm.pszObjId
По умолчанию: szOID_OIWSEC_sha1
Поле: MaskGenAlgorithm.pszObjId
По умолчанию: szOID_RSA_MGF1
Поле: MaskGenAlgorithm.HashAlgorithm.pszObjId
Значение по умолчанию: HashAlgorithm.pszObjId
Поле: PSourceAlgorithm.pszObjId
По умолчанию: szOID_RSA_PSPECIFIED
Поле: PSourceAlgorithm.EncodingParameters.cbData
Значение по умолчанию: 0
Поле: PSourceAlgorithm.EncodingParameters.pbData
По умолчанию: NULL
Для кодирования необходимо задать только поле HashAlgorithm.pszObjId . Для декодирования все поля задаются явным образом.
X509_SEQUENCE_OF_ANY CRYPT_DER_BLOBуказывают на уже закодированное содержимое ANY.
PKCS_SMIME_CAPABILITIESszOID_RSA_SMIMECapabilities
Эти значения lpszStructType работают по-разному для функций кодирования. Из-за спецификаций S/MIME( Secure/Multipurpose Internet Mail Extensions ), если Parameters.cbData равно нулю, закодированные параметры опущены и не кодируются как NULL (05 00).
szOID_SUBJECT_KEY_IDENTIFIER Структура CRYPT_INTEGER_BLOB содержит строку октета, произвольную последовательность байтов.
X509_UNICODE_NAME Для функций декодирования значения атрибутов относительного различающегося имени (RDN) представляют собой строки Юникода , за исключением dwValueTypes CERT_RDN_ENCODED_BLOB или CERT_RDN_OCTET_STRING. Эти значения dwValueTypeсовпадают с значениями для X509_NAME. Эти значения не преобразуются в Юникод. Элемент pbData значения атрибута RDN указывает на строку Юникода, завершаемую null. Элемент cbData значения атрибута RDN содержит число байтов строки Юникода, за исключением завершающего символа NULL . Элемент dwValueType значения атрибута RDN содержит тип, используемый в закодированном объекте. Она не вынуждена CERT_RDN_UNICODE_STRING. Закодированное значение преобразуется в строку Юникода в соответствии с dwValueType.
Для функций кодирования значениями атрибутов RDN являются строки Юникода, за исключением dwValueTypeCERT_RDN_ENCODED_BLOB или CERT_RDN_OCTET_STRING. Эти значения dwValueTypeсовпадают с значениями для X509_NAME. Эти значения не должны быть юникодом.
Для оставшихся строк dwValueTypeзначение атрибута pbDataотносительного различающегося имени (RDN) указывает на строку Юникода. Если значение атрибута RDN в элементе cbData равно нулю, строка Юникода имеет завершающий символ NULL . В противном случае элемент cbData значения атрибута RDN является строковым числом байтов в Юникоде. Число байтов в два раза превышает число символов и исключает завершающий символ NULL .
Если элемент dwValueType значения атрибута RDN CERT_RDN_ANY_TYPE, pszObjId используется для поиска приемлемого dwValueType. Если строка Юникода содержит символ, недопустимый для найденного или указанного dwValueType, значение *pcbEncoded обновляется с указанием недопустимого расположения символа. Для недопустимого символа GetLastError возвращает:
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_IA5_STRING
Строка Юникода преобразуется перед кодированием в соответствии с указанным dwValueType или dwValueType идентификатора объекта.
Индексы расположения ошибок функций кодирования возвращаются в *pcbEncoded следующим образом:
VALUE_INDEX ошибки находится в битах от 0 до 15.
ATTR_INDEX ошибки находится в битах от 16 до 21.
RDN_INDEX ошибки находится в битах от 22 до 31.
Бит 0 является наименее значимым битом DWORD.
Макросы, определенные GET_CERT_UNICODE_RDN_ERR_INDEX(X), GET_CERT_UNICODE_ATTR_ERR_INDEX(X) и GET_CERT_UNICODE_VALUE_ERR_INDEX(X), позволяют легко считывать битовые поля для VALUE_INDEX, ATTR_INDEX и RDN_INDEX из содержащего их DWORD .
PKCS_UTC_TIMEszOID_RSA_signingTime
Для X509_ASN_ENCODING время в формате UTC кодируется точно в секунды и используется двухзначный год.

 

Требования

Требование Значение
Минимальная версия клиента
Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера
Windows Server 2003 [классические приложения | Приложения UWP]
Заголовок
Wincrypt.h

См. также раздел

CRYPT_INTEGER_BLOB