Condividi tramite


Strutture di crittografia

Le strutture seguenti vengono usate dalle funzioni di crittografia. Le strutture di crittografia vengono classificate in base all'utilizzo come indicato di seguito:

Strutture CryptXML

Le strutture seguenti vengono usate dalle funzioni CryptXML.

Struttura Descrizione
CRYPT_XML_ALGORITHM Specifica l'algoritmo utilizzato per firmare o trasformare il messaggio.
CRYPT_XML_ALGORITHM_INFO Contiene informazioni sull'algoritmo.
CRYPT_XML_BLOB Contiene una matrice arbitraria di byte.
CRYPT_XML_CRYPTOGRAPHIC_INTERFACE Passato al puntatore alla funzione CryptXmlDllGetInterface per esporre le funzioni CryptXML implementate.
CRYPT_XML_DATA_BLOB Contiene dati con codifica XML.
CRYPT_XML_DATA_PROVIDER Specifica l'interfaccia per il provider di dati XML.
CRYPT_XML_DOC_CTXT Definisce le informazioni sul contesto del documento.
CRYPT_XML_ISSUER_SERIAL Contiene una coppia di numeri distinti distinti rilasciati da X.509 .
CRYPT_XML_KEY_DSA_KEY_VALUE Definisce un valore di chiave DSA ( Digital Signature Algorithm ). La struttura CRYPT_XML_KEY_DSA_KEY_VALUE viene utilizzata come elemento dell'unione dei valori chiave nella struttura CRYPT_XML_KEY_VALUE .
CRYPT_XML_KEY_ECDSA_KEY_VALUE Definisce un valore di chiave ECDSA (Elliptic Curve Digital Signature Algorithm). La struttura CRYPT_XML_KEY_ECDSA_KEY_VALUE viene utilizzata come elemento dell'unione dei valori chiave nella struttura CRYPT_XML_KEY_VALUE .
CRYPT_XML_KEY_INFO Incapsula i dati delle informazioni chiave.
CRYPT_XML_KEY_INFO_ITEM Incapsula i dati delle informazioni chiave che corrispondono a un elemento KeyInfo . L'elemento KeyInfo consente al destinatario di ottenere la chiave necessaria per convalidare la firma.
CRYPT_XML_KEY_RSA_KEY_VALUE Definisce un valore di chiave RSA. La struttura CRYPT_XML_KEY_RSA_KEY_VALUE viene utilizzata come elemento dell'unione dei valori chiave nella struttura CRYPT_XML_KEY_VALUE .
CRYPT_XML_KEY_VALUE Contiene una singola chiave pubblica che può essere utile per convalidare la firma.
CRYPT_XML_KEYINFO_PARAM Viene utilizzata dalla funzione CryptXmlSign per specificare i membri dell'elemento KeyInfo da codificare.
CRYPT_XML_OBJECT Descrive un elemento Object nella firma.
CRYPT_XML_PROPERTY Contiene informazioni su una proprietà CryptXML.
CRYPT_XML_REFERENCE Contiene informazioni utilizzate per popolare l'elemento Reference .
CRYPT_XML_REFERENCES Definisce una matrice di strutture CRYPT_XML_REFERENCE .
CRYPT_XML_SIGNATURE Contiene informazioni utilizzate per popolare l'elemento Signature .
CRYPT_XML_SIGNED_INFO Restituisce informazioni sullo stato di convalida della firma, informazioni sullo stato di riepilogo su un elemento SignedInfo o informazioni sullo stato di riepilogo su una matrice di elementi Reference .
CRYPT_XML_TRANSFORM_CHAIN_CONFIG Definisce le trasformazioni definite dall'applicazione che sono consentite per l'uso nella firma digitale XML.
CRYPT_XML_TRANSFORM_INFO Contiene informazioni utilizzate durante l'applicazione della trasformazione dei dati.
CRYPT_XML_X509DATA Rappresenta la sequenza di scelte nell'elemento X509Data .
CRYPT_XML_X509DATA_ITEM Rappresenta i dati X.509 che devono essere codificati in un elemento denominato X509Data.

 

Strutture di crittografia generali

Le strutture seguenti vengono usate dalle funzioni di crittografia di base.

Struttura Descrizione
CMS_DH_KEY_INFO Usato con il parametro KP_CMS_DH_KEY_INFO nella funzione CryptSetKeyParam per contenere informazioni sulla chiave Diffie-Hellman .
CMS_KEY_INFO Questa struttura non viene utilizzata.
CRYPT_AES_128_KEY_STATE Specifica le informazioni sulla chiave simmetrica a 128 bit per una crittografia AES ( Advanced Encryption Standard ).
CRYPT_AES_256_KEY_STATE Specifica le informazioni sulla chiave simmetrica a 256 bit per una crittografia AES.
CRYPT_ALGORITHM_IDENTIFIER Contiene l'identificatore di oggetto (OID) dell'algoritmo e gli eventuali parametri necessari per tale algoritmo.
CRYPT_ATTRIBUTE Specifica un attributo con uno o più valori.
CRYPT_ATTRIBUTE_TYPE_VALUE Contiene un singolo valore di attributo.
CRYPT_ATTRIBUTES Contiene una matrice di attributi.
CRYPT_BIT_BLOB Contiene una matrice di byte.
CRYPT_BLOB_ARRAY Contiene una matrice di strutture CRYPT_DATA_BLOB .
CRYPT_CONTENT_INFO Contiene dati codificati nel formato di dati ContentInfo PKCS #7.
CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY Contiene informazioni che rappresentano la sequenza di certificati Netscape.
CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA Usato con la funzione CryptInstallDefaultContext per contenere una matrice di stringhe di identificatori di oggetto.
CRYPT_ECC_CMS_SHARED_INFO Rappresenta le informazioni sulla chiave di crittografia della chiave quando si utilizza la crittografia a curva ellittica (ECC) nel tipo di contenuto EnvelopedData (Cryptographic Message Syntax, CMS).
CRYPT_ENCRYPTED_PRIVATE_KEY_INFO Contiene le informazioni di una chiave privata PKCS #8 crittografata.
CRYPT_ENROLLMENT_NAME_VALUE_PAIR Questa struttura viene usata per creare richieste di certificato per conto di un utente.
CRYPT_INTEGER_BLOB Contiene i dati di vari tipi di oggetti binari di grandi dimensioni in nomi appropriati per il tipo.
CRYPT_KEY_LIMITS Supporta la funzione CryptGetLocalKeyLimits non implementata e non viene usata. Verrà rimosso in una versione futura di Wincrypt.h.
CRYPT_KEY_PROV_INFO Contiene campi passati come argomenti a CryptAcquireContext per acquisire un handle in un contenitore di chiavi specifico all'interno di un provider di servizi di crittografia specifico oppure per creare o eliminare definitivamente un contenitore di chiavi.
CRYPT_KEY_PROV_PARAM Contiene dati da passare come argomenti a CryptSetProvParam.
CRYPT_KEY_SIGN_MESSAGE_PARA Contiene informazioni sul CSP e sugli algoritmi usati per firmare un messaggio.
CRYPT_KEY_VERIFY_MESSAGE_PARA Contiene informazioni necessarie per verificare i messaggi firmati senza un certificato per il firmatario.
CRYPT_MASK_GEN_ALGORITHM Identifica l'algoritmo usato per generare una maschera di firma RSA PKCS #1 v2.1.
CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE Contiene puntatori alle funzioni implementate da un provider di percorsi di oggetti.
CRYPT_PKCS8_EXPORT_PARAMS Contiene informazioni che identificano una chiave privata e un puntatore a una funzione di callback.
CRYPT_PKCS8_IMPORT_PARAMS Contiene una chiave privata PKCS #8 e due puntatori alle funzioni di callback.
CRYPT_PKCS12_PBE_PARAMS Contiene parametri usati per creare una chiave di crittografia, un vettore di inizializzazione (IV) o una chiave MAC ( Message Authentication Code ) per un algoritmo di crittografia basato su password PKCS #12 .
CRYPT_PRIVATE_KEY_INFO Contiene le informazioni di una chiave privata PKCS #8.
CRYPT_PSOURCE_ALGORITHM Identifica l'algoritmo e (facoltativamente) il valore dell'etichetta per una crittografia della chiave RSAES-OAEP.
CRYPT_RETRIEVE_AUX_INFO Contiene informazioni facoltative sulla sincronizzazione dell'ora da passare alla funzione CryptRetrieveObjectByUrl .
CRYPT_RSA_SSA_PSS_PARAMETERS Contiene i parametri per una firma RSA PKCS #1 v2.1.
CRYPT_RSAES_OAEP_PARAMETERS Contiene i parametri per una crittografia della chiave RSAES-OAEP.
CRYPT_SEQUENCE_OF_ANY Contiene un elenco arbitrario di BLOB codificati.
CRYPT_SMART_CARD_ROOT_INFO Contiene gli ID di smart card e sessione associati a un contesto di certificato.
CRYPT_TIME_STAMP_REQUEST_INFO Questa struttura viene utilizzata per il timestamp.
CRYPT_URL_INFO Contiene informazioni sui raggruppamenti di URL.
CRYPT_X942_OTHER_INFO Contiene informazioni aggiuntive sulla generazione di chiavi.
CRYPTNET_URL_CACHE_FLUSH_INFO Contiene informazioni sulla scadenza usate dal servizio Cache URL (CUC) di Cryptnet per mantenere una voce della cache degli URL.
CRYPTNET_URL_CACHE_PRE_FETCH_INFO Contiene informazioni sull'aggiornamento usate dal servizio Cache URL (CUC) di Cryptnet per mantenere una voce della cache degli URL.
CRYPTNET_URL_CACHE_RESPONSE_INFO Contiene informazioni sulla risposta usate dal servizio Cache URL (CUC) di Cryptnet per mantenere una voce della cache degli URL.
CRYPT_INTEGER_BLOB Questa struttura viene utilizzata per una matrice arbitraria di byte.
CRYPTPROTECT_PROMPTSTRUCT Fornisce il testo di un prompt e informazioni su quando e dove deve essere visualizzato il prompt quando si usano le funzioni CryptProtectData e CryptUnprotectData .
CRYPTUI_INITDIALOG_STRUCT Supporta la struttura CRYPTUI_VIEWCERTIFICATE_STRUCT .
CRYPTUI_SELECTCERTIFICATE_STRUCT Contiene informazioni sulla finestra di dialogo visualizzata dalla funzione CryptUIDlgSelectCertificate .
CRYPTUI_VIEWCERTIFICATE_STRUCT Contiene informazioni su un certificato da visualizzare. Viene usato nella funzione CryptUIDlgViewCertificate .
CRYPTUI_VIEWSIGNERINFO_STRUCT Contiene informazioni per la funzione CryptUIDlgViewSignerInfo .
CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO Contiene informazioni che controllano l'operazione della funzione CryptUIWizExport quando un certificato è l'oggetto esportato.
CRYPTUI_WIZ_EXPORT_INFO Contiene informazioni che controllano l'operazione della funzione CryptUIWizExport .
CRYPTUI_WIZ_IMPORT_SRC_INFO Contiene l'oggetto da importare nella funzione CryptUIWizImport .
DHPRIVKEY_VER3 Contiene informazioni specifiche per la chiave privata specifica contenuta nel BLOB della chiave.
DHPUBKEY Contiene informazioni specifiche per la particolare Diffie-Hellman chiave pubblica contenuta nel BLOB della chiave.
DHPUBKEY_VER3 Contiene informazioni specifiche per la chiave pubblica specifica contenuta nel BLOB della chiave.
BLOB di chiave privata Diffie-Hellman versione 3 Usato per esportare e importare informazioni su una chiave privata DH.
BLOB a chiave pubblica Diffie-Hellman versione 3 Usato per esportare e importare informazioni su una chiave pubblica DH.
BLOB di chiavi private DSS versione 3 Usato per esportare e importare informazioni su una chiave privata DH.
BLOB con chiave pubblica DSS versione 3 Usato per esportare e importare informazioni su una chiave pubblica DH.
DSSPRIVKEY_VER3 Contiene informazioni specifiche per la chiave privata specifica contenuta nel BLOB della chiave.
DSSPUBKEY Contiene informazioni specifiche per la chiave pubblica specifica contenuta nel BLOB della chiave.
DSSPUBKEY_VER3 Contiene informazioni specifiche per la chiave pubblica specifica contenuta nel BLOB della chiave.
DSSSEED Contiene i valori di inizializzazione e contatore che possono essere usati per verificare i primi della chiave pubblica DSS.
HMAC_INFO Specifica l'algoritmo hash e le stringhe interne ed esterne da usare per calcolare l'hash HMAC ( Hash-Based Message Authentication Code ).
KEYSVC_BLOB Definisce un BLOB del servizio chiavi.
KEYSVC_UNICODE_STRING Definisce una stringa Unicode del servizio chiave.
OCSP_BASIC_RESPONSE_ENTRY Contiene lo stato corrente del certificato per un singolo certificato.
OCSP_BASIC_RESPONSE_INFO Contiene una risposta OCSP di base come specificato da RFC 2560.
OCSP_BASIC_REVOKED_INFO Contiene il motivo per cui un certificato è stato revocato.
OCSP_BASIC_SIGNED_RESPONSE_INFO Contiene una risposta OCSP di base con una firma.
OCSP_CERT_ID Contiene informazioni per identificare un certificato in una richiesta o una risposta OCSP.
OCSP_REQUEST_ENTRY Contiene informazioni su un singolo certificato in una richiesta OCSP.
OCSP_REQUEST_INFO Contiene informazioni per una richiesta OCSP come specificato da RFC 2560.
OCSP_RESPONSE_INFO Indica l'esito positivo o negativo della richiesta OCSP corrispondente. Per le richieste riuscite, contiene il tipo e il valore delle informazioni sulla risposta.
OCSP_SIGNATURE_INFO Contiene una firma per una richiesta o una risposta OCSP.
OCSP_SIGNED_REQUEST_INFO Contiene informazioni per una richiesta OCSP con informazioni facoltative sulla firma.
PROV_ENUMALGS Restituito dalle chiamate a CryptGetProvParam o CPGetProvParam.
PROV_ENUMALGS_EX Restituito dalle chiamate a CryptGetProvParam o CPGetProvParam.
PUBLICKEYSTRUC Indica il tipo DI BLOB di una chiave e l'algoritmo utilizzato dalla chiave.
ROOT_INFO_LUID Contiene un identificatore univoco locale (LUID) per le informazioni radice della smart card crittografica.
RSAPUBKEY Contiene informazioni specifiche per la chiave pubblica specifica contenuta nel BLOB della chiave.
SCHANNEL_ALG Contiene informazioni sull'algoritmo e sulle dimensioni delle chiavi.
SIGNER_ATTR_AUTHCODE Specifica gli attributi per una firma Authenticode .
SIGNER_BLOB_INFO Specifica un BLOB da firmare.
SIGNER_CERT Specifica un certificato utilizzato per firmare un documento. Il certificato può essere archiviato in un file SPC ( Software Publisher Certificate ) o in un archivio certificati.
SIGNER_CERT_STORE_INFO Specifica l'archivio certificati utilizzato per firmare un documento.
SIGNER_CONTEXT Contiene un BLOB firmato.
SIGNER_FILE_INFO Specifica un file da firmare.
SIGNER_PROVIDER_INFO Specifica le informazioni sul provider di servizi di configurazione e sulla chiave privata usate per creare una firma digitale.
SIGNER_SIGNATURE_INFO Contiene informazioni su una firma digitale.
SIGNER_SPC_CHAIN_INFO Specifica un certificato SPC ( Software Publisher Certificate ) e una catena di certificati utilizzata per firmare un documento.
SIGNER_SUBJECT_INFO Specifica un oggetto da firmare.

 

Strutture di certificati comuni

Le strutture seguenti vengono usate da molte delle funzioni del certificato.

Struttura Descrizione
CERT_BIOMETRIC_DATA Contiene informazioni sui dati biometrici.
CERT_BIOMETRIC_EXT_INFO Contiene un set di informazioni biometriche.
CERT_CONTEXT Contiene sia le rappresentazioni codificate che decodificate di un certificato.
CERT_CRL_CONTEXT_PAIR Contiene un contesto di certificato e un contesto CRL associato.
CERT_DH_PARAMETERS Contiene parametri associati a un algoritmo di chiave pubblica Diffie-Hellman .
CERT_DSS_PARAMETERS Contiene parametri associati a un algoritmo di chiave pubblica DSS.
CERT_ECC_SIGNATURE Contiene i valori r e s per una firma ECDSA (Elliptic Curve Digital Signature Algorithm).
CERT_EXTENSION Contiene le informazioni di estensione per un certificato, un elenco di revoche di certificati (CRL) o un elenco di certificati attendibili (CTL).
CERT_EXTENSIONS Contiene una matrice di estensioni.
CERT_GENERAL_SUBTREE Utilizzata nella struttura CERT_NAME_CONSTRAINTS_INFO , questa struttura fornisce l'identità di un certificato che può essere incluso o escluso.
CERT_HASHED_URL Contiene un URL con hash.
CERT_ID Usato come mezzo flessibile per identificare in modo univoco un certificato.
CERT_INFO Contiene le informazioni di un certificato.
CERT_KEY_CONTEXT Contiene dati per il membro pvData di un membro Value della struttura CERT_EXTENSION associata a una proprietà CERT_KEY_CONTEXT_PROP_ID.
CERT_KEYGEN_REQUEST_INFO Contiene informazioni archiviate nella richiesta Netscape Keygen.
CERT_LDAP_STORE_OPENED_PARA Usato con la funzione CertOpenStore quando il provider di CERT_STORE_PROV_LDAP viene specificato usando il flag CERT_LDAP_STORE_OPENED_FLAG per specificare sia la sessione LDAP esistente da usare per eseguire la query che la stringa di query LDAP.
CERT_LOGOTYPE_AUDIO Contiene informazioni su un logotipo audio.
CERT_LOGOTYPE_AUDIO_INFO Contiene informazioni più dettagliate su un logotipo audio.
CERT_LOGOTYPE_DATA Contiene i dati del tipo di logo.
CERT_LOGOTYPE_DETAILS Contiene informazioni aggiuntive su un logotype.
CERT_LOGOTYPE_EXT_INFO Contiene un set di informazioni sul tipo di logo.
CERT_LOGOTYPE_IMAGE Contiene informazioni sul tipo di logotipo di un'immagine.
CERT_LOGOTYPE_IMAGE_INFO Contiene informazioni più dettagliate su un logotipo di immagine.
CERT_LOGOTYPE_INFO Contiene informazioni sui dati del tipo di logo.
CERT_LOGOTYPE_REFERENCE Contiene informazioni di riferimento sul tipo di logo.
CERT_NAME_CONSTRAINTS_INFO Contiene informazioni sui certificati esplicitamente consentiti o esclusi dall'attendibilità.
CERT_NAME_INFO Contiene nomi dell'oggetto o dell'autorità emittente. Le informazioni sono rappresentate come una matrice di strutture CERT_RDN .
CERT_NAME_VALUE Contiene un valore di attributo rdn (Distinguished Name) relativo .
CERT_OTHER_LOGOTYPE_INFO Contiene informazioni sui tipi di logo non predefiniti.
CERT_PAIR Contiene un certificato e la relativa coppia di certificati incrociati.
CERT_PHYSICAL_STORE_INFO Contiene informazioni sugli archivi certificati fisici.
CERT_POLICY_CONSTRAINTS_INFO Contiene i criteri stabiliti per l'accettazione dei certificati come attendibili.
CERT_POLICY_MAPPING Contiene un mapping tra gli ID dei criteri di dominio dell'autorità di certificazione e i criteri di dominio soggetto.
CERT_POLICY_MAPPINGS_INFO Fornisce il mapping tra gli ID dei criteri di due domini.
CERT_PUBLIC_KEY_INFO Contiene una chiave pubblica e il relativo algoritmo.
CERT_QC_STATEMENT Rappresenta una singola istruzione in una sequenza di una o più istruzioni per l'inclusione in un'estensione delle istruzioni CERTIFICATE (QC) qualificato.
CERT_QC_STATEMENTS_EXT_INFO Contiene una sequenza di una o più istruzioni che costituiscono l'estensione delle istruzioni CERTIFICATE (QC) qualificato per un QC.
CERT_RDN Contiene un nome distinto relativo (RDN) costituito da una matrice di strutture CERT_RDN_ATTR .
CERT_RDN_ATTR Contiene un singolo attributo di un nome distinto relativo (RDN).
CERT_REQUEST_INFO Contiene informazioni per una richiesta di certificato.
CERT_REVOCATION_CRL_INFO Contiene informazioni aggiornate da un gestore del tipo di revoca CRL.
CERT_REVOCATION_PARA Questa struttura può essere passata facoltativamente a CertVerifyRevocation per facilitare la ricerca dell'autorità emittente del contesto da verificare.
CERT_REVOCATION_STATUS Contiene informazioni sullo stato di revoca del certificato.
CERT_SELECT_STRUCT Contiene i criteri in base ai quali selezionare i certificati presentati in una finestra di dialogo di selezione del certificato. Questa struttura viene usata nella funzione CertSelectCertificate .
CERT_SIGNED_CONTENT_INFO Contiene contenuto codificato da firmare e un BLOB per contenere la firma.
CERT_STORE_PROV_FIND_INFO Questa struttura viene usata da molte delle funzioni di callback del provider di punti vendita.
CERT_STORE_PROV_INFO Contiene informazioni restituite da CertDllOpenStoreProv installato quando un archivio viene aperto con CertOpenStore.
CERT_STRONG_SIGN_PARA Contiene parametri usati per verificare la presenza di firme complesse su certificati, CRL, repository OCSP e messaggi PKCS #7.
CERT_STRONG_SIGN_SERIALIZED_INFO Contienel'algoritmo hash dell'algoritmo di firma e le coppie dilunghezza bitdell'algoritmo// di chiave pubblica che possono essere usate per la firma avanzata.
CERT_SUBJECT_INFO_ACCESS Si tratta di un sinonimo della struttura CERT_AUTHORITY_INFO_ACCESS .
CERT_SYSTEM_STORE_INFO Contiene informazioni utilizzate dalle funzioni che funzionano con gli archivi di sistema.
CERT_SYSTEM_STORE_RELOCATE_PARA Contiene dati da passare a CertOpenStore quando il parametro dwFlags di tale funzione è impostato su CERT_SYSTEM_STORE_RELOCATE_FLAG.
CERT_TEMPLATE_EXT Questa struttura è un modello di certificato.
CERT_X942_DH_PARAMETERS Contiene parametri associati a un algoritmo di chiave pubblica Diffie-Hellman.
CERT_X942_DH_VALIDATION_PARAMS Questa struttura è facoltativamente a cui fa riferimento un membro della struttura CERT_X942_DH_PARAMETERS e contiene informazioni di inizializzazione aggiuntive.
CMC_ADD_ATTRIBUTES_INFO Contiene gli attributi del certificato da aggiungere a un certificato.
CMC_ADD_EXTENSIONS_INFO Contiene gli attributi del controllo dell'estensione del certificato da aggiungere a un certificato.
CMC_DATA_INFO Questa struttura fornisce un mezzo per comunicare parti diverse di informazioni con tag.
CMC_PEND_INFO Questa struttura è un possibile membro di una struttura CMC_STATUS_INFO .
CMC_RESPONSE_INFO Questa struttura fornisce un mezzo per comunicare parti diverse di informazioni con tag.
CMC_STATUS_INFO Contiene informazioni sullo stato dei messaggi di gestione dei certificati tramite CMS.
CMC_TAGGED_ATTRIBUTE Questa struttura viene utilizzata nelle strutture CMC_DATA_INFO e CMC_RESPONSE_INFO .
CMC_TAGGED_CERT_REQUEST Questa struttura viene utilizzata nella struttura CMC_TAGGED_REQUEST .
CMC_TAGGED_CONTENT_INFO Questa struttura viene utilizzata nelle strutture CMC_DATA_INFO e CMC_RESPONSE_INFO .
CMC_TAGGED_OTHER_MSG Questa struttura viene utilizzata nelle strutture CMC_DATA_INFO e CMC_RESPONSE_INFO .
CMC_TAGGED_REQUEST Questa struttura viene utilizzata nelle strutture CMC_DATA_INFO per richiedere un certificato.
CRL_CONTEXT Contiene sia le rappresentazioni codificate che decodificate di un CRL.
CRL_ENTRY Contiene informazioni su un singolo certificato revocato. È un membro di una struttura CRL_INFO .
CRL_INFO Contiene le informazioni di un elenco di revoche di certificati (CRL).
CRL_ISSUING_DIST_POINT Contiene informazioni sui tipi di certificati elencati in un elenco CRL.
CROSS_CERT_DIST_POINTS_INFO Questa struttura fornisce informazioni utilizzate per aggiornare certificati incrociati dinamici.
CTL_ANY_SUBJECT_INFO Contiene un oggetto SubjectAlgorithm a cui trovare una corrispondenza nel CTL e subjectIdentifier da trovare in una delle voci CTL nelle chiamate a CertFindSubjectInCTL.
CTL_CONTEXT Contiene sia le rappresentazioni codificate che decodificate di un CTL.
CTL_ENTRY Questa struttura è un elemento di un elenco di certificati attendibili (CTL).
CTL_FIND_SUBJECT_PARA Contiene i dati usati da CertFindCTLInStore con dwFindType di CTL_FIND_SUBJECT per trovare un elenco di certificati attendibili (CTL).
CTL_FIND_USAGE_PARA Questa struttura è un membro della struttura CTL_FIND_SUBJECT_PARA e viene usata da CertFindCTLInStore.
CTL_INFO Contiene le informazioni archiviate in un elenco di certificati attendibili (CTL).
CTL_MODIFY_REQUEST Contiene una richiesta di modifica di un elenco di certificati attendibili. Questa struttura viene usata nella funzione CertModifyCertificatesToTrust .
CTL_USAGE Contiene una matrice di identificatori di oggetto (OID) per le estensioni CTL ( Certificate Trust List ).
CTL_VERIFY_USAGE_PARA Contiene i parametri usati da CertVerifyCTLUsage per stabilire la validità dell'utilizzo di un elenco di scopi consentiti.
CTL_VERIFY_USAGE_STATUS Contiene informazioni su un elenco di certificati attendibili (CTL) restituito da CertVerifyCTLUsage.

 

Strutture di estensione del certificato X.509

Le strutture seguenti sono associate alle strutture di CERT_EXTENSION X.509.

Struttura Descrizione
CERT_ACCESS_DESCRIPTION Questa struttura è un membro di una struttura CERT_AUTHORITY_INFO_ACCESS .
CERT_ALT_NAME_ENTRY Contiene un nome alternativo in una delle varie forme di nome.
CERT_ALT_NAME_INFO Usato nelle estensioni di codifica e decodifica per certificati soggetto o autorità di certificazione, elenco di revoche di certificati (CRL) e elenco di certificati attendibili (CRL).
CERT_AUTHORITY_INFO_ACCESS Rappresenta l'accesso alle informazioni dell'autorità e le estensioni del certificato di accesso alle informazioni dell'interessato e specifica come accedere a informazioni e servizi aggiuntivi per l'oggetto o l'autorità emittente del certificato.
CERT_AUTHORITY_KEY_ID_INFO Identifica la chiave usata per firmare un certificato o un CRL.
CERT_AUTHORITY_KEY_ID2_INFO Identifica la chiave usata per firmare un certificato o un CRL. Differisce dalla struttura CERT_AUTHORITY_KEY_ID_INFO in quanto l'autorità emittente del certificato è un CERT_ALT_NAME_INFO anziché un CERT_NAME_BLOB.
CERT_BASIC_CONSTRAINTS_INFO Contiene informazioni che indicano se l'oggetto certificato può fungere da CA, un'entità finale o entrambi.
CERT_BASIC_CONSTRAINTS2_INFO Contiene informazioni che indicano se l'oggetto certificato può fungere da CA o da entità finale.
CERT_KEY_ATTRIBUTES_INFO Contiene informazioni aggiuntive facoltative sulla chiave pubblica certificata.
CERT_KEY_USAGE_RESTRICTION_INFO Contiene restrizioni imposte sull'utilizzo della chiave pubblica di un certificato.
CERT_POLICIES_INFO Contiene una matrice di CERT_POLICY_INFO.
CERT_POLICY_ID Contiene un elenco di criteri di certificato supportati espressamente dal certificato, insieme alle informazioni del qualificatore facoltativo relative a questi criteri.
CERT_POLICY_INFO Contiene un identificatore di oggetto (OID) che specifica un criterio e una matrice facoltativa di qualificatori di criteri.
CERT_POLICY_QUALIFIER_INFO Contiene un identificatore di oggetto (OID) che specifica le informazioni supplementari specifiche del qualificatore e del qualificatore.
CERT_PRIVATE_KEY_VALIDITY Indica un intervallo di tempo valido per la chiave privata corrispondente alla chiave pubblica di un certificato.
CRL_DIST_POINT Identifica un singolo punto di distribuzione CRL a cui un utente del certificato può fare riferimento per determinare se i certificati sono stati revocati.
CRL_DIST_POINT_NAME Identifica una posizione da cui è possibile ottenere il CRL.
CRL_DIST_POINTS_INFO Contiene un elenco di punti di distribuzione CRL a cui un utente del certificato può fare riferimento per determinare se il certificato è stato revocato.

 

Queste strutture possono essere codificate nel membro Value di una struttura CERT_EXTENSION usando le funzioni CryptEncodeObject e CryptEncodeObjectEx . Vengono creati e restituiti dalle funzioni CryptDecodeObject e CryptDecodeObjectEx quando il membro Value di una struttura CERT_EXTENSION viene decodificato.

La struttura codificata o creata dipende dal membro stringa pszObjId della struttura CERT_EXTENSION .

Le costanti e gli URI predefiniti dell'estensione correnti insieme alla struttura associata a ognuno sono illustrati nella tabella seguente.

Nota

La costante predefinita (colonna 1) e l'OID corrispondente (colonna 2) possono essere usati in modo intercambiabile.

 

Costante predefinita Identificatore di oggetto (OID) Struttura dei dati
X509_AUTHORITY_INFO_ACCESS szOID_AUTHORITY_INFO_ACCESS CERT_AUTHORITY_INFO_ACCESS
X509_AUTHORITY_KEY_ID szOID_AUTHORITY_KEY_IDENTIFIER CERT_AUTHORITY_KEY_ID_INFO
X509_ALTERNATE_NAME szOID_SUBJECT_ALT_NAME – Or –
szOID_ISSUER_ALT_NAME
CERT_ALT_NAME_INFO
X509_BASIC_CONSTRAINTS szOID_BASIC_CONSTRAINTS CERT_BASIC_CONSTRAINTS_INFO
X509_BASIC_CONSTRAINTS2 szOID_BASIC_CONSTRAINTS2 CERT_BASIC_CONSTRAINTS2_INFO
X509_CERT_POLICIES szOID_CERT_POLICIES CERT_POLICIES_INFO
X509_KEY_ATTRIBUTES szOID_KEY_ATTRIBUTES CERT_KEY_ATTRIBUTES_INFO
X509_KEY_USAGE szOID_KEY_USAGE CRYPT_BIT_BLOB
X509_KEY_USAGE_RESTRICTION szOID_KEY_USAGE_RESTRICTION CERT_KEY_USAGE_RESTRICTION_INFO
Nessuno szOID_POLICY_MAPPINGS Non implementato
Nessuno szOID_SUBJECT_DIR_ATTRS Non implementato

 

Strutture dei messaggi

Le strutture seguenti vengono usate dalle funzioni di messaggio crittografico.

Struttura Descrizione
CMSG_CMS_RECIPIENT_INFO Questa struttura viene usata con la funzione CryptMsgGetParam per ottenere informazioni su un trasporto chiave, un contratto chiave o un destinatario della busta dell'elenco di posta elettronica.
CMSG_CMS_SIGNER_INFO Questa struttura contiene il contenuto dei messaggi firmati o firmati definiti signerInfo.
CMSG_CNG_CONTENT_DECRYPT_INFO Contiene tutte le informazioni pertinenti passate tra le funzioni installabili di CryptMsgControl e OID per l'importazione e la decrittografia di un'API di crittografia: chiave di crittografia del contenuto di nuova generazione (CNG).
CMSG_CONTENT_ENCRYPT_INFO Contiene informazioni condivise tra le funzioni installabili PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY, PFN_CMSG_EXPORT_KEY_TRANS, PFN_CMSG_EXPORT_KEY_AGREE e PFN_CMSG_EXPORT_MAIL_LISTidentificatore di oggetto (OID) usate per la crittografia ed esportazione di una chiave di crittografia del contenuto.
CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA Questa struttura viene utilizzata per aggiungere un attributo non autenticato a un segno di un messaggio firmato.
CMSG_CTRL_DECRYPT_PARA Questa struttura contiene informazioni usate per decrittografare un messaggio busto per un destinatario del trasporto delle chiavi. Questa struttura viene passata a CryptMsgControl se il parametro dwCtrlType è CMSG_CTRL_DECRYPT.
CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA Questa struttura viene utilizzata per eliminare un attributo non autenticato di un segno di un messaggio firmato.
CMSG_CTRL_KEY_AGREE_DECRYPT_PARA Questa struttura contiene informazioni su un destinatario del contratto chiave.
CMSG_CTRL_KEY_TRANS_DECRYPT_PARA Questa struttura contenente informazioni su un destinatario del messaggio di trasporto chiave.
CMSG_CTRL_MAIL_LIST_DECRYPT_PARA Questa struttura contiene informazioni su un destinatario del messaggio di elenco di posta elettronica.
CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA Questa struttura contiene informazioni usate per verificare una firma del messaggio. Contiene l'indice del firmatario e la chiave pubblica di firma. La chiave pubblica del firmatario può essere la struttura CERT_PUBLIC_KEY_INFOdel firmatario, il contesto del certificato o il contesto della catena.
CMSG_ENVELOPED_ENCODE_INFO Questa struttura contiene informazioni necessarie per codificare un messaggio in busto. Viene passato a CryptMsgOpenToEncode se dwMsgType è CMSG_ENVELOPED.
CMSG_ENVELOPED_HASHED_INFO Questa struttura viene usata con messaggi hash. Viene passato a CryptMsgOpenToEncode se dwMsgType è CMSG_ENVELOPED.
CMSG_KEY_AGREE_ENCRYPT_INFO Contiene informazioni di crittografia applicabili a tutti i destinatari del contratto chiave di un messaggio busto.
CMSG_KEY_AGREE_KEY_ENCRYPT_INFO Contiene la chiave crittografata per un destinatario del contratto di chiave di un messaggio busto.
CMSG_KEY_TRANS_ENCRYPT_INFO Contiene informazioni di crittografia per un destinatario di trasporto chiave di dati in busta.
CMSG_MAIL_LIST_ENCRYPT_INFO Contiene informazioni di crittografia per un destinatario dell'elenco di indirizzi di dati in busta.
CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO Questa struttura contiene informazioni su un destinatario di messaggi usando la gestione delle chiavi del contratto di chiave.
CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO Questa struttura contiene informazioni di trasporto chiave codificate per un destinatario del messaggio.
CMSG_KEY_TRANS_RECIPIENT_INFO Questa struttura contiene informazioni usate negli algoritmi di trasporto chiave.
CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO Questa struttura viene usata con chiavi simmetriche distribuite in precedenza per decrittografare la chiave di crittografia della chiave di contenuto (KEK).
CMSG_MAIL_LIST_RECIPIENT_INFO Questa struttura contiene informazioni usate per le chiavi simmetriche simmetriche distribuite in precedenza (KEK).
CMSG_RC2_AUX_INFO Questa struttura contiene la lunghezza del bit della chiave per gli algoritmi di crittografia RC2. Il membro pvEncryptionAuxInfo in CMSG_ENVELOPED_ENCODE_INFOpuò essere impostato per puntare a un'istanza di questa struttura.
CMSG_RC4_AUX_INFO Questa struttura contiene la lunghezza del bit della chiave per gli algoritmi di crittografia RC4. Il membro pvEncryptionAuxInfo in CMSG_ENVELOPED_ENCODE_INFOpuò essere impostato per puntare a un'istanza di questa struttura.
CMSG_RECIPIENT_ENCODE_INFO Questa struttura contiene informazioni sul tipo di gestione della chiave di crittografia del contenuto del destinatario del messaggio.
CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO Questa struttura contiene informazioni su un ricevitore di messaggi usato per decrittografare la chiave di sessione necessaria per decrittografare il contenuto del messaggio. Questa struttura viene usata con messaggi di basso livello di CMS usando uno dei metodi di gestione delle chiavi.
CMSG_RECIPIENT_ENCRYPTED_KEY_INFO Questa struttura contiene informazioni usate per un singolo destinatario del contratto di chiave.
CMSG_SIGNED_ENCODE_INFO Questa struttura contiene informazioni da passare a CryptMsgOpenToEncode se dwMsgType è CMSG_SIGNED.
CMSG_SIGNER_ENCODE_INFO Questa struttura contiene informazioni sul firmatario. Viene passato a CryptMsgCountersign, CryptMsgCountersignEncoded e facoltativamente a CryptMsgOpenToEncode come membro della struttura CMSG_SIGNED_ENCODE_INFO , se il parametro dwMsgType è CMSG_SIGNED.
CMSG_SIGNER_INFO Questa struttura contiene il contenuto di PKCS #7 definito SignerInfo nei messaggi firmati.
CMSG_SP3_COMPATIBLE_AUX_INFO Questa struttura contiene informazioni necessarie per la crittografia compatibile con SP3.
CMSG_STREAM_INFO Questa struttura viene usata per abilitare l'elaborazione dei dati di flusso anziché l'elaborazione a blocchi singoli. L'elaborazione del flusso viene spesso usata durante l'elaborazione di messaggi di grandi dimensioni. I messaggi di processo di flusso possono derivare da qualsiasi origine serializzata, ad esempio un file in un disco rigido, un server o una ROM CD.
CRYPT_DECRYPT_MESSAGE_PARA Contiene informazioni per decrittografare i messaggi.
CRYPT_ENCRYPT_MESSAGE_PARA Contiene informazioni usate per crittografare i messaggi.
CRYPT_HASH_MESSAGE_PARA Contiene i dati per l'hashing dei messaggi.
CRYPT_SIGN_MESSAGE_PARA Contiene informazioni per la firma dei messaggi usando un contesto di certificato di firma specificato .
CRYPT_VERIFY_MESSAGE_PARA Contiene informazioni necessarie per verificare un messaggio firmato.

 

Strutture di supporto OID

Le strutture seguenti vengono usate dalle funzioni di supporto OID.

Struttura Descrizione
CRYPT_OID_FUNC_ENTRY Contiene un identificatore di oggetto (OID) e un puntatore alla relativa funzione correlata. Viene usato con CryptInstallOIDFunctionAddress
CRYPT_OID_INFO Contiene informazioni su un identificatore di oggetto (OID).
CRYPT_RC2_CBC_PARAMETERS Contiene informazioni usate con la crittografia szOID_RSA_RC2CBC.
CRYPT_SMIME_CAPABILITIES Contiene una matrice con priorità delle funzionalità supportate.
CRYPT_SMIME_CAPABILITY Specifica una singola funzionalità e i relativi parametri associati.

 

Strutture della catena di certificati

Le strutture seguenti vengono usate nella compilazione di catene di certificati usate per stabilire l'attendibilità in un certificato.

Struttura Descrizione
AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA Contiene informazioni sui criteri usate nella verifica delle catene di certificati per i file.
AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS Contiene informazioni aggiuntive sui criteri Authenticode per la verifica della catena di file.
AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA Contiene informazioni sui criteri timestamp che possono essere usate nella verifica della catena di certificati dei file.
CERT_CHAIN_CONTEXT Contiene una matrice di catene di certificati semplici e una struttura di stato di attendibilità che indica i dati di validità di riepilogo in tutte le catene semplici connesse.
CERT_CHAIN_ELEMENT Questa struttura è un singolo elemento in una semplice catena di certificati.
CERT_CHAIN_ENGINE_CONFIG Imposta i parametri per la creazione di un motore della catena di certificati non definito.
CERT_CHAIN_FIND_BY_ISSUER_PARA Contiene informazioni usate in CertFindChainInStore per compilare catene di certificati.
CERT_CHAIN_PARA Stabilisce i criteri di ricerca e corrispondenza da usare per la compilazione di una catena di certificati.
CERT_CHAIN_POLICY_PARA Contiene informazioni usate in CertVerifyCertificateChainPolicy per stabilire criteri per la verifica delle catene di certificati.
CERT_CHAIN_POLICY_STATUS Contiene informazioni sullo stato della catena di certificati restituite da CertVerifyCertificateChainPolicy dalla verifica delle catene di certificati.
CERT_REVOCATION_INFO Indica lo stato di revoca di un certificato in un CERT_CHAIN_ELEMENT.
CERT_SELECT_CHAIN_PARA Contiene i parametri usati per la compilazione e la selezione di catene.
CERT_SIMPLE_CHAIN Contiene una matrice di elementi della catena e uno stato di attendibilità di riepilogo per la catena rappresentata dalla matrice.
CERT_SELECTUI_INPUT Usato dalla funzione CertSelectionGetSerializedBlob per serializzare i certificati contenuti in un archivio o in una matrice di catene di certificati. Il BLOB serializzato restituito può essere passato alla funzione CredUIPromptForWindowsCredentials .
CERT_TRUST_LIST_INFO Indica l'utilizzo valido di un CTL.
CERT_TRUST_STATUS Contiene informazioni di attendibilità su un certificato in una catena di certificati, informazioni di attendibilità di riepilogo su una semplice catena di certificati o informazioni di riepilogo su una matrice di catene semplici.
CERT_USAGE_MATCH Fornisce parametri per trovare i certificati di autorità di certificazione usati per compilare una catena di certificati.
CTL_USAGE_MATCH Fornisce parametri per trovare elenchi di attendibilità dei certificati (CTL) usati per compilare una catena di certificati.
SSL_EXTRA_CERT_CHAIN_POLICY_PARA Contiene informazioni sui criteri usate nella verifica delle catene di certificati client/server Secure Sockets Layer (SSL).

 

Strutture CSP

Le strutture seguenti vengono usate con funzioni CSP ( Cryptographic Service Provider ).

Struttura Descrizione
BLOBHEADER Indica il tipo BLOB di una chiave e l'algoritmo usato dalla chiave.
VTableProvStruc Contiene puntatori alle funzioni di callback che possono essere usate dalle funzioni CSP.
PLAINTEXTKEYBLOB Contiene informazioni sull'intestazione dei parametri per una chiave di testo non crittografato.

 

Strutture WinTrust

Le strutture seguenti vengono usate con la funzione WinVerifyTrust .

Struttura Descrizione
CRYPT_PROVIDER_DEFUSAGE Usato dalla funzione WintrustGetDefaultForUsage per recuperare le informazioni di callback per l'utilizzo predefinito di un provider.
CRYPT_PROVIDER_REGDEFUSAGE Usato dalla funzione WintrustAddDefaultForUsage per registrare le informazioni di callback sull'utilizzo predefinito di un provider.
SPC_INDIRECT_DATA_CONTENT Archivia il digest e altri attributi di un file con firma Authenticode.
WINTRUST_BLOB_INFO Usato quando si chiama WinVerifyTrust per verificare un BLOB di memoria.
WINTRUST_CATALOG_INFO Usato quando si chiama WinVerifyTrust per verificare un membro di un catalogo Microsoft.
WINTRUST_CERT_INFO Usato quando si chiama WinVerifyTrust per verificare un CERT_CONTEXT.
WINTRUST_DATA Usato quando si chiama WinVerifyTrust per passare le informazioni necessarie nei provider di trust
WINTRUST_FILE_INFO Usato quando si chiama WinVerifyTrust per verificare un singolo file.
WINTRUST_SGNR_INFO Usato quando si chiama WinVerifyTrust per verificare una struttura CMSG_SIGNER_INFO .

 

Strutture SIP

Le strutture seguenti vengono usate dal pacchetto dell'interfaccia soggetto (funzioni SIPP).

Struttura Descrizione
SIP_ADD_NEWPROVIDER Definisce un SIP.
SIP_CAP_SET Definisce le funzionalità di un SIP.
SIP_DISPATCH_INFO Contiene un set di puntatori alle funzioni SIP.
SIP_INDIRECT_DATA Contiene un digest delle informazioni sull'oggetto con hash.
SIP_SUBJECTINFO Specifica le informazioni sull'oggetto SIP.