Constantes pour CryptEncodeObject et CryptDecodeObject

Les fonctions CryptEncodeObject, CryptEncodeObjectEx, CryptSignAndEncodeCertificate, CryptDecodeObject et CryptDecodeObjectEx sont des fonctions d’encodage et de décodage généralisées, capables d’encoder et de décoder des certificats encodés ASN.1 ( Abstract Syntax Notation One ), des listes de révocation de certificats (CRL), des listes d’approbation de certificats (CTL) et des demandes de certificat.

Le tableau suivant répertorie les constantes, extensions et attributs prédéfinis utilisés avec les opérations d’encodage et de décodage, ainsi que la structure de données vers laquelle le paramètre pvStructInfo doit pointer.

Notes

Certaines constantes prédéfinies et chaînes OID ont la même signification. Dans ce cas, l’un ou l’autre peut être utilisé comme paramètre lpszStuctType .

 

Constante/valeur Description
CMC_ADD_ATTRIBUTES
(LPCSTR) 63
Le paramètre pvStructInfo est un pointeur vers une structure CMC_ADD_ATTRIBUTES_INFO .
CMC_ADD_EXTENSIONS
(LPCSTR) 62
Le paramètre pvStructInfo est un pointeur vers une structure CMC_ADD_EXTENSIONS_INFO .
X509_ALGORITHM_IDENTIFIER
(LPCSTR) 74
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_ALGORITHM_IDENTIFIER .
X509_ALTERNATE_NAME
(LPCSTR) 12
Le paramètre pvStructInfo est un pointeur vers une structure CERT_ALT_NAME_INFO . Pour plus d'informations, consultez Notes.
X509_ANY_STRING
X509_NAME_VALUE
Le paramètre pvStructInfo est un pointeur vers une structure CERT_NAME_VALUE .
szOID_APPLICATION_CERT_POLICIES
"1.3.6.1.4.1.311.21.10"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_POLICY_QUALIFIER_INFO .
szOID_APPLICATION_POLICY_CONSTRAINTS
"1.3.6.1.4.1.311.21.12"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_POLICY_CONSTRAINTS_INFO .
szOID_APPLICATION_POLICY_MAPPINGS
"1.3.6.1.4.1.311.21.11"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_POLICY_MAPPINGS_INFO .
PKCS_ATTRIBUTE
(LPCSTR) 22
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_ATTRIBUTE .
X509_AUTHORITY_INFO_ACCESS
(LPCSTR) 32
Le paramètre pvStructInfo est un pointeur vers une structure CERT_AUTHORITY_INFO_ACCESS . Pour plus d'informations, consultez Notes.
szOID_AUTHORITY_INFO_ACCESS
"1.3.6.1.5.5.7.1.1"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_AUTHORITY_INFO_ACCESS . Pour plus d'informations, consultez Notes.
X509_SUBJECT_INFO_ACCESS
X509_AUTHORITY_INFO_ACCESS
Le paramètre pvStructInfo est un pointeur vers une structure CERT_AUTHORITY_INFO_ACCESS .
szOID_SUBJECT_INFO_ACCESS
"1.3.6.1.5.5.7.1.11"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_AUTHORITY_INFO_ACCESS .
X509_AUTHORITY_KEY_ID
(LPCSTR) 9
Le paramètre pvStructInfo est un pointeur vers une structure CERT_AUTHORITY_KEY_ID_INFO . Pour plus d'informations, consultez Notes.
X509_AUTHORITY_KEY_ID2
(LPCSTR) 31
Le paramètre pvStructInfo est un pointeur vers une structure CERT_AUTHORITY_KEY_ID2_INFO . Pour plus d'informations, consultez Notes.
szOID_AUTHORITY_KEY_IDENTIFIER
"2.5.29.1"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_AUTHORITY_KEY_ID_INFO . Pour plus d'informations, consultez Notes.
szOID_AUTHORITY_KEY_IDENTIFIER2
"2.5.29.35"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_AUTHORITY_KEY_ID2_INFO . Pour plus d'informations, consultez Notes.
X509_BASIC_CONSTRAINTS
(LPCSTR) 13
Le paramètre pvStructInfo est un pointeur vers une structure CERT_BASIC_CONSTRAINTS_INFO . Pour plus d'informations, consultez Notes.
szOID_BASIC_CONSTRAINTS
"2.5.29.10"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_BASIC_CONSTRAINTS_INFO . Pour plus d'informations, consultez Notes.
X509_BASIC_CONSTRAINTS2
(LPCSTR) 15
Le paramètre pvStructInfo est un pointeur vers une structure CERT_BASIC_CONSTRAINTS2_INFO .
szOID_BASIC_CONSTRAINTS2
"2.5.29.19"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_BASIC_CONSTRAINTS2_INFO .
X509_BIOMETRIC_EXT
(LPCSTR) 71
Le paramètre pvStructInfo est un pointeur vers une structure CERT_BIOMETRIC_EXT_INFO .
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
szOID_BIOMETRIC_EXT
"1.3.6.1.5.5.7.1.2"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_BIOMETRIC_EXT_INFO .
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
X509_BITS
(LPCSTR) 26
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_BIT_BLOB .
X509_CERT
(LPCSTR) 1
Le paramètre pvStructInfo est un pointeur vers une structure CERT_SIGNED_CONTENT_INFO . Pour plus d'informations, consultez Notes.
X509_CERT_CRL_TO_BE_SIGNED
(LPCSTR) 3
Le paramètre pvStructInfo est un pointeur vers une structure CRL_INFO .
szOID_CERT_EXTENSIONS
"1.3.6.1.4.1.311.2.1.14"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_EXTENSIONS .
X509_CERT_PAIR
(LPCSTR) 53
Le paramètre pvStructInfo est un pointeur vers une structure CERT_PAIR .
X509_CERT_POLICIES
(LPCSTR) 16
Le paramètre pvStructInfo est un pointeur vers une structure CERT_POLICIES_INFO .
szOID_CERT_POLICIES
"2.5.29.32"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_POLICIES_INFO .
X509_CERT_REQUEST_TO_BE_SIGNED
(LPCSTR) 4
Le paramètre pvStructInfo est un pointeur vers une structure CERT_REQUEST_INFO .
X509_CERT_TO_BE_SIGNED
(LPCSTR) 2
Le paramètre pvStructInfo est un pointeur vers une structure CERT_INFO .
X509_CERTIFICATE_TEMPLATE
(LPCSTR) 64
Le paramètre pvStructInfo est un pointeur vers une structure CERT_TEMPLATE_EXT .
szOID_CERTIFICATE_TEMPLATE
"1.3.6.1.4.1.311.21.7"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_TEMPLATE_EXT .
X509_CHOICE_OF_TIME
(LPCSTR) 30
Le paramètre pvStructInfo est un pointeur vers une variable FILETIME . Pour plus d'informations, consultez Notes.
PKCS_CONTENT_INFO
(LPCSTR) 33
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_CONTENT_INFO . Pour plus d'informations, consultez Notes.
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY
(LPCSTR) 23
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY . Pour plus d'informations, consultez Notes.
X509_CRL_DIST_POINTS
(LPCSTR) 35
Le paramètre pvStructInfo est un pointeur vers une structure CRL_DIST_POINTS_INFO . Pour plus d'informations, consultez Notes.
szOID_CRL_DIST_POINTS
2.5.29.31
Le paramètre pvStructInfo est un pointeur vers une structure CRL_DIST_POINTS_INFO . Pour plus d'informations, consultez Notes.
szOID_CRL_NUMBER
"2.5.29.20"
Le paramètre pvStructInfo est un pointeur vers une variable int .
X509_CRL_REASON_CODE
X509_ENUMERATED
Le paramètre pvStructInfo est un pointeur vers un entier qui contient la valeur énumérée. Pour plus d'informations, consultez Notes.
szOID_CRL_REASON_CODE
"2.5.29.21"
Le paramètre pvStructInfo est un pointeur vers un entier qui contient la valeur énumérée. Pour plus d'informations, consultez Notes.
szOID_CRL_VIRTUAL_BASE
"1.3.6.1.4.1.311.21.3"
Le paramètre pvStructInfo est un pointeur vers une variable int .
X509_CROSS_CERT_DIST_POINTS
(LPCSTR) 58
Le paramètre pvStructInfo est un pointeur vers une structure CROSS_CERT_DIST_POINTS_INFO .
szOID_CROSS_CERT_DIST_POINTS
"1.3.6.1.4.1.311.10.9.1"
Le paramètre pvStructInfo est un pointeur vers une structure CROSS_CERT_DIST_POINTS_INFO .
RSA_CSP_PUBLICKEYBLOB
(LPCSTR) 19
Le paramètre pvStructInfo est un pointeur vers une structure blob à clé publique Diffie-Hellman version 3 ou d’une structure de objets blob de clé publique DSS version 3 . Pour plus d'informations, consultez Notes.
PKCS_CTL
(LPCSTR) 37
Le paramètre pvStructInfo est un pointeur vers une structure CTL_INFO .
CMC_DATA
(LPCSTR) 59
Le paramètre pvStructInfo est un pointeur vers une structure CMC_DATA_INFO .
szOID_DELTA_CRL_INDICATOR
"2.5.29.27"
Le paramètre pvStructInfo est un pointeur vers une variable int .
X509_DSS_PARAMETERS
(LPCSTR) 39
Le paramètre pvStructInfo est un pointeur vers une structure CERT_DSS_PARAMETERS .
X509_DSS_PUBLICKEY
X509_MULTI_BYTE_UINT
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_UINT_BLOB .
X509_DSS_SIGNATURE
(LPCSTR) 40
Le paramètre pvStructInfo est un pointeur vers un tableau de 40 octets. Pour plus d'informations, consultez Notes.
szOID_ECC_PUBLIC_KEY
"1.2.840.10045.2.1"
Le paramètre pvStructInfo est un pointeur vers une LPSTR de la représentation par points de l’identificateur d’objet.
X509_ECC_SIGNATURE
(LPCSTR) 47
Le paramètre pvStructInfo est un pointeur vers une structure CERT_ECC_SIGNATURE . Pour plus d'informations, consultez Notes.
X509_ECC_PRIVATE_KEY
(LPCSTR) 82
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_ECC_PRIVATE_KEY_INFO.
Windows Server 2003, Windows XP, Windows 2000 et Windows Vista : Cette valeur n’est pas prise en charge.
szOID_ECDSA_SPECIFIED
"1.2.840.10045.4.3"
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_ALGORITHM_IDENTIFIER .
X509_ENHANCED_KEY_USAGE
(LPCSTR) 36
Le paramètre pvStructInfo est un pointeur vers une structure CERT_ENHKEY_USAGE ou CTL_USAGE . (Ces structures sont identiques, mais sont connues sous des noms différents.)
szOID_ENHANCED_KEY_USAGE
"2.5.29.37"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_ENHKEY_USAGE ou CTL_USAGE . (Ces structures sont identiques, mais sont connues sous des noms différents.)
szOID_ENROLLMENT_NAME_VALUE_PAIR
"1.3.6.1.4.1.311.13.2.1"
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_ENROLLMENT_NAME_VALUE_PAIR .
X509_ENUMERATED
(LPCSTR) 29
Le paramètre pvStructInfo est un pointeur vers un entier qui contient la valeur énumérée. Pour plus d'informations, consultez Notes.
X509_EXTENSIONS
(LPCSTR) 5
Le paramètre pvStructInfo est un pointeur vers une structure CERT_EXTENSIONS .
szOID_FRESHEST_CRL
"2.5.29.46"
Le paramètre pvStructInfo est un pointeur vers une structure CRL_DIST_POINTS_INFO .
X509_INTEGER
(LPCSTR) 27
Le paramètre pvStructInfo est un pointeur vers un entier signé de 32 bits ou moins.
szOID_ISSUER_ALT_NAME
"2.5.29.8"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_ALT_NAME_INFO . Pour plus d'informations, consultez Notes.
szOID_ISSUER_ALT_NAME2
"2.5.29.18"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_ALT_NAME_INFO .
X509_ISSUING_DIST_POINT
(LPCSTR) 54
Le paramètre pvStructInfo est un pointeur vers une structure CRL_ISSUING_DIST_POINT .
szOID_ISSUING_DIST_POINT
"2.5.29.28"
Le paramètre pvStructInfo est un pointeur vers une structure CRL_ISSUING_DIST_POINT .
X509_KEY_ATTRIBUTES
(LPCSTR) 10
Le paramètre pvStructInfo est un pointeur vers une structure CERT_KEY_ATTRIBUTES_INFO .
szOID_KEY_ATTRIBUTES
"2.5.29.2"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_KEY_ATTRIBUTES_INFO .
X509_KEY_USAGE
(LPCSTR) 14
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_BIT_BLOB . Pour plus d'informations, consultez Notes.
szOID_KEY_USAGE
"2.5.29.15"
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_BIT_BLOB . Pour plus d'informations, consultez Notes.
X509_KEY_USAGE_RESTRICTION
(LPCSTR) 11
Le paramètre pvStructInfo est un pointeur vers une structure CERT_KEY_USAGE_RESTRICTION_INFO .
szOID_KEY_USAGE_RESTRICTION
"2.5.29.4"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_KEY_USAGE_RESTRICTION_INFO .
X509_KEYGEN_REQUEST_TO_BE_SIGNED
(LPCSTR) 21
Le paramètre pvStructInfo est un pointeur vers une structure CERT_KEYGEN_REQUEST_INFO . Pour plus d'informations, consultez Notes.
X509_LOGOTYPE_EXT
(LPCSTR) 70
Le paramètre pvStructInfo est un pointeur vers une structure CERT_LOGOTYPE_EXT_INFO .
szOID_LOGOTYPE_EXT
"1.3.6.1.5.5.7.1.12"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_LOGOTYPE_EXT_INFO .
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
X509_MULTI_BYTE_INTEGER
(LPCSTR) 28
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_INTEGER_BLOB . L’objet BLOB est dans un ordre peu endien.
X509_MULTI_BYTE_UINT
(LPCSTR) 38
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_UINT_BLOB . Pour plus d'informations, consultez Notes.
X509_NAME
(LPCSTR) 7
Le paramètre pvStructInfo est un pointeur vers une structure CERT_NAME_INFO . Pour plus d'informations, consultez Notes.
X509_NAME_CONSTRAINTS
(LPCSTR) 55
Le paramètre pvStructInfo est un pointeur vers une structure CERT_NAME_CONSTRAINTS_INFO .
szOID_NAME_CONSTRAINTS
"2.5.29.30"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_NAME_CONSTRAINTS_INFO .
X509_NAME_VALUE
(LPCSTR) 6
Le paramètre pvStructInfo est un pointeur vers une structure CERT_NAME_VALUE . Pour plus d'informations, consultez Notes.
szOID_NEXT_UPDATE_LOCATION
Le paramètre pvStructInfo est un pointeur vers une structure CERT_ALT_NAME_INFO . Pour plus d'informations, consultez Notes.
X509_OBJECT_IDENTIFIER
(LPCSTR) 73
Le paramètre pvStructInfo est un pointeur vers une LPSTR de la représentation par points de l’identificateur d’objet.
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
X509_OCTET_STRING
(LPCSTR) 25
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_DATA_BLOB . Pour plus d'informations, consultez Notes.
szOID_OIWSEC_dsa
"1.3.14.3.2.12"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_DSS_PARAMETERS .
X509_POLICY_CONSTRAINTS
(LPCSTR) 57
Le paramètre pvStructInfo est un pointeur vers une structure CERT_POLICY_CONSTRAINTS_INFO .
szOID_POLICY_CONSTRAINTS
"2.5.29.36"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_POLICY_CONSTRAINTS_INFO .
X509_POLICY_MAPPINGS
(LPCSTR) 56
Le paramètre pvStructInfo est un pointeur vers une structure CERT_POLICY_MAPPINGS_INFO .
szOID_POLICY_MAPPINGS
"2.5.29.33"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_POLICY_MAPPINGS_INFO .
X509_PUBLIC_KEY_INFO
(LPCSTR) 8
Le paramètre pvStructInfo est un pointeur vers une structure CERT_PUBLIC_KEY_INFO .
PKCS_RC2_CBC_PARAMETERS
(LPCSTR) 41
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_RC2_CBC_PARAMETERS .
CMC_RESPONSE
(LPCSTR) 60
Le paramètre pvStructInfo est un pointeur vers une structure CMC_RESPONSE_INFO .
CNG_RSA_PUBLIC_KEY_BLOB
(LPCSTR) 72
Le paramètre pvStructInfo est un pointeur vers un BCRYPT_RSAKEY_BLOB immédiatement suivi de l’exposant et des octets de module. Pour plus d'informations, consultez Notes.
CNG_RSA_PRIVATE_KEY_BLOB
LPCSTR) 83
Le paramètre pvStructInfo est un pointeur vers une structure de BCRYPT_RSAKEY_BLOB privée.
Windows Server 2003, Windows XP, Windows 2000 et Windows Vista : Cette valeur n’est pas prise en charge.
szOID_RSA_signingTime
"1.2.840.113549.1.9.5"
Le paramètre pvStructInfo est un pointeur vers une variable FILETIME . Pour plus d'informations, consultez Notes.
szOID_RSA_SMIMECapabilities
"1.2.840.113549.1.9.15"
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_SMIME_CAPABILITIES . Pour plus d'informations, consultez Notes.
PKCS_RSA_SSA_PSS_PARAMETERS
(LPCSTR) 75
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_RSA_SSA_PSS_PARAMETERS . Pour plus d'informations, consultez Notes.
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
szOID_RSA_SSA_PSS
"1.2.840.113549.1.1.10"
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_RSA_SSA_PSS_PARAMETERS . Pour plus d'informations, consultez Notes.
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
PKCS_RSAES_OAEP_PARAMETERS
(LPCSTR) 76
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_RSAES_OAEP_PARAMETERS . Pour plus d'informations, consultez Notes.
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
ECC_CMS_SHARED_INFO
(LPCSTR) 77
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_ECC_CMS_SHARED_INFO .
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
szOID_RSAES_OAEP
"1.2.840.113549.1.1.7"
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_RSAES_OAEP_PARAMETERS . Pour plus d'informations, consultez Notes.
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
X509_SEQUENCE_OF_ANY
(LPCSTR) 34
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_SEQUENCE_OF_ANY . Pour plus d'informations, consultez Notes.
PKCS7_SIGNER_INFO
(LPCSTR) 500
Le paramètre pvStructInfo est un pointeur vers une structure CMSG_SIGNER_INFO .
CMS_SIGNER_INFO
(LPCSTR) 501
Le paramètre pvStructInfo est un pointeur vers une structure CMSG_CMS_SIGNER_INFO .
PKCS_SMIME_CAPABILITIES
(LPCSTR) 42
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_SMIME_CAPABILITIES . Pour plus d'informations, consultez Notes.
CMC_STATUS
(LPCSTR) 61
Le paramètre pvStructInfo est un pointeur vers une structure CMC_STATUS_INFO .
szOID_SUBJECT_ALT_NAME
"2.5.29.7"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_ALT_NAME_INFO . Pour plus d'informations, consultez Notes.
szOID_SUBJECT_ALT_NAME2
"2.5.29.17"
Le paramètre pvStructInfo est un pointeur vers une structure CERT_ALT_NAME_INFO .
szOID_SUBJECT_KEY_IDENTIFIER
"2.5.29.14"
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_DATA_BLOB . Pour plus d'informations, consultez Notes.
PKCS_TIME_REQUEST
(LPCSTR) 18
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_TIME_STAMP_REQUEST_INFO .
X509_UNICODE_ANY_STRING
X509_UNICODE_NAME_VALUE
Le paramètre pvStructInfo est un pointeur vers une structure CERT_NAME_VALUE . Pour plus d'informations, consultez Notes.
X509_UNICODE_NAME
(LPCSTR) 20
Le paramètre pvStructInfo est un pointeur vers une structure CERT_NAME_INFO . Pour plus d'informations, consultez Notes.
X509_UNICODE_NAME_VALUE
(LPCSTR) 24
Le paramètre pvStructInfo est un pointeur vers une structure CERT_NAME_VALUE . Pour plus d'informations, consultez Notes.
PKCS_UTC_TIME
(LPCSTR) 17
Le paramètre pvStructInfo est un pointeur vers une variable FILETIME . Pour plus d'informations, consultez Notes.
OCSP_SIGNED_REQUEST
(LPCSTR) 65
Le paramètre pvStructInfo est un pointeur vers une variable OCSP_SIGNED_REQUEST_INFO .
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
OCSP_REQUEST
(LPCSTR) 66
Le paramètre pvStructInfo est un pointeur vers une variable OCSP_REQUEST_INFO .
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
OCSP_RESPONSE
(LPCSTR) 67
Le paramètre pvStructInfo est un pointeur vers une variable OCSP_RESPONSE_INFO .
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
OCSP_BASIC_SIGNED_RESPONSE
(LPCSTR) 68
Le paramètre pvStructInfo est un pointeur vers une variable OCSP_BASIC_SIGNED_RESPONSE_INFO .
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
OCSP_BASIC_RESPONSE
(LPCSTR) 69
Le paramètre pvStructInfo est un pointeur vers une variable OCSP_BASIC_RESPONSE_INFO .
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.
PKCS_RSA_PRIVATE_KEY
(LPCSTR) 43
Le paramètre pvStructInfo est un pointeur vers un objet BLOB de clé privée RSA. Pour plus d’informations, consultez OBJETS BLOB de clés privées Diffie-Hellman version 3 et OBJETS BLOB de clés privées DSS version 3.
PKCS_PRIVATE_KEY_INFO
(LPCSTR) 44
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_PRIVATE_KEY_INFO .
PKCS_ENCRYPTED_PRIVATE_KEY_INFO
(LPCSTR) 45
Le paramètre pvStructInfo est un pointeur vers une structure CRYPT_ENCRYPTED_PRIVATE_KEY_INFO .

Notes

Le tableau suivant fournit des détails supplémentaires sur des valeurs lpszStructType spécifiques.

Valeur Description
X509_ALTERNATE_NAMEszOID_ISSUER_ALT_NAME
szOID_SUBJECT_ALT_NAME
Avant l’encodage, les choix de nom LPWSTR sont convertis en chaînes IA5. Si la chaîne contient une chaîne IA5 qui n’est pas valide, GetLastError retourne CRYPT_E_INVALID_IA5_STRING et *pcbEncoded est mis à jour avec l’emplacement d’erreur du caractère non valide. Les index d’emplacement d’erreur sont retournés dans *pcbEncoded comme suit :
Bit 0 est le bit le moins significatif du DWORD.
La VALUE_INDEX de l’erreur se trouve dans les bits 0 à 15. Il s’agit de l’index de caractères Unicode.
La ENTRY_INDEX de l’erreur se trouve dans les bits 16 à 23.
Les macros GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) et GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) sont définies pour faciliter la lecture des champs bitmap pour VALUE_INDEX et ENTRY_INDEX à partir du DWORD qui les contient :
Le szOID_SUBJECT_ALT_NAME a été remplacé par szOID_SUBJECT_ALT_NAME2. De nouveaux serveurs de certificats implémentent ce dernier.
X509_AUTHORITY_INFO_ACCESS szOID_AUTHORITY_INFO_ACCESS
szOID_AUTHORITY_KEY_IDENTIFIER2
X509_AUTHORITY_KEY_ID2
Si une fonction d’encodage retourne CRYPT_E_INVALID_IA5_STRING en tant que GetLastError, l’emplacement d’erreur retourné dans *pcbEncoded se compose de : ENTRY_INDEX – 8 bits << 16
VALUE_INDEX : 16 bits (index de caractères Unicode)
Les index d’emplacement d’erreur sont retournés dans *pcbEncoded comme suit :
Bit 0 est le bit le moins significatif du DWORD.
La VALUE_INDEX de l’erreur se trouve dans les bits 0 à 15. Il s’agit de l’index de caractères Unicode.
La ENTRY_INDEX de l’erreur se trouve dans les bits 16 à 23.
Les macros GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) et GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) sont définies pour faciliter la lecture des champs bitmap pour VALUE_INDEX et ENTRY_INDEX à partir du DWORD qui les contient.
X509_AUTHORITY_KEY_IDszOID_AUTHORITY_KEY_IDENTIFIER
Le X509_AUTHORITY_KEY_ID a été remplacé par X509_AUTHORITY_KEY_ID2. De nouveaux serveurs de certificats implémentent ce dernier.
X509_BASIC_CONSTRAINTSszOID_BASIC_CONSTRAINTS
Le X509_BASIC_CONSTRAINTS a été remplacé par X509_BASIC_CONSTRAINTS2. De nouveaux serveurs de certificats implémentent ce dernier.
X509_CERT La structure CERT_SIGNED_CONTENT_INFO contient le contenu encodé à signer, sa signature et l’algorithme de signature. Le membre ToBeSigned est une sortie CERT_INFO, CRL_INFO, CERT_REQUEST_INFO ou CERT_KEYGEN_REQUEST_INFO encodée d’un appel précédent à CryptEncodeObject pour l’une des valeurs lpszStructType suivantes :
  • 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 Peut être utilisé pour l’un des types d’attributs dans une demande de certificat.
X509_CHOICE_OF_TIME Par X509_ASN_ENCODING, si l’heure est postérieure à 1950 et avant 2050, il s’agit d’une heure UTC encodée avec une année à deux chiffres. Sinon, il s’agit d’une heure généralisée encodée avec une année à quatre chiffres, la date est précise en secondes.
PKCS_CONTENT_INFO Pour X509_ASN_ENCODING, encodé en tant que structure ContentInfo PKCS #7. Le CRYPT_DER_BLOB pointe vers le contenu ANY déjà encodé.
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY Pour X509_ASN_ENCODING, encodé en tant que structure ContentInfo PKCS #7 qui encapsule une séquence de ANY. La valeur du membre contentType est pszObjId, tandis que le champ de contenu est la structure suivante : SequenceOfAny ::= SEQUENCE OF ANY
Le CRYPT_DER_BLOB pointe vers le contenu ANY déjà encodé.
X509_CRL_DIST_POINTSszOID_CRL_DIST_POINTS
Si la fonction d’encodage échoue avec GetLastError qui retourne CRYPT_E_INVALID_IA5_STRING, *pcbEncoded est mis à jour avec l’emplacement d’erreur du caractère non valide : CRL_ISSUER_BIT – 1 bit << 31 (0 pour FullName, 1 pour CRLIssuer)
POINT_INDEX – 7 bits << 24
ENTRY_INDEX – 8 bits << 16
VALUE_INDEX : 16 bits (index de caractères Unicode)
Les index d’emplacement d’erreur sont retournés dans *pcbEncoded comme suit :
Le bit 0 est le bit le moins significatif du DWORD.
Le VALUE_INDEX de l’erreur se trouve en bits 0 à 15. Il s’agit de l’index de caractères Unicode.
Le ENTRY_INDEX de l’erreur se trouve en bits 16 à 23.
Les macros GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) et GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) sont définies pour faciliter la lecture des champs bitmap pour les VALUE_INDEX et les ENTRY_INDEX à partir du DWORD qui les contient.
szOID_CRL_NUMBER Utilisé avec les listes de révocation de certificats de base uniquement. Il s’agit d’un numéro de séquence qui augmente de façon monotone pour chaque liste de révocation de certificats émise par une autorité de certification.
X509_CRL_REASON_CODEszOID_CRL_REASON_CODE
X509_ENUMERATED
L’entier peut être défini sur l’une des valeurs énumérées suivantes.
Code de motif : CRL_REASON_UNSPECIFIED
Valeur : 0
Code de motif : CRL_REASON_KEY_COMPROMISE
Valeur : 1
Code de motif : CRL_REASON_CA_COMPROMISE
Valeur : 2
Code de motif : CRL_REASON_AFFILIATION_CHANGED
Valeur : 3
Code de motif : CRL_REASON_SUPERSEDED
Valeur : 4
Code de motif : CRL_REASON_CESSATION_OF_OPERATION
Valeur : 5
Code de raison : CRL_REASON_CERTIFICATE_HOLD
Valeur : 6
Code de raison : CRL_REASON_REMOVE_FROM_CRL
Valeur : 8
szOID_CRL_VIRTUAL_BASE Utilisé avec les listes de contrôle d’accès Delta uniquement. Il contient le numéro de liste de révocation de certificats de base de la liste de révocation de certificats de base correspondante.
X509_CROSS_CERT_DIST_POINTSszOID_CROSS_CERT_DIST_POINTS
Par CRYPT_E_INVALID_IA5_STRING, l’emplacement d’erreur est retourné dans *pcbEncoded by CryptEncodeObject(X509_CRL_DIST_POINTS) L’emplacement d’erreur se compose des éléments suivants :
  • POINT_INDEX : 8 bits << 24
  • ENTRY_INDEX : 8 bits << 16
  • VALUE_INDEX : 16 bits (index de caractères Unicode)
Pour plus d’informations sur les constantes définies par l’emplacement d’erreur ENTRY_INDEX et VALUE_INDEX, consultez X509_ALTERNATE_NAME.
RSA_CSP_PUBLICKEYBLOB La fonction CryptExportKey génère la valeur pvStructInfo ci-dessus pour un dwBlobType de PUBLICKEYBLOB. La fonction CryptImportKey attend la valeur pvStructInfo ci-dessus lors de l’importation d’une clé publique. Si dwCertEncodingType est X509_ASN_ENCODING, le RSA_CSP_PUBLICKEYBLOB est encodé en tant que RSAPublicKey PKCS #1 composé d’une SÉQUENCE d’un entier de module et d’un entier publicExponent. Le module est encodé comme étant un entier non signé.
Pour les fonctions de décodage, pvStructInfo pointe vers un objet BLOB de clé publique immédiatement suivi d’un RSAPUBKEY et des octets de module. (Pour plus d’informations sur les objets blob de clé publique, consultez CRYPT_INTEGER_BLOB.) CryptExportKey génère la valeur pvStructInfo pour un dwBlobType de PUBLICKEYBLOB. La fonction CryptImportKey attend la valeur pvStructInfo lors de l’importation d’une clé publique.
Si dwCertEncodingType est X509_ASN_ENCODING, le RSA_CSP_PUBLICKEYBLOB est encodé en tant que RSAPublicKey PKCS #1 composé d’une SÉQUENCE d’un entier de module et d’un entier publicExponent. En cas de décodage, si le modulus a été encodé en tant qu’entier non signé avec un octet de début 0, l’octet 0 est supprimé avant de le convertir en octets de module CSP. Étant donné que la structure PKCS ) est toujours définie sur CALG_RSA_KEYX.
szOID_DELTA_CRL_INDICATOR Utilisé avec les listes de contrôle d’accès Delta uniquement. Il est marqué critique et contient le numéro de liste de révocation de certificats de base minimal qui peut être utilisé avec une liste de révocation de certificats delta.
X509_DSS_SIGNATURE Les octets sont triés en tant que sortie par le CryptSignHash du csp DSS, où les 20 octets inférieurs sont la valeur R et les 20 octets les plus élevés sont la valeur S. Les valeurs R et S sont traitées comme des entiers non signés et encodées en tant que séquences.
X509_ECC_SIGNATURE Utilise la même fonction d’encodage et de décodage que X509_DH_PARAMETERS. La structure CERT_ECC_SIGNATURE est identique à la structure CERT_DH_PARAMETERS , à l’exception des noms des champs.
X509_ENUMERATED Utilisé lors de l’encodage d’une énumération arbitraire telle que la X509_CRL_REASON_CODE.
szOID_FRESHEST_CRL Utilisé uniquement avec les listes de contrôle de base. Ce format est identique à une extension CDP contenant des URL pour extraire la liste de révocation de certificats delta.
X509_ISSUING_DIST_POINTszOID_ISSUING_DIST_POINT
Par CRYPT_E_INVALID_IA5_STRING, l’emplacement d’erreur est retourné dans *pcbEncoded by CryptEncodeObject(X509_ISSUING_DIST_POINT) L’emplacement d’erreur se compose des éléments suivants :
  • ENTRY_INDEX : 8 bits << 16
  • VALUE_INDEX : 16 bits (index de caractères Unicode)
Pour plus d’informations sur les constantes définies par l’emplacement d’erreur ENTRY_INDEX et VALUE_INDEX, consultez X509_ALTERNATE_NAME.
X509_KEY_USAGEszOID_KEY_USAGE
Les définitions de bits utilisées pour le membre IntendedKeyUsage de la structure CERT_KEY_ATTRIBUTES_INFO sont utilisées.
X509_KEYGEN_REQUEST_TO_BE_SIGNED Pour les fonctions de décodage, le membre pbEncoded est la sortie de l’une des fonctions d’encodage à l’aide du X509_CERT lpszStructType. Cette sortie inclut les données « à signer » plus leur signature. Pour les fonctions d’encodage, le membre pbEncoded est uniquement les données « à signer ».
X509_MULTI_BYTE_UINT Avant l’encodage, un 0x00 de début est inséré. Après le décodage, le 0x00 de début est supprimé.
X509_NAME Permet de décoder/encoder les membres Issuer et Subject dans une structure CERT_INFO .
X509_NAME_CONSTRAINTSszOID_NAME_CONSTRAINTS
Par CRYPT_E_INVALID_IA5_STRING, l’emplacement d’erreur est retourné dans *pcbEncoded by CryptEncodeObject(X509_NAME_CONSTRAINTS) L’emplacement d’erreur se compose des éléments suivants :
  • EXCLUDED_SUBTREE_BIT : 1 bit << 31(0 pour autorisé, 1 pour exclu)
  • ENTRY_INDEX : 8 bits << 16
  • VALUE_INDEX : 16 bits (index de caractères Unicode)
Pour plus d’informations sur les constantes définies par l’emplacement d’erreur ENTRY_INDEX et VALUE_INDEX, consultez X509_ALTERNATE_NAME.
X509_UNICODE_ANY_STRING
X509_UNICODE_NAME_VALUE
Pour les fonctions d’encodage, le membre pbData de la structure pointée vers la chaîne Unicode. Si le membre cbData est égal à zéro, la chaîne Unicode a un caractère null de fin ; sinon, cbData est le nombre d’octets de chaîne Unicode. Le nombre d’octets est deux fois supérieur au nombre de caractères. Si la chaîne Unicode contient un caractère qui n’est pas valide pour le dwValueType spécifié, *pcbEncoded est mis à jour avec l’index de caractères Unicode du premier caractère non valide. GetLastError retourne :
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_IA5_STRING
La chaîne Unicode est convertie avant d’être encodée en fonction du dwValueType spécifié. Si dwValueType a la valeur 0, GetLastError retourne E_INVALIDARG.
Si dwValueType n’indique pas de chaîne de caractères, CryptEncodeObject retourne FALSE avec GetLastError qui retourne CRYPT_E_NOT_CHAR_STRING.
Pour les fonctions de décodage, le membre pbData pointe vers une chaîne Unicode terminée par null et le membre cbData contient le nombre d’octets de la chaîne Unicode à l’exclusion du caractère null de fin. dwValueType contient le type utilisé pour encoder l’objet. Il n’est pas obligé de CERT_RDN_UNICODE_STRING. La valeur encodée est convertie en chaîne Unicode en fonction du dwValueType.
Si l’objet encodé n’est pas l’un des types de chaîne de caractères, la fonction de décodage retourne FALSE avec GetLastError retournant CRYPT_E_NOT_CHAR_STRING.
Décodez des chaînes non-caractères à l’aide d’un lpszStructType de X509_ANY_STRING.
szOID_NEXT_UPDATE_LOCATION Utilisé avec les listes d’approbation de certificats (CTL) pour obtenir l’emplacement de la CTL valide la plus récente. Généralement, le choix utilisé dans le CERT_ALT_NAME_INFO est une URL qui indique l’emplacement.
X509_OCTET_STRING La structure contient une séquence d’octets. Il est utilisé avec certains algorithmes de chiffrement qui nécessitent un vecteur d’initialisation sous la forme d’une chaîne d’octets.
CNG_RSA_PUBLIC_KEY_BLOB Le pvStructInfo correspondant pointe vers un BCRYPT_RSAKEY_BLOB immédiatement suivi de l’exposant et des octets de module. L’exposant et le module sont tous deux au format big-endian. Les champs de clé privée constitués de cbPrime1 et cbPrime2 sont définis sur zéro.
Si le paramètre dwCertEncodingType est égal à X509_ASN_ENCODING, le CNG_RSA_PUBLIC_KEY_BLOB est encodé en tant que clé publique RSA PKCS #1 qui se compose d’une séquence d’un module et d’un publicExponent.
PKCS_RSA_SSA_PSS_PARAMETERSszOID_RSA_SSA_PSS
Pour l’encodage, utilisez les valeurs par défaut suivantes si les champs de structure CRYPT_RSA_SSA_PSS_PARAMETERS ont la valeur NULL ou zéro.
Champ : HashAlgorithm.pszObjId
Valeur par défaut : szOID_OIWSEC_sha1
Champ : MaskGenAlgorithm.pszObjId
Valeur par défaut : szOID_RSA_MGF1
Champ : MaskGenAlgorithm.HashAlgorithm.pszObjId
Par défaut : HashAlgorithm.pszObjId
Champ : dwSaltLength
Valeur par défaut : cbHash
Champ : dwTrailerField
Valeur par défaut : PKCS_RSA_SSA_PSS_TRAILER_FIELD_BC
Pour l’encodage, seul le champ HashAlgorithm.pszObjId doit être défini. Pour le décodage, tous les champs sont définis explicitement.
PKCS_RSAES_OAEP_PARAMETERSszOID_RSAES_OAEP
Pour l’encodage, utilisez les valeurs par défaut suivantes si les champs de structure CRYPT_RSAES_OAEP_PARAMETERS ont la valeur NULL ou zéro.
Champ : HashAlgorithm.pszObjId
Valeur par défaut : szOID_OIWSEC_sha1
Champ : MaskGenAlgorithm.pszObjId
Valeur par défaut : szOID_RSA_MGF1
Champ : MaskGenAlgorithm.HashAlgorithm.pszObjId
Par défaut : HashAlgorithm.pszObjId
Champ : PSourceAlgorithm.pszObjId
Valeur par défaut : szOID_RSA_PSPECIFIED
Champ : PSourceAlgorithm.EncodingParameters.cbData
Valeur par défaut : 0
Champ : PSourceAlgorithm.EncodingParameters.pbData
Valeur par défaut : NULL
Pour l’encodage, seul le champ HashAlgorithm.pszObjId doit être défini. Pour le décodage, tous les champs sont explicitement définis.
X509_SEQUENCE_OF_ANY Les CRYPT_DER_BLOBpointent vers le contenu ANY déjà encodé.
PKCS_SMIME_CAPABILITIESszOID_RSA_SMIMECapabilities
Ces valeurs lpszStructType fonctionnent différemment pour les fonctions d’encodage. En raison des spécifications S/MIME (Secure/Multipurpose Internet Mail Extensions ), si Parameters.cbData est égal à zéro, les paramètres encodés sont omis et non encodés au format NULL (05 00).
szOID_SUBJECT_KEY_IDENTIFIER La structure CRYPT_INTEGER_BLOB contient une chaîne d’octets, une séquence arbitraire d’octets.
X509_UNICODE_NAME Pour les fonctions de décodage, les valeurs d’attribut rdn ( nom unique relatif ) sont des chaînes Unicode à l’exception des dwValueTypede CERT_RDN_ENCODED_BLOB ou CERT_RDN_OCTET_STRING. Ces dwValueTypesont les mêmes que pour un X509_NAME. Ces valeurs ne sont pas converties en Unicode. Le membre pbData de la valeur de l’attribut RDN pointe vers une chaîne Unicode terminée par null. Le membre cbData de la valeur de l’attribut RDN contient le nombre d’octets de la chaîne Unicode à l’exclusion du caractère null de fin. Le membre dwValueType de la valeur de l’attribut RDN contient le type utilisé dans l’objet encodé. Il n’est pas obligé de CERT_RDN_UNICODE_STRING. La valeur encodée est convertie en chaîne Unicode en fonction du dwValueType.
Pour les fonctions d’encodage, les valeurs d’attribut RDN sont des chaînes Unicode à l’exception des dwValueTypede CERT_RDN_ENCODED_BLOB ou CERT_RDN_OCTET_STRING. Ces dwValueTypesont les mêmes que pour un X509_NAME. Ces valeurs ne sont pas censées être Unicode.
Pour les autres chaînes dwValueType, le membre pbData de l’attribut rdN (nom unique relatif) pointe vers la chaîne Unicode. Si le membre cbData de la valeur de l’attribut RDN est égal à zéro, la chaîne Unicode a un caractère null de fin. Sinon, le membre cbData de la valeur de l’attribut RDN est le nombre d’octets de chaîne Unicode. Le nombre d’octets est le double du nombre de caractères et exclut le caractère null de fin.
Si le membre dwValueType de la valeur de l’attribut RDN est CERT_RDN_ANY_TYPE, le pszObjId est utilisé pour trouver un dwValueType acceptable. Si la chaîne Unicode contient un caractère non valide pour le dwValueType trouvé ou spécifié, *pcbEncoded est mis à jour avec l’emplacement d’erreur du caractère qui n’est pas valide. Pour un caractère non valide, GetLastError retourne :
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_IA5_STRING
La chaîne Unicode est convertie avant d’être encodée selon le dwValueType spécifié ou le dwValueType de l’identificateur d’objet.
Les index d’emplacement d’erreur des fonctions d’encodage sont retournés dans *pcbEncoded comme suit :
La VALUE_INDEX de l’erreur se trouve dans les bits 0 à 15.
La ATTR_INDEX de l’erreur se trouve dans les bits 16 à 21.
La RDN_INDEX de l’erreur se trouve dans les bits 22 à 31.
Bit 0 est le bit le moins significatif du DWORD.
Les macros définies GET_CERT_UNICODE_RDN_ERR_INDEX(X), GET_CERT_UNICODE_ATTR_ERR_INDEX(X) et GET_CERT_UNICODE_VALUE_ERR_INDEX(X) permettent de lire facilement les champs bitmap pour les VALUE_INDEX, les ATTR_INDEX et les RDN_INDEX à partir du DWORD qui les contient.
PKCS_UTC_TIMEszOID_RSA_signingTime
Pour X509_ASN_ENCODING, heure UTC encodée précise en secondes et à l’aide d’une année à deux chiffres.

 

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP [applications de bureau | Applications UWP]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau | Applications UWP]
En-tête
Wincrypt.h

Voir aussi

CRYPT_INTEGER_BLOB