Costanti per CryptEncodeObject e CryptDecodeObject

Le funzioni CryptEncodeObject, CryptEncodeObjectEx, CryptSignAndEncodeCertificate, CryptDecodeObject e CryptDecodeObjectEx sono funzioni generalizzate di codifica e decodifica, in grado di codificare e decodificare i certificati asn.1 con codifica AsN.1 , elenchi di revoche di certificati , elenchi di certificati attendibili (CRL) e richieste di certificati.

Nella tabella seguente sono elencate le costanti, le estensioni e gli attributi predefiniti usati con operazioni di codifica e decodifica e la struttura dei dati a cui puntare il parametro pvStructInfo .

Nota

Alcune costanti predefinite e stringhe OID hanno lo stesso significato. In questo caso, può essere usato come parametro lpszStuctType .

 

Costante/valore Descrizione
CMC_ADD_ATTRIBUTES
(LPCSTR) 63
Il parametro pvStructInfo è un puntatore a una struttura CMC_ADD_ATTRIBUTES_INFO .
CMC_ADD_EXTENSIONS
(LPCSTR) 62
Il parametro pvStructInfo è un puntatore a una struttura CMC_ADD_EXTENSIONS_INFO .
X509_ALGORITHM_IDENTIFIER
(LPCSTR) 74
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_ALGORITHM_IDENTIFIER .
X509_ALTERNATE_NAME
(LPCSTR) 12
Il parametro pvStructInfo è un puntatore a una struttura CERT_ALT_NAME_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_ANY_STRING
X509_NAME_VALUE
Il parametro pvStructInfo è un puntatore a una struttura CERT_NAME_VALUE .
szOID_APPLICATION_CERT_POLICIES
"1.3.6.1.4.1.311.21.10"
Il parametro pvStructInfo è un puntatore a una struttura CERT_POLICY_QUALIFIER_INFO .
szOID_APPLICATION_POLICY_CONSTRAINTS
"1.3.6.1.4.1.311.21.12"
Il parametro pvStructInfo è un puntatore a una struttura CERT_POLICY_CONSTRAINTS_INFO .
szOID_APPLICATION_POLICY_MAPPINGS
"1.3.6.1.4.1.311.21.11"
Il parametro pvStructInfo è un puntatore a una struttura CERT_POLICY_MAPPINGS_INFO .
PKCS_ATTRIBUTE
(LPCSTR) 22
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_ATTRIBUTE .
X509_AUTHORITY_INFO_ACCESS
(LPCSTR) 32
Il parametro pvStructInfo è un puntatore a una struttura CERT_AUTHORITY_INFO_ACCESS . Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_AUTHORITY_INFO_ACCESS
"1.3.6.1.5.5.7.1.1"
Il parametro pvStructInfo è un puntatore a una struttura CERT_AUTHORITY_INFO_ACCESS . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_SUBJECT_INFO_ACCESS
X509_AUTHORITY_INFO_ACCESS
Il parametro pvStructInfo è un puntatore a una struttura CERT_AUTHORITY_INFO_ACCESS .
szOID_SUBJECT_INFO_ACCESS
"1.3.6.1.5.5.7.1.11"
Il parametro pvStructInfo è un puntatore a una struttura CERT_AUTHORITY_INFO_ACCESS .
X509_AUTHORITY_KEY_ID
(LPCSTR) 9
Il parametro pvStructInfo è un puntatore a una struttura CERT_AUTHORITY_KEY_ID_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_AUTHORITY_KEY_ID2
(LPCSTR) 31
Il parametro pvStructInfo è un puntatore a una struttura CERT_AUTHORITY_KEY_ID2_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_AUTHORITY_KEY_IDENTIFIER
"2.5.29.1"
Il parametro pvStructInfo è un puntatore a una struttura CERT_AUTHORITY_KEY_ID_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_AUTHORITY_KEY_IDENTIFIER2
"2.5.29.35"
Il parametro pvStructInfo è un puntatore a una struttura CERT_AUTHORITY_KEY_ID2_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_BASIC_CONSTRAINTS
(LPCSTR) 13
Il parametro pvStructInfo è un puntatore a una struttura CERT_BASIC_CONSTRAINTS_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_BASIC_CONSTRAINTS
"2.5.29.10"
Il parametro pvStructInfo è un puntatore a una struttura CERT_BASIC_CONSTRAINTS_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_BASIC_CONSTRAINTS2
(LPCSTR) 15
Il parametro pvStructInfo è un puntatore a una struttura CERT_BASIC_CONSTRAINTS2_INFO .
szOID_BASIC_CONSTRAINTS2
"2.5.29.19"
Il parametro pvStructInfo è un puntatore a una struttura CERT_BASIC_CONSTRAINTS2_INFO .
X509_BIOMETRIC_EXT
(LPCSTR) 71
Il parametro pvStructInfo è un puntatore a una struttura CERT_BIOMETRIC_EXT_INFO .
Windows Server 2003 e Windows XP: Questo valore non è supportato.
szOID_BIOMETRIC_EXT
"1.3.6.1.5.5.7.1.2"
Il parametro pvStructInfo è un puntatore a una struttura CERT_BIOMETRIC_EXT_INFO .
Windows Server 2003 e Windows XP: Questo valore non è supportato.
X509_BITS
(LPCSTR) 26
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_BIT_BLOB .
X509_CERT
(LPCSTR) 1
Il parametro pvStructInfo è un puntatore a una struttura CERT_SIGNED_CONTENT_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_CERT_CRL_TO_BE_SIGNED
(LPCSTR) 3
Il parametro pvStructInfo è un puntatore a una struttura CRL_INFO .
szOID_CERT_EXTENSIONS
"1.3.6.1.4.1.311.2.1.14"
Il parametro pvStructInfo è un puntatore a una struttura CERT_EXTENSIONS .
X509_CERT_PAIR
(LPCSTR) 53
Il parametro pvStructInfo è un puntatore a una struttura CERT_PAIR .
X509_CERT_POLICIES
(LPCSTR) 16
Il parametro pvStructInfo è un puntatore a una struttura CERT_POLICIES_INFO .
szOID_CERT_POLICIES
"2.5.29.32"
Il parametro pvStructInfo è un puntatore a una struttura CERT_POLICIES_INFO .
X509_CERT_REQUEST_TO_BE_SIGNED
(LPCSTR) 4
Il parametro pvStructInfo è un puntatore a una struttura CERT_REQUEST_INFO .
X509_CERT_TO_BE_SIGNED
(LPCSTR) 2
Il parametro pvStructInfo è un puntatore a una struttura di CERT_INFO .
X509_CERTIFICATE_TEMPLATE
(LPCSTR) 64
Il parametro pvStructInfo è un puntatore a una struttura CERT_TEMPLATE_EXT .
szOID_CERTIFICATE_TEMPLATE
"1.3.6.1.4.1.311.21.7"
Il parametro pvStructInfo è un puntatore a una struttura CERT_TEMPLATE_EXT .
X509_CHOICE_OF_TIME
(LPCSTR) 30
Il parametro pvStructInfo è un puntatore a una variabile FILETIME . Per informazioni dettagliate, vedere la sezione Osservazioni.
PKCS_CONTENT_INFO
(LPCSTR) 33
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_CONTENT_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY
(LPCSTR) 23
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_CRL_DIST_POINTS
(LPCSTR) 35
Il parametro pvStructInfo è un puntatore a una struttura CRL_DIST_POINTS_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_CRL_DIST_POINTS
2.5.29.31
Il parametro pvStructInfo è un puntatore a una struttura CRL_DIST_POINTS_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_CRL_NUMBER
"2.5.29.20"
Il parametro pvStructInfo è un puntatore a una variabile int .
X509_CRL_REASON_CODE
X509_ENUMERATED
Il parametro pvStructInfo è un puntatore a un intero contenente il valore enumerato. Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_CRL_REASON_CODE
"2.5.29.21"
Il parametro pvStructInfo è un puntatore a un intero contenente il valore enumerato. Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_CRL_VIRTUAL_BASE
"1.3.6.1.4.1.311.21.3"
Il parametro pvStructInfo è un puntatore a una variabile int .
X509_CROSS_CERT_DIST_POINTS
(LPCSTR) 58
Il parametro pvStructInfo è un puntatore a una struttura CROSS_CERT_DIST_POINTS_INFO .
szOID_CROSS_CERT_DIST_POINTS
"1.3.6.1.4.1.311.10.9.1"
Il parametro pvStructInfo è un puntatore a una struttura CROSS_CERT_DIST_POINTS_INFO .
RSA_CSP_PUBLICKEYBLOB
(LPCSTR) 19
Il parametro pvStructInfo è un puntatore a una struttura BLOBS Diffie-Hellman versione 3 Public Key BLOBs o DSS Versione 3 Public Key BLOBs . Per informazioni dettagliate, vedere la sezione Osservazioni.
PKCS_CTL
(LPCSTR) 37
Il parametro pvStructInfo è un puntatore a una struttura CTL_INFO .
CMC_DATA
(LPCSTR) 59
Il parametro pvStructInfo è un puntatore a una struttura CMC_DATA_INFO .
szOID_DELTA_CRL_INDICATOR
"2.5.29.27"
Il parametro pvStructInfo è un puntatore a una variabile int .
X509_DSS_PARAMETERS
(LPCSTR) 39
Il parametro pvStructInfo è un puntatore a una struttura CERT_DSS_PARAMETERS .
X509_DSS_PUBLICKEY
X509_MULTI_BYTE_UINT
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_UINT_BLOB .
X509_DSS_SIGNATURE
(LPCSTR) 40
Il parametro pvStructInfo è un puntatore a una matrice di 40 byte. Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_ECC_PUBLIC_KEY
"1.2.840.10045.2.1"
Il parametro pvStructInfo è un puntatore a un LPSTR della rappresentazione punto dell'identificatore dell'oggetto.
X509_ECC_SIGNATURE
(LPCSTR) 47
Il parametro pvStructInfo è un puntatore a una struttura CERT_ECC_SIGNATURE . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_ECC_PRIVATE_KEY
(LPCSTR) 82
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_ECC_PRIVATE_KEY_INFO.
Windows Server 2003, Windows XP, Windows 2000 e Windows Vista: Questo valore non è supportato.
szOID_ECDSA_SPECIFIED
"1.2.840.10045.4.3"
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_ALGORITHM_IDENTIFIER .
X509_ENHANCED_KEY_USAGE
(LPCSTR) 36
Il parametro pvStructInfo è un puntatore a una struttura CERT_ENHKEY_USAGE o CTL_USAGE . Queste strutture sono uguali ma sono note da nomi diversi.
szOID_ENHANCED_KEY_USAGE
"2.5.29.37"
Il parametro pvStructInfo è un puntatore a una struttura CERT_ENHKEY_USAGE o CTL_USAGE . Queste strutture sono uguali ma sono note da nomi diversi.
szOID_ENROLLMENT_NAME_VALUE_PAIR
"1.3.6.1.4.1.311.13.2.1"
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_ENROLLMENT_NAME_VALUE_PAIR .
X509_ENUMERATED
(LPCSTR) 29
Il parametro pvStructInfo è un puntatore a un intero contenente il valore enumerato. Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_EXTENSIONS
(LPCSTR) 5
Il parametro pvStructInfo è un puntatore a una struttura CERT_EXTENSIONS .
szOID_FRESHEST_CRL
"2.5.29.46"
Il parametro pvStructInfo è un puntatore a una struttura CRL_DIST_POINTS_INFO .
X509_INTEGER
(LPCSTR) 27
Il parametro pvStructInfo è un puntatore a un intero con segno di 32 bit o minore.
szOID_ISSUER_ALT_NAME
"2.5.29.8"
Il parametro pvStructInfo è un puntatore a una struttura CERT_ALT_NAME_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_ISSUER_ALT_NAME2
"2.5.29.18"
Il parametro pvStructInfo è un puntatore a una struttura CERT_ALT_NAME_INFO .
X509_ISSUING_DIST_POINT
(LPCSTR) 54
Il parametro pvStructInfo è un puntatore a una struttura CRL_ISSUING_DIST_POINT .
szOID_ISSUING_DIST_POINT
"2.5.29.28"
Il parametro pvStructInfo è un puntatore a una struttura CRL_ISSUING_DIST_POINT .
X509_KEY_ATTRIBUTES
(LPCSTR) 10
Il parametro pvStructInfo è un puntatore a una struttura CERT_KEY_ATTRIBUTES_INFO .
szOID_KEY_ATTRIBUTES
"2.5.29.2"
Il parametro pvStructInfo è un puntatore a una struttura CERT_KEY_ATTRIBUTES_INFO .
X509_KEY_USAGE
(LPCSTR) 14
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_BIT_BLOB . Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_KEY_USAGE
"2.5.29.15"
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_BIT_BLOB . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_KEY_USAGE_RESTRICTION
(LPCSTR) 11
Il parametro pvStructInfo è un puntatore a una struttura CERT_KEY_USAGE_RESTRICTION_INFO .
szOID_KEY_USAGE_RESTRICTION
"2.5.29.4"
Il parametro pvStructInfo è un puntatore a una struttura CERT_KEY_USAGE_RESTRICTION_INFO .
X509_KEYGEN_REQUEST_TO_BE_SIGNED
(LPCSTR) 21
Il parametro pvStructInfo è un puntatore a una struttura di CERT_KEYGEN_REQUEST_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_LOGOTYPE_EXT
(LPCSTR) 70
Il parametro pvStructInfo è un puntatore a una struttura CERT_LOGOTYPE_EXT_INFO .
szOID_LOGOTYPE_EXT
"1.3.6.1.5.5.7.1.12"
Il parametro pvStructInfo è un puntatore a una struttura CERT_LOGOTYPE_EXT_INFO .
Windows Server 2003 e Windows XP: Questo valore non è supportato.
X509_MULTI_BYTE_INTEGER
(LPCSTR) 28
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_INTEGER_BLOB . Il BLOB è in ordine little-endian .
X509_MULTI_BYTE_UINT
(LPCSTR) 38
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_UINT_BLOB . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_NAME
(LPCSTR) 7
Il parametro pvStructInfo è un puntatore a una struttura CERT_NAME_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_NAME_CONSTRAINTS
(LPCSTR) 55
Il parametro pvStructInfo è un puntatore a una struttura CERT_NAME_CONSTRAINTS_INFO .
szOID_NAME_CONSTRAINTS
"2.5.29.30"
Il parametro pvStructInfo è un puntatore a una struttura CERT_NAME_CONSTRAINTS_INFO .
X509_NAME_VALUE
(LPCSTR) 6
Il parametro pvStructInfo è un puntatore a una struttura di CERT_NAME_VALUE . Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_NEXT_UPDATE_LOCATION
Il parametro pvStructInfo è un puntatore a una struttura CERT_ALT_NAME_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_OBJECT_IDENTIFIER
(LPCSTR) 73
Il parametro pvStructInfo è un puntatore a un LPSTR della rappresentazione punto dell'identificatore dell'oggetto.
Windows Server 2003 e Windows XP: Questo valore non è supportato.
X509_OCTET_STRING
(LPCSTR) 25
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_DATA_BLOB . Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_OIWSEC_dsa
"1.3.14.3.2.12"
Il parametro pvStructInfo è un puntatore a una struttura CERT_DSS_PARAMETERS .
X509_POLICY_CONSTRAINTS
(LPCSTR) 57
Il parametro pvStructInfo è un puntatore a una struttura CERT_POLICY_CONSTRAINTS_INFO .
szOID_POLICY_CONSTRAINTS
"2.5.29.36"
Il parametro pvStructInfo è un puntatore a una struttura CERT_POLICY_CONSTRAINTS_INFO .
X509_POLICY_MAPPINGS
(LPCSTR) 56
Il parametro pvStructInfo è un puntatore a una struttura CERT_POLICY_MAPPINGS_INFO .
szOID_POLICY_MAPPINGS
"2.5.29.33"
Il parametro pvStructInfo è un puntatore a una struttura CERT_POLICY_MAPPINGS_INFO .
X509_PUBLIC_KEY_INFO
(LPCSTR) 8
Il parametro pvStructInfo è un puntatore a una struttura CERT_PUBLIC_KEY_INFO .
PKCS_RC2_CBC_PARAMETERS
(LPCSTR) 41
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_RC2_CBC_PARAMETERS .
CMC_RESPONSE
(LPCSTR) 60
Il parametro pvStructInfo è un puntatore a una struttura CMC_RESPONSE_INFO .
CNG_RSA_PUBLIC_KEY_BLOB
(LPCSTR) 72
Il parametro pvStructInfo è un puntatore a un BCRYPT_RSAKEY_BLOB immediatamente seguito dall'esponente e dai byte modulo. Per informazioni dettagliate, vedere la sezione Osservazioni.
CNG_RSA_PRIVATE_KEY_BLOB
LPCSTR) 83
Il parametro pvStructInfo è un puntatore a una struttura di BCRYPT_RSAKEY_BLOB privata.
Windows Server 2003, Windows XP, Windows 2000 e Windows Vista: Questo valore non è supportato.
szOID_RSA_signingTime
"1.2.840.113549.1.9.5"
Il parametro pvStructInfo è un puntatore a una variabile FILETIME . Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_RSA_SMIMECapabilities
"1.2.840.113549.1.9.15"
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_SMIME_CAPABILITIES . Per informazioni dettagliate, vedere la sezione Osservazioni.
PKCS_RSA_SSA_PSS_PARAMETERS
(LPCSTR) 75
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_RSA_SSA_PSS_PARAMETERS . Per informazioni dettagliate, vedere la sezione Osservazioni.
Windows Server 2003 e Windows XP: Questo valore non è supportato.
szOID_RSA_SSA_PSS
"1.2.840.113549.1.1.10"
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_RSA_SSA_PSS_PARAMETERS . Per informazioni dettagliate, vedere la sezione Osservazioni.
Windows Server 2003 e Windows XP: Questo valore non è supportato.
PKCS_RSAES_OAEP_PARAMETERS
(LPCSTR) 76
Il parametro pvStructInfo è un puntatore a una struttura di CRYPT_RSAES_OAEP_PARAMETERS . Per informazioni dettagliate, vedere la sezione Osservazioni.
Windows Server 2003 e Windows XP: Questo valore non è supportato.
ECC_CMS_SHARED_INFO
(LPCSTR) 77
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_ECC_CMS_SHARED_INFO .
Windows Server 2003 e Windows XP: Questo valore non è supportato.
szOID_RSAES_OAEP
"1.2.840.113549.1.1.7"
Il parametro pvStructInfo è un puntatore a una struttura di CRYPT_RSAES_OAEP_PARAMETERS . Per informazioni dettagliate, vedere la sezione Osservazioni.
Windows Server 2003 e Windows XP: Questo valore non è supportato.
X509_SEQUENCE_OF_ANY
(LPCSTR) 34
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_SEQUENCE_OF_ANY . Per informazioni dettagliate, vedere la sezione Osservazioni.
PKCS7_SIGNER_INFO
(LPCSTR) 500
Il parametro pvStructInfo è un puntatore a una struttura CMSG_SIGNER_INFO .
CMS_SIGNER_INFO
(LPCSTR) 501
Il parametro pvStructInfo è un puntatore a una struttura CMSG_CMS_SIGNER_INFO .
PKCS_SMIME_CAPABILITIES
(LPCSTR) 42
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_SMIME_CAPABILITIES . Per informazioni dettagliate, vedere la sezione Osservazioni.
CMC_STATUS
(LPCSTR) 61
Il parametro pvStructInfo è un puntatore a una struttura CMC_STATUS_INFO .
szOID_SUBJECT_ALT_NAME
"2.5.29.7"
Il parametro pvStructInfo è un puntatore a una struttura CERT_ALT_NAME_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
szOID_SUBJECT_ALT_NAME2
"2.5.29.17"
Il parametro pvStructInfo è un puntatore a una struttura CERT_ALT_NAME_INFO .
szOID_SUBJECT_KEY_IDENTIFIER
"2.5.29.14"
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_DATA_BLOB . Per informazioni dettagliate, vedere la sezione Osservazioni.
PKCS_TIME_REQUEST
(LPCSTR) 18
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_TIME_STAMP_REQUEST_INFO .
X509_UNICODE_ANY_STRING
X509_UNICODE_NAME_VALUE
Il parametro pvStructInfo è un puntatore a una struttura di CERT_NAME_VALUE . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_UNICODE_NAME
(LPCSTR) 20
Il parametro pvStructInfo è un puntatore a una struttura CERT_NAME_INFO . Per informazioni dettagliate, vedere la sezione Osservazioni.
X509_UNICODE_NAME_VALUE
(LPCSTR) 24
Il parametro pvStructInfo è un puntatore a una struttura di CERT_NAME_VALUE . Per informazioni dettagliate, vedere la sezione Osservazioni.
PKCS_UTC_TIME
(LPCSTR) 17
Il parametro pvStructInfo è un puntatore a una variabile FILETIME . Per informazioni dettagliate, vedere la sezione Osservazioni.
OCSP_SIGNED_REQUEST
(LPCSTR) 65
Il parametro pvStructInfo è un puntatore a una variabile OCSP_SIGNED_REQUEST_INFO .
Windows Server 2003 e Windows XP: Questo valore non è supportato.
OCSP_REQUEST
(LPCSTR) 66
Il parametro pvStructInfo è un puntatore a una variabile OCSP_REQUEST_INFO .
Windows Server 2003 e Windows XP: Questo valore non è supportato.
OCSP_RESPONSE
(LPCSTR) 67
Il parametro pvStructInfo è un puntatore a una variabile OCSP_RESPONSE_INFO .
Windows Server 2003 e Windows XP: Questo valore non è supportato.
OCSP_BASIC_SIGNED_RESPONSE
(LPCSTR) 68
Il parametro pvStructInfo è un puntatore a una variabile OCSP_BASIC_SIGNED_RESPONSE_INFO .
Windows Server 2003 e Windows XP: Questo valore non è supportato.
OCSP_BASIC_RESPONSE
(LPCSTR) 69
Il parametro pvStructInfo è un puntatore a una variabile di OCSP_BASIC_RESPONSE_INFO .
Windows Server 2003 e Windows XP: Questo valore non è supportato.
PKCS_RSA_PRIVATE_KEY
(LPCSTR) 43
Il parametro pvStructInfo è un puntatore a un BLOB di chiavi private RSA. Per altre informazioni, vedere BLOBS di chiavi private di Diffie-Hellman versione 3 e BLOB chiave privata DSS versione 3.
PKCS_PRIVATE_KEY_INFO
(LPCSTR) 44
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_PRIVATE_KEY_INFO .
PKCS_ENCRYPTED_PRIVATE_KEY_INFO
(LPCSTR) 45
Il parametro pvStructInfo è un puntatore a una struttura CRYPT_ENCRYPTED_PRIVATE_KEY_INFO .

Commenti

La tabella seguente fornisce ulteriori dettagli sui valori lpszStructType specifici.

Valore Descrizione
X509_ALTERNATE_NAMEszOID_ISSUER_ALT_NAME
szOID_SUBJECT_ALT_NAME
Prima della codifica, le opzioni di nome LPWSTR vengono convertite in stringhe IA5. Se la stringa contiene una stringa IA5 non valida, GetLastError restituisce CRYPT_E_INVALID_IA5_STRING e *pcbEncoded viene aggiornata con il percorso di errore del carattere non valido. Gli indici di posizione degli errori vengono restituiti in *pcbEncoded come indicato di seguito:
Bit 0 è il bit meno significativo della DWORD.
Il VALUE_INDEX dell'errore si trova in bit da 0 a 15. Si tratta dell'indice dei caratteri Unicode.
Il ENTRY_INDEX dell'errore si trova in bit da 16 a 23.
Le macro GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) e GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) sono definite per fornire una semplice lettura dei campi bitmap per VALUE_INDEX e ENTRY_INDEX dalla DWORD che li contiene:
La szOID_SUBJECT_ALT_NAME è stata sostituita da szOID_SUBJECT_ALT_NAME2. I nuovi server certificati implementano quest'ultimo.
X509_AUTHORITY_INFO_ACCESS szOID_AUTHORITY_INFO_ACCESS
szOID_AUTHORITY_KEY_IDENTIFIER2
X509_AUTHORITY_KEY_ID2
Se una funzione di codifica restituisce CRYPT_E_INVALID_IA5_STRING come GetLastError, la posizione di errore restituita in *pcbEncoded è costituita da: ENTRY_INDEX - 8 bit << 16
VALUE_INDEX - 16 bit (indice carattere Unicode)
Gli indici di posizione degli errori vengono restituiti in *pcbEncoded come indicato di seguito:
Bit 0 è il bit meno significativo della DWORD.
Il VALUE_INDEX dell'errore si trova in bit da 0 a 15. Si tratta dell'indice dei caratteri Unicode.
Il ENTRY_INDEX dell'errore si trova in bit da 16 a 23.
Le macro GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) e GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) sono definite per fornire una semplice lettura dei campi bitmap per VALUE_INDEX e ENTRY_INDEX dalla DWORD che li contiene.
X509_AUTHORITY_KEY_IDszOID_AUTHORITY_KEY_IDENTIFIER
La X509_AUTHORITY_KEY_ID è stata sostituita da X509_AUTHORITY_KEY_ID2. I nuovi server certificati implementano quest'ultimo.
X509_BASIC_CONSTRAINTSszOID_BASIC_CONSTRAINTS
La X509_BASIC_CONSTRAINTS è stata sostituita da X509_BASIC_CONSTRAINTS2. I nuovi server certificati implementano quest'ultimo.
X509_CERT La struttura CERT_SIGNED_CONTENT_INFO contiene il contenuto codificato da firmare, la firma e l'algoritmo di firma. Il membro ToBeSigned è un CERT_INFO codificato, CRL_INFO, CERT_REQUEST_INFO o CERT_KEYGEN_REQUEST_INFO output da una chiamata precedente a CryptEncodeObject per uno dei valori lpszStructType seguenti:
  • 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 Può essere usato per uno dei tipi di attributo in una richiesta di certificato.
X509_CHOICE_OF_TIME Per X509_ASN_ENCODING, se l'ora è successiva al 1950 e prima del 2050, l'ora UTC viene codificata con un anno a due cifre. In caso contrario, l'ora generalizzata è codificata con un anno a quattro cifre, la data è precisa a secondi.
PKCS_CONTENT_INFO Per X509_ASN_ENCODING, codificato come struttura PKCS #7 ContentInfo . Il CRYPT_DER_BLOB punta al contenuto ANY già codificato.
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY Per X509_ASN_ENCODING, codificata come struttura PKCS #7 ContentInfo che esegue il wrapping di una sequenza di ANY. Il valore del membro contentType è pszObjId, mentre il campo contenuto è la struttura seguente: SequenceOfAny ::= SEQUENZA DI ANY
Il CRYPT_DER_BLOB punta al contenuto ANY già codificato.
X509_CRL_DIST_POINTSszOID_CRL_DIST_POINTS
Se la funzione di codifica ha esito negativo con GetLastError che restituisce CRYPT_E_INVALID_IA5_STRING, *pcbEncoded viene aggiornata con il percorso di errore del carattere non valido: CRL_ISSUER_BIT - 1 bit << 31 (0 per FullName, 1 per CRLIssuer)
POINT_INDEX - 7 bit << 24
ENTRY_INDEX - 8 bit << 16
VALUE_INDEX - 16 bit (indice carattere Unicode)
Gli indici di posizione degli errori vengono restituiti in *pcbEncoded come indicato di seguito:
Bit 0 è il bit meno significativo di DWORD.
Il VALUE_INDEX dell'errore si trova in bit da 0 a 15. Indice dei caratteri Unicode.
Il ENTRY_INDEX dell'errore si trova in bit da 16 a 23.
Le macro GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) e GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) sono definite per consentire una facile lettura dei campi mappati con bitmap per VALUE_INDEX e ENTRY_INDEX dalla DWORD che li contiene.
szOID_CRL_NUMBER Usato solo con elenchi di revoche di certificati di base . Si tratta di un numero di sequenza che aumenta in modo monotonico per ogni CRL emesso da un'autorità di certificazione.
X509_CRL_REASON_CODEszOID_CRL_REASON_CODE
X509_ENUMERATED
Il valore Integer può essere impostato su uno dei valori enumerati seguenti.
Codice motivo: CRL_REASON_UNSPECIFIED
Valore: 0
Codice motivo: CRL_REASON_KEY_COMPROMISE
Valore: 1
Codice motivo: CRL_REASON_CA_COMPROMISE
Valore: 2
Codice motivo: CRL_REASON_AFFILIATION_CHANGED
Valore: 3
Codice motivo: CRL_REASON_SUPERSEDED
Valore: 4
Codice motivo: CRL_REASON_CESSATION_OF_OPERATION
Valore: 5
Codice motivo: CRL_REASON_CERTIFICATE_HOLD
Valore: 6
Codice motivo: CRL_REASON_REMOVE_FROM_CRL
Valore: 8
szOID_CRL_VIRTUAL_BASE Usato solo con CRL Delta. Contiene il numero CRL di base del CRL di base corrispondente.
X509_CROSS_CERT_DIST_POINTSszOID_CROSS_CERT_DIST_POINTS
Per CRYPT_E_INVALID_IA5_STRING, la posizione di errore viene restituita in *pcbEncoded da CryptEncodeObject(X509_CRL_DIST_POINTS) La posizione di errore è costituita da:
  • POINT_INDEX - 8 bit << 24
  • ENTRY_INDEX - 8 bit << 16
  • VALUE_INDEX - 16 bit (indice di caratteri Unicode)
Per altre informazioni sulle costanti definite ENTRY_INDEX e VALUE_INDEX percorso degli errori, vedere X509_ALTERNATE_NAME.
RSA_CSP_PUBLICKEYBLOB La funzione CryptExportKey restituisce il valore pvStructInfo precedente per un dwBlobType di PUBLICKEYBLOB. La funzione CryptImportKey prevede il valore pvStructInfo precedente durante l'importazione di una chiave pubblica. Se dwCertEncodingType è X509_ASN_ENCODING, il RSA_CSP_PUBLICKEYBLOB viene codificato come PKCS #1 RSAPublicKey costituito da una SEQUENZA di un INTEGER modulo e un integer publicExponent. Il modulo viene codificato come intero senza segno.
Per le funzioni di decodifica, pvStructInfo punta a un BLOB di chiave pubblica immediatamente seguito da RSAPUBKEY e byte moduli. Per informazioni sui BLOB a chiave pubblica, vedere CRYPT_INTEGER_BLOB. CryptExportKey restituisce il valore pvStructInfo per un dwBlobType di PUBLICKEYBLOB. La funzione CryptImportKey prevede il valore pvStructInfo durante l'importazione di una chiave pubblica.
Se dwCertEncodingType è X509_ASN_ENCODING, il RSA_CSP_PUBLICKEYBLOB viene codificato come PKCS #1 RSAPublicKey costituito da una SEQUENZA di un INTEGER modulo e un integer publicExponent. Quando viene decodificato, se il modulo è stato codificato come intero senza segno con un byte iniziale di 0 byte, il byte 0 viene rimosso prima della conversione nei byte del modulo CSP. Poiché la struttura PKCS ) è sempre impostata su CALG_RSA_KEYX.
szOID_DELTA_CRL_INDICATOR Usato solo con CRL Delta. Questo valore è contrassegnato come critico e contiene il numero CRL di base minimo che può essere usato con un CRL differenziale.
X509_DSS_SIGNATURE I byte vengono ordinati come output da CryptSignHash di DSS CSP, dove i 20 byte inferiori sono il valore R e i 20 byte più alti sono il valore S. I valori R e S vengono considerati come interi senza segno e codificati come sequenza di essi.
X509_ECC_SIGNATURE Usa la stessa funzione di codifica e decodifica di X509_DH_PARAMETERS. La struttura CERT_ECC_SIGNATURE è identica alla struttura CERT_DH_PARAMETERS ad eccezione dei nomi dei campi.
X509_ENUMERATED Utilizzato per la codifica di qualsiasi enumerazione arbitraria, ad esempio il X509_CRL_REASON_CODE.
szOID_FRESHEST_CRL Usato solo con CRL di base. Viene formattato in modo identico a un'estensione CDP che contiene GLI URL per recuperare il delta CRL.
X509_ISSUING_DIST_POINTszOID_ISSUING_DIST_POINT
Per CRYPT_E_INVALID_IA5_STRING, la posizione di errore viene restituita in *pcbEncoded da CryptEncodeObject(X509_ISSUING_DIST_POINT) La posizione di errore è costituita da:
  • ENTRY_INDEX - 8 bit << 16
  • VALUE_INDEX - 16 bit (indice di caratteri Unicode)
Per altre informazioni sulle costanti definite ENTRY_INDEX e VALUE_INDEX percorso degli errori, vedere X509_ALTERNATE_NAME.
X509_KEY_USAGEszOID_KEY_USAGE
Vengono utilizzate le definizioni di bit utilizzate per il membro IntendedKeyUsage della struttura CERT_KEY_ATTRIBUTES_INFO .
X509_KEYGEN_REQUEST_TO_BE_SIGNED Per le funzioni di decodifica, il membro pbEncoded è l'output di una delle funzioni di codifica usando il X509_CERT lpszStructType. Questo output include i dati "da firmare" e la relativa firma. Per le funzioni di codifica, il membro pbEncoded è solo i dati "da firmare".
X509_MULTI_BYTE_UINT Prima della codifica, viene inserito un 0x00 iniziale. Dopo la decodifica, il 0x00 iniziale viene rimosso.
X509_NAME Usato per decodificare/codificare i membri issuer e Subject in una struttura di CERT_INFO .
X509_NAME_CONSTRAINTSszOID_NAME_CONSTRAINTS
Per CRYPT_E_INVALID_IA5_STRING, la posizione di errore viene restituita in *pcbEncoded da CryptEncodeObject(X509_NAME_CONSTRAINTS) Percorso di errore è costituito da:
  • EXCLUDED_SUBTREE_BIT - 1 bit << 31(0 per consentito, 1 per escluso)
  • ENTRY_INDEX - 8 bit << 16
  • VALUE_INDEX - 16 bit (indice di caratteri Unicode)
Per altre informazioni sulle costanti definite ENTRY_INDEX e VALUE_INDEX percorso degli errori, vedere X509_ALTERNATE_NAME.
X509_UNICODE_ANY_STRING
X509_UNICODE_NAME_VALUE
Per le funzioni di codifica, il membro pbData della struttura a cui punta punta la stringa Unicode. Se il membro cbData è zero, la stringa Unicode ha un carattere null di terminazione; in caso contrario , cbData è il conteggio dei byte della stringa Unicode. Il conteggio dei byte è due volte il conteggio dei caratteri. Se la stringa Unicode contiene un carattere non valido per il valore dwValueType specificato, *pcbEncoded viene aggiornato con l'indice di caratteri Unicode del primo carattere non valido. GetLastError restituisce:
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_IA5_STRING
La stringa Unicode viene convertita prima di essere codificata in base al valore dwValueType specificato. Se dwValueType è impostato su 0, GetLastError restituisce E_INVALIDARG.
Se dwValueType non indica una stringa di caratteri, CryptEncodeObject restituisce FALSE con GetLastError che restituisce CRYPT_E_NOT_CHAR_STRING.
Per le funzioni di decodifica, il membro pbData punta a una stringa Unicode con terminazione Null e il membro cbData contiene il conteggio byte della stringa Unicode esclusa il carattere Null di terminazione. dwValueType contiene il tipo utilizzato per codificare l'oggetto . Non è costretto a CERT_RDN_UNICODE_STRING. Il valore codificato viene convertito nella stringa Unicode in base al dwValueType.
Se l'oggetto codificato non è uno dei tipi di stringa di carattere, la funzione decodifica restituisce FALSE con GetLastError che restituisce CRYPT_E_NOT_CHAR_STRING.
Decodificare le stringhe noncharacter usando un lpszStructType di X509_ANY_STRING.
szOID_NEXT_UPDATE_LOCATION Usato con elenchi di attendibilità certificati (CTLs) per ottenere il percorso per il CTL più recente. In genere, la scelta utilizzata nella CERT_ALT_NAME_INFO è un URL che indica la posizione.
X509_OCTET_STRING La struttura contiene una sequenza di byte. Viene usato con alcuni algoritmi di crittografia che richiedono un vettore di inizializzazione sotto forma di stringa ottetto.
CNG_RSA_PUBLIC_KEY_BLOB Il pvStructInfo corrispondente punta a un BCRYPT_RSAKEY_BLOB immediatamente seguito dall'esponente e dai byte del modulo. Sia l'esponente che il modulo sono in formato big-endian. I campi chiave privata costituiti da cbPrime1 e cbPrime2 sono impostati su zero.
Se il parametro dwCertEncodingType è uguale a X509_ASN_ENCODING, il CNG_RSA_PUBLIC_KEY_BLOB viene codificato come chiave pubblica PKCS #1 RSA costituita da una sequenza di un modulo e un publicExponent.
PKCS_RSA_SSA_PSS_PARAMETERSszOID_RSA_SSA_PSS
Per la codifica, usare le impostazioni predefinite seguenti se i campi della struttura CRYPT_RSA_SSA_PSS_PARAMETERS sono impostati su NULL o zero.
Campo: HashAlgorithm.pszObjId
Impostazione predefinita: szOID_OIWSEC_sha1
Campo: MaskGenAlgorithm.pszObjId
Impostazione predefinita: szOID_RSA_MGF1
Campo: MaskGenAlgorithm.HashAlgorithm.pszObjId
Impostazione predefinita: HashAlgorithm.pszObjId
Campo: dwSaltLength
Impostazione predefinita: cbHash
Campo: dwTrailerField
Impostazione predefinita: PKCS_RSA_SSA_PSS_TRAILER_FIELD_BC
Per la codifica, è necessario impostare solo il campo HashAlgorithm.pszObjId . Per la decodifica, tutti i campi vengono impostati in modo esplicito.
PKCS_RSAES_OAEP_PARAMETERSszOID_RSAES_OAEP
Per la codifica, usare le impostazioni predefinite seguenti se i campi della struttura CRYPT_RSAES_OAEP_PARAMETERS sono impostati su NULL o zero.
Campo: HashAlgorithm.pszObjId
Impostazione predefinita: szOID_OIWSEC_sha1
Campo: MaskGenAlgorithm.pszObjId
Impostazione predefinita: szOID_RSA_MGF1
Campo: MaskGenAlgorithm.HashAlgorithm.pszObjId
Impostazione predefinita: HashAlgorithm.pszObjId
Campo: PSourceAlgorithm.pszObjId
Impostazione predefinita: szOID_RSA_PSPECIFIED
Campo: PSourceAlgorithm.EncodingParameters.cbData
Predefinito: 0
Campo: PSourceAlgorithm.EncodingParameters.pbData
Impostazione predefinita: NULL
Per la codifica, è necessario impostare solo il campo HashAlgorithm.pszObjId . Per la decodifica, tutti i campi vengono impostati in modo esplicito.
X509_SEQUENCE_OF_ANY Il CRYPT_DER_BLOBpunta al contenuto ANY già codificato.
PKCS_SMIME_CAPABILITIESszOID_RSA_SMIMECapabilities
Questi valori lpszStructType funzionano in modo diverso per le funzioni di codifica. A causa delle specifiche Secure/Multipurpose Internet Mail Extensions (S/MIME), se parameters.cbData è zero, i parametri codificati vengono omessi e non codificati come NULL (05 00).
szOID_SUBJECT_KEY_IDENTIFIER La struttura CRYPT_INTEGER_BLOB contiene una stringa ottetto, una sequenza arbitraria di byte.
X509_UNICODE_NAME Per le funzioni di decodifica, i valori dell'attributo RDN ( Relative Distinguished Name ) sono stringhe Unicode , ad eccezione di dwValueTypes di CERT_RDN_ENCODED_BLOB o CERT_RDN_OCTET_STRING. Questi dwValueTypesono uguali a per un X509_NAME. Questi valori non vengono convertiti in Unicode. Il membro pbData del valore dell'attributo RDN punta a una stringa Unicode con terminazione null. Il membro cbData dell'attributo RDN contiene il conteggio byte della stringa Unicode escluso il carattere Null terminante. Il membro dwValueType dell'attributo RDN contiene il tipo usato nell'oggetto codificato. Non è costretto a CERT_RDN_UNICODE_STRING. Il valore codificato viene convertito nella stringa Unicode in base al dwValueType.
Per le funzioni di codifica, i valori dell'attributo RDN sono stringhe Unicode, ad eccezione di dwValueTypes di CERT_RDN_ENCODED_BLOB o CERT_RDN_OCTET_STRING. Questi dwValueTypesono uguali a per un X509_NAME. Questi valori non devono essere Unicode.
Per la stringa rimanente dwValueTypes, il nome distinto relativo (RDN) del valore del membro pbData del valore dell'attributo pbData punta alla stringa Unicode. Se il membro cbData del valore dell'attributo RDN è zero, la stringa Unicode ha un carattere null terminante. In caso contrario, il membro cbData dell'attributo RDN è il conteggio di byte stringa Unicode. Il conteggio dei byte è due volte il conteggio dei caratteri ed esclude il carattere null terminante.
Se il membro dwValueType del valore dell'attributo RDN è CERT_RDN_ANY_TYPE, viene usato pszObjId per trovare un dwValueType accettabile. Se la stringa Unicode contiene un carattere non valido per il valore trovato o specificato dwValueType, *pcbEncoded viene aggiornato con il percorso di errore del carattere non valido. Per un carattere non valido, GetLastError restituisce:
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_IA5_STRING
La stringa Unicode viene convertita prima di essere codificata in base al dwValueType specificato o all'identificatore di oggetto dwValueType.
Gli indici di posizione degli errori delle funzioni di codifica vengono restituiti in *pcbEncoded come indicato di seguito:
Il VALUE_INDEX dell'errore si trova in bit da 0 a 15.
La ATTR_INDEX dell'errore si trova in bit da 16 a 21.
Il RDN_INDEX dell'errore si trova in bit da 22 a 31.
Bit 0 è il bit meno significativo della DWORD.
Le macro definite GET_CERT_UNICODE_RDN_ERR_INDEX(X), GET_CERT_UNICODE_ATTR_ERR_INDEX(X) e GET_CERT_UNICODE_VALUE_ERR_INDEX(X) consentono di leggere facilmente i campi bitmap per VALUE_INDEX, ATTR_INDEX e RDN_INDEX dalla DWORD che li contiene.
PKCS_UTC_TIMEszOID_RSA_signingTime
Per X509_ASN_ENCODING, ora UTC codificata in modo preciso in secondi e uso di un anno a due cifre.

 

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [app desktop | App UWP]
Server minimo supportato
Windows Server 2003 [app desktop | App UWP]
Intestazione
Wincrypt.h

Vedi anche

CRYPT_INTEGER_BLOB