Funzioni di crittografia

Le funzioni di crittografia vengono classificate in base all'utilizzo come indicato di seguito:

Funzioni CryptXML

Le funzioni XML crittografiche forniscono un'API per la creazione e la rappresentazione delle firme digitali usando dati formattati XML. Per informazioni sulle firme formattate XML, vedere la specifica sintassi e elaborazione XML-Signature in https://go.microsoft.com/fwlink/p/?linkid=139649.

Funzione Descrizione
A_SHAFinal Calcola l'hash finale dei dati immessi dalla funzione MD5Update.
A_SHAInit Avvia l'hashing di un flusso di dati.
A_SHAUpdate Aggiunge dati a un oggetto hash specificato.
CryptXmlCreateReference Crea un riferimento a una firma XML.
CryptXmlAddObject Aggiunge l'elemento Object alla firma nel contesto documento aperto per la codifica.
CryptXmlClose Chiude un handle di oggetti XML crittografici.
CryptXmlDigestReference Usato da un'applicazione per digerire il riferimento risolto. Questa funzione applica trasformazioni prima di aggiornare il digest.
CryptXmlDllCloseDigest Libera la CRYPT_XML_DIGEST allocata dalla funzione CryptXmlDllCreateDigest .
CryptXmlDllCreateDigest Crea un oggetto digest per il metodo specificato.
CryptXmlDllCreateKey Analizza l'elemento KeyValue e crea un'API di crittografia: handle chiave BCRYPT (Next Generation) BCrypt per verificare una firma.
CryptXmlDllDigestData Inserisce i dati nel digest.
CryptXmlDllEncodeAlgorithm Codifica gli elementi SignatureMethod o DigestMethod per algoritmi agile con parametri predefiniti.
CryptXmlDllEncodeKeyValue Codifica un elemento KeyValue .
CryptXmlDllFinalizeDigest Recupera il valore del digest.
CryptXmlDllGetAlgorithmInfo Decodifica l'algoritmo XML e restituisce informazioni sull'algoritmo.
CryptXmlDllGetInterface Recupera un puntatore alle funzioni di estensione crittografiche per l'algoritmo specificato.
CryptXmlDllSignData Firma i dati.
CryptXmlDllVerifySignature Verifica una firma.
CryptXmlEncode Codifica i dati delle firme usando la funzione di callback del writer XML fornita.
CryptXmlGetAlgorithmInfo Decodifica la struttura CRYPT_XML_ALGORITHM e restituisce informazioni sull'algoritmo.
CryptXmlGetDocContext Restituisce il contesto del documento specificato dall'handle fornito.
CryptXmlGetReference Restituisce l'elemento Reference specificato dall'handle fornito.
CryptXmlGetSignature Restituisce un elemento XML Signature .
CryptXmlGetStatus Restituisce una struttura CRYPT_XML_STATUS che contiene informazioni sullo stato sull'oggetto specificato dall'handle fornito.
CryptXmlGetTransforms Restituisce informazioni sul motore della catena di trasformazione predefinito.
CryptXmlImportPublicKey Importa la chiave pubblica specificata dall'handle fornito.
CryptXmlOpenToEncode Apre una firma digitale XML per codificare e restituisce un handle dell'elemento Signature aperto. L'handle incapsula un contesto di documento con una singola struttura CRYPT_XML_SIGNATURE e rimane aperto fino a quando non viene chiamata la funzione CryptXmlClose .
CryptXmlOpenToDecode Apre una firma digitale XML per decodificare e restituisce l'handle del contesto del documento che incapsula una struttura CRYPT_XML_SIGNATURE . Il contesto del documento può includere uno o più elementi Signature .
CryptXmlSetHMACSecret Imposta il segreto HMAC sull'handle prima di chiamare la funzione CryptXmlSign o CryptXmlVerify .
CryptXmlSign Crea una firma crittografica di un elemento SignedInfo .
CryptXmlVerifySignature Esegue una convalida della firma crittografica di un elemento SignedInfo .
PFN_CRYPT_XML_WRITE_CALLBACK Crea una trasformazione per un provider di dati specificato.
PFN_CRYPT_XML_CREATE_TRANSFORM Scrive dati XML crittografici.
PFN_CRYPT_XML_DATA_PROVIDER_READ Legge i dati XML crittografici.
PFN_CRYPT_XML_DATA_PROVIDER_CLOSE Rilascia il provider di dati XML crittografico.
PFN_CRYPT_XML_ENUM_ALG_INFO Enumera le voci predefinite e registrate CRYPT_XML_ALGORITHM_INFO.

 

Funzioni del firmatario

Fornisce funzioni per firmare e contrassegnare i dati del timestamp.

Funzione Descrizione
SignerFreeSignerContext Libera una struttura SIGNER_CONTEXT allocata da una chiamata precedente alla funzione SignerSignEx .
SignError Chiama la funzione GetLastError e converte il codice restituito in hresult.
SignerSign Firma il file specificato.
SignerSignEx Firma il file specificato e restituisce un puntatore ai dati firmati.
SignerSignEx2 Segni e timestamp del file specificato, consentendo più firme annidate.
SignerTimeStamp Timestamp dell'oggetto specificato. Questa funzione supporta il timestamp Authenticode. Per eseguire il timestamp X.509 Public Key Infrastructure (RFC 3161), usare la funzione SignerTimeStampEx2 .
SignerTimeStampEx Timestamp l'oggetto specificato e, facoltativamente, restituisce un puntatore a una struttura SIGNER_CONTEXT che contiene un puntatore a un BLOB. Questa funzione supporta il timestamp Authenticode. Per eseguire il timestamp X.509 Public Key Infrastructure (RFC 3161), usare la funzione SignerTimeStampEx2 .
SignerTimeStampEx2 Timestamp l'oggetto specificato e, facoltativamente, restituisce un puntatore a una struttura SIGNER_CONTEXT che contiene un puntatore a un BLOB. Questa funzione può essere usata per eseguire l'infrastruttura a chiave pubblica X.509, RFC 3161 conforme ai timestamp.
SignerTimeStampEx3 Timestamp dell'oggetto specificato e supporta l'impostazione dei timestamp su più firme.

 

Funzioni di crittografia di base

Le funzioni crittografiche di base offrono i mezzi più flessibili per lo sviluppo di applicazioni di crittografia. Tutte le comunicazioni con un provider di servizi di crittografia (CSP) vengono eseguite tramite queste funzioni.

Un provider di servizi di configurazione è un modulo indipendente che esegue tutte le operazioni di crittografia. È necessario almeno un provider di servizi di configurazione con ogni applicazione che usa funzioni di crittografia. Una singola applicazione può occasionalmente usare più CSP.

Se si usano più CSP, è possibile specificare quello da usare nelle chiamate di funzione crittografica CryptoAPI. Un provider di servizi di configurazione, il provider di crittografia di base Microsoft, è in bundle con CryptoAPI. Questo provider di servizi di configurazione viene usato come provider predefinito da molte delle funzioni CryptoAPI se non viene specificato alcun altro provider di servizi di configurazione.

Ogni provider di servizi di configurazione fornisce un'implementazione diversa del supporto crittografico fornito a CryptoAPI. Alcuni forniscono algoritmi di crittografia più avanzati; altri contengono componenti hardware, ad esempio smart card. Inoltre, alcuni provider di servizi di configurazione possono comunicare direttamente con gli utenti, ad esempio quando le firme digitali vengono eseguite usando la chiave privata della firma dell'utente.

Le funzioni di crittografia di base si trovano nei gruppi generali seguenti:

  • Funzioni del provider di servizi
  • Generazione delle chiavi e funzioni di Exchange
  • Funzioni di codifica e decodifica degli oggetti
  • Funzioni di crittografia e decrittografia dei dati
  • Funzioni hash e firma digitale

Funzioni del provider di servizi

Le applicazioni usano le funzioni del servizio seguenti per connettersi e disconnettere un provider di servizi di crittografia (CSP).

Funzione Descrizione
Cryptacquirecontext Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Acquisisce un handle per il contenitore di chiavi dell'utente corrente all'interno di un provider di servizi di configurazione specifico.
CryptContextAddRef Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Incrementa il conteggio dei riferimenti su un handle HCRYPTPROV .
CryptEnumProviders Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Enumera i provider in un computer.
CryptEnumProviderTypes Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Enumera i tipi di provider supportati nel computer.
CryptGetDefaultProvider Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Determina il provider di servizi di configurazione predefinito per l'utente corrente o per il computer per un tipo di provider specificato.
CryptGetProvParam Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Recupera i parametri che regolano le operazioni di un provider di servizi di configurazione.
CryptInstallDefaultContext Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Installa un contesto HCRYPTPROV acquisito in precedenza da usare come contesto predefinito.
CryptReleaseContext Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Rilascia l'handle acquisito dalla funzione CryptAcquireContext .
CryptSetProvider e CryptSetProviderEx Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Specifica il CSP predefinito dell'utente per un tipo CSP specifico.
CryptSetProvParam Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Specifica gli attributi di un CSP.
CryptUninstallDefaultContext Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Rimuove un contesto predefinito installato in precedenza da CryptInstallDefaultContext.
FreeCryptProvFromCertEx Rilascia l'handle a un provider di servizi di crittografia (CSP) o a un'API di crittografia: chiave CNG (Next Generation).

 

Generazione di chiavi e funzioni di Exchange

La generazione delle chiavi e le funzioni di scambio scambiano chiavi con altri utenti e creano, configurano e eliminano chiavi crittografiche.

Funzione Descrizione
CryptDeriveKey Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Crea una chiave derivata da una password.
CryptDestroyKey Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Elimina una chiave.
CryptDuplicateKey Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Crea una copia esatta di una chiave, incluso lo stato della chiave.
CryptExportKey Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Trasferisce una chiave dal CSP in un BLOB di chiavi nello spazio di memoria dell'applicazione.
CryptGenKey Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Crea una chiave casuale.
CryptGenRandom Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Genera dati casuali.
CryptGetKeyParam Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Recupera i parametri di una chiave.
CryptGetUserKey Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Ottiene un handle per lo scambio di chiavi o la chiave di firma.
CryptImportKey Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Trasferisce una chiave da un BLOB di chiavi a un CSP.
CryptSetKeyParam Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Specifica i parametri di una chiave.

 

Funzioni di codifica e decodifica degli oggetti

Queste sono funzioni di codifica generalizzata e decodifica. Vengono usati per codificare e decodificare i certificati, gli elenchi di revoche di certificati (CRLs), le richieste di certificato e le estensioni del certificato.

Funzione Descrizione
CryptDecodeObject Decodifica una struttura di tipo lpszStructType.
CryptDecodeObjectEx Decodifica una struttura di tipo lpszStructType. CryptDecodeObjectEx supporta l'opzione di allocazione di memoria one-pass.
CryptEncodeObject Codifica una struttura di tipo lpszStructType.
CryptEncodeObjectEx Codifica una struttura di tipo lpszStructType. CryptEncodeObjectEx supporta l'opzione di allocazione di memoria one-pass.

 

Funzioni di crittografia dei dati e decrittografia

Le funzioni seguenti supportano operazioni di crittografia e decrittografia. CryptEncrypt e CryptDecrypt richiedono una chiave crittografica prima di essere chiamata. Questa operazione viene eseguita usando la funzione CryptGenKey, CryptDeriveKey o CryptImportKey . L'algoritmo di crittografia viene specificato quando viene creata la chiave. CryptSetKeyParam può impostare parametri di crittografia aggiuntivi.

Funzione Descrizione
CryptDecrypt Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Decrittografa una sezione del testo crittografato usando la chiave di crittografia specificata.
CryptEncrypt Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Crittografa una sezione di testo non crittografato usando la chiave di crittografia specificata.
CryptProtectData Esegue la crittografia sui dati in una struttura DATA_BLOB .
CryptProtectMemory Crittografa la memoria per proteggere le informazioni riservate.
CryptUnprotectData Esegue un controllo di decrittografia e integrità dei dati in un DATA_BLOB.
CryptUnprotectMemory Decrittografa la memoria crittografata usando CryptProtectMemory.

 

Funzioni hash e firma digitale

Queste funzioni calcolano gli hash dei dati e creano e verificano le firme digitali. Gli hash sono noti anche come digest dei messaggi.

Funzione Descrizione
CryptCreateHash Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Crea un oggetto hash vuoto.
CryptDestroyHash Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Elimina definitivamente un oggetto hash.
CryptDuplicateHash Duplica un oggetto hash.
CryptGetHashParam Recupera un parametro dell'oggetto hash.
CryptHashData Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Esegue l'hash di un blocco di dati, aggiungendolo all'oggetto hash specificato.
CryptHashSessionKey Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Esegue l'hash di una chiave di sessione, aggiungendola all'oggetto hash specificato.
CryptSetHashParam Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Imposta un parametro dell'oggetto hash.
CryptSignHash Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Firma l'oggetto hash specificato.
CryptUIWizDigitalSign Visualizza una procedura guidata che firma digitalmente un documento o un BLOB.
CryptUIWizFreeDigitalSignContext Rilascia un puntatore a una struttura CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT .
CryptVerifySignature Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Verifica una firma digitale, dato un handle all'oggetto hash.
PFNCFILTERPROC Filtra i certificati visualizzati nella procedura guidata per la firma digitale visualizzati dalla funzione CryptUIWizDigitalSign .

 

Funzioni dell'archivio certificati e certificati

Le funzioni dell'archivio certificati e certificati gestiscono l'uso, l'archiviazione e il recupero di certificati, elenchi di revoche di certificati (CRL) e elenchi di certificati attendibili (CRL). Queste funzioni sono suddivise nei gruppi seguenti:

  • Funzioni dell'archivio certificati
  • Funzioni di manutenzione dell'archivio certificati e certificati
  • Funzioni per i certificati
  • Funzioni dell'elenco di revoche di certificati
  • Funzioni dell'elenco di attendibilità certificati
  • Funzioni di proprietà estese
  • Funzioni MakeCert

Funzioni dell'archivio certificati

Un sito utente può, nel tempo, raccogliere molti certificati. In genere, un sito dispone di certificati per l'utente del sito, nonché altri certificati che descrivono le persone e le entità con cui l'utente comunica. Per ogni entità, può essere presente più di un certificato. Per ogni singolo certificato, deve essere presente una catena di verifica dei certificati che fornisce un trailback a un certificato radice attendibile. Gli archivi certificati e le relative funzioni forniscono funzionalità per archiviare, recuperare, enumerare, verificare e usare le informazioni archiviate nei certificati.

Funzione Descrizione
CertAddStoreToCollection Aggiunge un archivio certificati di pari livello a un archivio certificati di raccolta.
CertCloseStore Chiude un handle dell'archivio certificati.
CertControlStore Consente a un'applicazione di ricevere una notifica quando esiste una differenza tra il contenuto di un archivio memorizzato nella cache e il contenuto dell'archivio salvato in modo permanente nell'archiviazione. Fornisce anche la desynchronizzazione dell'archivio memorizzato nella cache, se necessario, e fornisce un modo per eseguire il commit delle modifiche apportate nell'archivio memorizzato nella cache in una risorsa di archiviazione persistente.
CertDuplicateStore Duplica un handle di archivio incrementando il conteggio dei riferimenti.
CertEnumPhysicalStore Enumera gli archivi fisici per un archivio di sistema specificato.
CertEnumSystemStore Enumera tutti gli archivi di sistema disponibili.
CertEnumSystemStoreLocation Enumera tutti i percorsi con un archivio di sistema disponibile.
CertGetStoreProperty Ottiene una proprietà dell'archivio.
CertOpenStore Apre un archivio certificati usando un tipo di provider di archiviazione specificato.
CertOpenSystemStore Apre un archivio certificati di sistema basato su un protocollo del sottosistema.
CertRegisterPhysicalStore Aggiunge un archivio fisico a una raccolta di archivi di sistema del Registro di sistema.
CertRegisterSystemStore Registra un archivio di sistema.
CertRemoveStoreFromCollection Rimuove un archivio certificati di pari livello da un archivio raccolte.
CertSaveStore Salva l'archivio certificati.
CertSetStoreProperty Imposta una proprietà store.
CertUnregisterPhysicalStore Rimuove un archivio fisico da una raccolta di archivi di sistema specificata.
CertUnregisterSystemStore Annulla la registrazione di un archivio di sistema specificato.
CryptUIWizExport Presenta una procedura guidata che esporta un certificato, un elenco di certificati attendibili (CTL), un elenco di revoche di certificati (CRL) o un archivio certificati.
CryptUIWizImport Presenta una procedura guidata che importa un certificato, un elenco di certificati attendibili (CTL), un elenco di revoche di certificati (CRL) o un archivio certificati.

 

Funzioni di manutenzione dell'archivio certificati e certificati

CryptoAPI offre un set di funzioni generali di manutenzione dell'archivio certificati e certificati.

Funzione Descrizione
CertAddSerializedElementToStore Aggiunge il certificato serializzato o l'elemento CRL all'archivio.
CertCreateContext Crea il contesto specificato dai byte codificati. Il nuovo contesto non viene inserito in un archivio.
CertEnumSubjectInSortedCTL Enumera gli oggetti TrustedSubject in un contesto CTL ordinato.
CertFindSubjectInCTL Trova l'oggetto specificato in un elenco di scopi consentiti.
CertFindSubjectInSortedCTL Trova l'oggetto specificato in un CTL ordinato.
OpenPersonalTrustDBDialog e OpenPersonalTrustDBDialogEx Visualizza la finestra di dialogo Certificati .

 

Funzioni per i certificati

La maggior parte delle funzioni certificate ha funzioni correlate per gestire CRL e CRL. Per altre informazioni sulle funzioni CRL e CTL correlate, vedere Funzioni dell'elenco di revoche di certificati e Funzioni elenco certificati attendibili.

Funzione Descrizione
CertAddCertificateContextToStore Aggiunge un contesto di certificato all'archivio certificati.
CertAddCertificateLinkToStore Aggiunge un collegamento in un archivio certificati a un contesto di certificato in un archivio diverso.
CertAddEncodedCertificateToStore Converte il certificato codificato in un contesto di certificato e quindi aggiunge il contesto all'archivio certificati.
CertAddRefServerOcspResponse Incrementa il conteggio dei riferimenti per un handle HCERT_SERVER_OCSP_RESPONSE .
CertAddRefServerOcspResponseContext Incrementa il conteggio dei riferimenti per una struttura CERT_SERVER_OCSP_RESPONSE_CONTEXT .
CertCloseServerOcspResponse Chiude un handle di risposta del server OCSP ( Online Certificate Status Protocol ).
CertCreateCertificateContext Crea un contesto di certificato da un certificato codificato. Il contesto creato non viene inserito in un archivio certificati.
CertCreateSelfSignCertificate Crea un certificato autofirmato.
CertDeleteCertificateFromStore Elimina un certificato dall'archivio certificati.
CertDuplicateCertificateContext Duplica un contesto di certificato incrementando il conteggio dei riferimenti.
CertEnumCertificatesInStore Enumera i contesti del certificato nell'archivio certificati.
CertFindCertificateInStore Trova il primo contesto del certificato o successivo nell'archivio certificati che soddisfa un criterio di ricerca.
CertFreeCertificateContext Libera un contesto di certificato.
CertGetIssuerCertificateFromStore Ottiene un contesto del certificato dall'archivio certificati per il primo o successivo emittente del certificato soggetto specificato.
CertGetServerOcspResponseContext Recupera un contesto di risposta OCSP ( Online Certificate Status Protocol ) non di blocco valido per l'handle specificato.
CertGetSubjectCertificateFromStore Ottiene dall'archivio certificati il contesto del certificato soggetto, identificato in modo univoco dal relativo emittente e dal numero di serie.
CertGetValidUsages Restituisce una matrice di utilizzi costituiti dall'intersezione degli utilizzi validi per tutti i certificati in una matrice di certificati.
CertOpenServerOcspResponse Apre un handle per una risposta OCSP ( Online Certificate Status Protocol ) associata a una catena di certificati server.
CertRetrieveLogoOrBiometricInfo Esegue un recupero URL di informazioni biometriche o logo specificate nell'estensione del certificato szOID_LOGOTYPE_EXT o szOID_BIOMETRIC_EXT .
CertSelectCertificate Presenta una finestra di dialogo che consente all'utente di selezionare i certificati da un set di certificati che corrispondono a un determinato criterio.
CertSelectCertificateChains Recupera catene di certificati in base ai criteri di selezione specificati.
CertSelectionGetSerializedBlob Funzione helper usata per recuperare un BLOB di certificati serializzato da una struttura di CERT_SELECTUI_INPUT .
CertSerializeCertificateStoreElement Serializza il certificato codificato di un contesto di certificato e una rappresentazione codificata delle relative proprietà.
CertVerifySubjectCertificateContext Esegue i controlli di verifica abilitati sul certificato soggetto usando l'autorità emittente.
CryptUIDlgCertMgr Visualizza una finestra di dialogo che consente all'utente di gestire i certificati.
CryptUIDlgSelectCertificate Visualizza una finestra di dialogo che consente a un utente di selezionare un certificato.
CryptUIDlgSelectCertificateFromStore Visualizza una finestra di dialogo che consente la selezione di un certificato da un archivio specificato.
CryptUIDlgViewCertificate Presenta una finestra di dialogo che visualizza un certificato specificato.
CryptUIDlgViewContext Visualizza un certificato, CRL o CTL.
CryptUIDlgViewSignerInfo Visualizza una finestra di dialogo contenente le informazioni sul firmatario per un messaggio firmato.
GetFriendlyNameOfCert Recupera il nome visualizzato per un certificato.
RKeyCloseKeyService Chiude un handle del servizio chiavi.
RKeyOpenKeyService Apre un handle del servizio chiavi in un computer remoto.
RKeyPFXInstall Installa un certificato in un computer remoto.

 

Funzioni dell'elenco di revoche di certificati

Queste funzioni gestiscono l'archiviazione e il recupero degli elenchi di revoche di certificati (CRL).

Funzione Descrizione
CertAddCRLContextToStore Aggiunge un contesto CRL all'archivio certificati.
CertAddCRLLinkToStore Aggiunge un collegamento in un archivio a un contesto CRL in un archivio diverso.
CertAddEncodedCRLToStore Converte il CRL codificato in un contesto CRL e quindi aggiunge il contesto all'archivio certificati.
CertCreateCRLContext Crea un contesto CRL da un CRL codificato. Il contesto creato non viene inserito in un archivio certificati.
CertDeleteCRLFromStore Elimina un CRL dall'archivio certificati.
CertDuplicateCRLContext Duplica un contesto CRL incrementando il conteggio dei riferimenti.
CertEnumCRLsInStore Enumera i contesti CRL in un archivio.
CertFindCertificateInCRL Cerca il certificato specificato nell'elenco di revoche di certificati (CRL).
CertFindCRLInStore Trova il primo contesto CRL o successivo nell'archivio certificati che corrisponde a un criterio specifico.
CertFreeCRLContext Libera un contesto CRL.
CertGetCRLFromStore Ottiene il primo contesto CRL o successivo dall'archivio certificati per il certificato emittente specificato.
CertSerializeCRLStoreElement Serializza il CRL codificato del contesto CRL e le relative proprietà.

 

Funzioni dell'elenco di attendibilità certificati

Queste funzioni gestiscono l'archiviazione e il recupero degli elenchi di attendibilità dei certificati.These functions manage the storage and retrieval of certificate trust lists (CTLs).

Funzione Descrizione
CertAddCTLContextToStore Aggiunge un contesto CTL all'archivio certificati.
CertAddCTLLinkToStore Aggiunge un collegamento in un archivio a un contesto CRL in un archivio diverso.
CertAddEncodedCTLToStore Converte il CTL codificato in un contesto CTL e quindi aggiunge il contesto all'archivio certificati.
CertCreateCTLContext Crea un contesto CTL da un elenco di attendibilità dei certificati codificati. Il contesto creato non viene inserito in un archivio certificati.
CertDeleteCTLFromStore Elimina un elenco di scopi consentiti dall'archivio certificati.
CertDuplicateCTLContext Duplica un contesto CTL incrementando il conteggio dei riferimenti.
CertEnumCTLsInStore Enumera i contesti CTL nell'archivio certificati.
CertFindCTLInStore Trova il primo contesto CTL o successivo nell'archivio certificati che corrisponde a un criterio specifico.
CertFreeCTLContext Libera un contesto CTL.
CertModifyCertificatesToTrust Modifica il set di certificati in un elenco di certificati per uno scopo specifico.
CertSerializeCTLStoreElement Serializza il CTL codificato del contesto CTL e le relative proprietà.

 

Funzioni di proprietà estese

Le funzioni seguenti funzionano con proprietà estese di certificati, CRL e CRL.

Funzione Descrizione
CertEnumCertificateContextProperties Enumera le proprietà per il contesto del certificato specificato.
CertEnumCRLContextProperties Enumera le proprietà per il contesto CRL specificato.
CertEnumCTLContextProperties Enumera le proprietà per il contesto CTL specificato.
CertGetCertificateContextProperty Recupera le proprietà del certificato.
CertGetCRLContextProperty Recupera le proprietà CRL.
CertGetCTLContextProperty Recupera le proprietà CTL.
CertSetCertificateContextProperty Imposta le proprietà del certificato.
CertSetCRLContextProperty Imposta le proprietà CRL.
CertSetCTLContextProperty Imposta le proprietà CTL.

 

Funzioni MakeCert

Le funzioni seguenti supportano lo strumento MakeCert .

Funzione Descrizione
FreeCryptProvFromCert Rilascia l'handle a un provider di servizi di crittografia (CSP) ed elimina facoltativamente il contenitore temporaneo creato dalla funzione GetCryptProvFromCert .
GetCryptProvFromCert Ottiene un handle in un CSP e una specifica chiave per un contesto di certificato.
PvkFreeCryptProv Rilascia l'handle in un CSP ed elimina facoltativamente il contenitore temporaneo creato dalla funzione PvkGetCryptProv .
PvkGetCryptProv Ottiene un handle in un provider di servizi di gestione in base a un nome file di chiave privata o a un nome del contenitore di chiavi.
PvkPrivateKeyAcquireContextFromMemory Crea un contenitore temporaneo nel CSP e carica una chiave privata dalla memoria nel contenitore.
PvkPrivateKeySave Salva una chiave privata e la chiave pubblica corrispondente in un file specificato.
SignError Chiama GetLastError e converte il codice restituito in un HRESULT.

 

Funzioni di verifica dei certificati

I certificati vengono verificati usando elenchi di controllo di accesso o catene di certificati. Le funzioni vengono fornite per entrambe le operazioni seguenti:

  • Funzioni di verifica tramite elenchi di controllo di accesso
  • Funzioni di verifica della catena di certificati

Funzioni di verifica tramite elenchi di controllo di accesso

Queste funzioni usano le DLL nel processo di verifica. Sono disponibili funzioni aggiuntive per l'uso di elenchi di controllo delle chiavi di controllo dei certificati in Funzioni elenco certificati e funzioni di proprietà estese.

Le funzioni seguenti usano le dll direttamente per la verifica.

Funzione Descrizione
CertVerifyCTLUsage Verifica l'utilizzo di un CTL.
CryptMsgEncodeAndSignCTL Codifica e firma un CTL come messaggio.
CryptMsgGetAndVerifySigner Recupera e verifica un CTL da un messaggio.
CryptMsgSignCTL Firma un messaggio contenente un CTL.

 

Funzioni di verifica della catena di certificati

Le catene di certificati vengono compilate per fornire informazioni di attendibilità sui singoli certificati.

Nome funzione Descrizione
CertCreateCertificateChainEngine Crea un nuovo motore di catena non definito per un'applicazione.
CertCreateCTLEntryFromCertificateContextProperties Crea una voce CTL i cui attributi sono le proprietà del contesto del certificato.
CertDuplicateCertificateChain Duplica una catena di certificati incrementando il conteggio dei riferimenti della catena e restituendo un puntatore alla catena.
CertFindChainInStore Trova il primo contesto della catena di certificati o successivo in un archivio.
CertFreeCertificateChain Libera una catena di certificati riducendo il numero di riferimenti.
CertFreeCertificateChainEngine Libera un motore di catena di certificati non definito.
CertFreeCertificateChainList Libera la matrice di puntatori ai contesti di catena.
CertGetCertificateChain Compila un contesto di catena a partire da un certificato finale e torna a un certificato radice attendibile, se possibile.
CertIsValidCRLForCertificate Verifica un controllo CRL per determinare se includerebbe un certificato specifico se tale certificato è stato revocato.
CertSetCertificateContextPropertiesFromCTLEntry Imposta le proprietà nel contesto del certificato usando gli attributi nella voce CTL.
CertVerifyCertificateChainPolicy Controlla una catena di certificati per verificare la validità, inclusa la conformità con i criteri di validità specificati.

 

Funzioni di messaggio

Le funzioni di messaggio CryptoAPI sono costituite da due gruppi di funzioni: funzioni di messaggio di basso livello e funzioni di messaggio semplificate.

Funzioni di messaggio di basso livello creano e funzionano direttamente con i messaggi PKCS #7. Queste funzioni codificano dati PKCS #7 per la trasmissione e decodificano i dati PKCS #7 ricevuti. Decrittografano e verificano anche le firme dei messaggi ricevuti. Per una panoramica dei messaggi standard e di basso livello di PKCS #7, vedere Messaggi di basso livello.

Le funzioni di messaggio semplificate sono a un livello superiore e includono diverse funzioni di messaggio di basso livello e funzioni di certificato in singole funzioni che eseguono un'attività specifica in modo specifico. Queste funzioni riducono il numero di chiamate di funzione necessarie per eseguire un'attività, semplificando così l'uso di CryptoAPI. Per una panoramica dei messaggi semplificati, vedere Messaggi semplificati.

  • Funzioni di messaggio di basso livello
  • Funzioni di messaggio semplificate

Funzioni di messaggio di basso livello

Le funzioni di messaggio di basso livello forniscono la funzionalità necessaria per codificare i dati per la trasmissione e decodificare i messaggi PKCS #7 ricevuti. La funzionalità viene fornita anche per decrittografare e verificare le firme dei messaggi ricevuti. Non è consigliabile usare queste funzioni di messaggio di basso livello nella maggior parte delle applicazioni. Per la maggior parte delle applicazioni, l'uso di Funzioni di messaggio semplificate, che esegue il wrapping di diverse funzioni di messaggio di basso livello in una singola chiamata di funzione, è preferibile.

Funzione Descrizione
CryptMsgCalculateEncodedLength Calcola la lunghezza di un messaggio crittografico codificato.
CryptMsgClose Chiude un handle di un messaggio crittografico.
CryptMsgControl Esegue una funzione di controllo speciale dopo l'ultimo CryptMsgUpdate di un messaggio crittografico codificato o decodificato.
CryptMsgCountersign Controfirma una firma già esistente in un messaggio.
CryptMsgCountersignEncoded Controfirma una firma già esistente (con codifica SignerInfo, come definito da PKCS #7).
CryptMsgDuplicate Duplica un handle di messaggi crittografici incrementando il conteggio dei riferimenti. Il conteggio dei riferimenti tiene traccia della durata del messaggio.
CryptMsgGetParam Acquisisce un parametro dopo la codifica o la decodifica di un messaggio crittografico.
CryptMsgOpenToDecode Apre un messaggio crittografico per la decodifica.
CryptMsgOpenToEncode Apre un messaggio crittografico per la codifica.
CryptMsgUpdate Aggiornamenti il contenuto di un messaggio crittografico.
CryptMsgVerifyCountersignatureEncoded Verifica una controfirma in termini di struttura SignerInfo ,come definito da PKCS #7.
CryptMsgVerifyCountersignaturaEncodedEx Verifica che il parametro pbSignerInfoCounterSignature contenga l'hash crittografato del campo encryptedDigest della struttura dei parametri pbSignerInfo .

 

Funzioni di messaggio semplificate

funzioni di messaggio semplificate incapsulare funzioni messaggio di basso livello in una singola funzione per eseguire un'attività specificata.

Funzione Descrizione
CryptDecodeMessage Decodifica un messaggio crittografico.
CryptDecryptAndVerifyMessageSignature Decrittografa il messaggio specificato e verifica il firmatario.
CryptDecryptMessage Decrittografa il messaggio specificato.
CryptEncryptMessage Crittografa il messaggio per il destinatario o i destinatari.
CryptGetMessageCertificates Restituisce l'archivio certificati che contiene i certificati e i CRL del messaggio.
CryptGetMessageSignerCount Restituisce il numero di firmatari nel messaggio firmato.
CryptHashMessage Crea un hash del messaggio.
CryptSignAndEncryptMessage Firma il messaggio e quindi lo crittografa per il destinatario o i destinatari.
CryptSignMessageWithKey Firma un messaggio usando la chiave privata di un provider di servizi di configurazione specificata nei parametri per la funzione.
CryptSignMessage Firma il messaggio.
CryptVerifyDetachedMessageHash Verifica un messaggio hash che contiene un hash scollegato.
CryptVerifyDetachedMessageSignature Verifica un messaggio firmato contenente una firma o firme scollegate.
CryptVerifyMessageHash Verifica un messaggio con hash.
CryptVerifyMessageSignature Verifica un messaggio firmato.
CryptVerifyMessageSignatureWithKey Verifica la firma di un messaggio firmato usando le informazioni sulla chiave pubblica specificate.

 

Funzioni ausiliarie

Le funzioni ausiliarie sono raggruppate come segue:

  • Funzioni Gestione dati
  • Funzioni di conversione dei dati
  • Funzioni di utilizzo chiave avanzate
  • Funzioni dell'identificatore di chiave
  • Funzioni di supporto OID
  • Funzioni di recupero oggetti remoti
  • Funzioni PFX

Funzioni Gestione dati

Le funzioni CryptoAPI seguenti gestiscono i dati e i certificati.

Funzione Descrizione
CertCompareCertificate Confronta due certificati per determinare se sono identici.
CertCompareCertificateName Confronta due nomi di certificato per determinare se sono identici.
CertCompareIntegerBlob Confronta due BLOB interi.
CertComparePublicKeyInfo Confronta due chiavi pubbliche per determinare se sono identiche.
CertFindAttribute Trova il primo attributo identificato dal relativo identificatore di oggetto (OID).
CertFindExtension Trova la prima estensione identificata dal relativo OID.
CertFindRDNAttr Trova il primo attributo RDN identificato dal relativo OID nell'elenco dei nomi distinti relativi.
CertGetIntendedKeyUsage Acquisisce i byte di utilizzo delle chiavi previsti dal certificato.
CertGetPublicKeyLength Acquisisce la lunghezza del bit della chiave pubblica/privata dal BLOB della chiave pubblica.
CertIsRDNAttrsInCertificateName Confronta gli attributi nel nome del certificato con il CERT_RDN specificato per determinare se sono inclusi tutti gli attributi.
CertIsStrongHashToSign Determina se è possibile usare l'algoritmo hash specificato e la chiave pubblica nel certificato di firma per eseguire la firma avanzata.
CertVerifyCRLRevocation Verifica che il certificato soggetto non si trova nell'elenco di revoche di certificati (CRL).
CertVerifyCRLTimeValidity Verifica la validità dell'ora di un CRL.
CertVerifyRevocation Verifica che il certificato soggetto non sia presente nell'elenco CRL.
CertVerifyTimeValidity Verifica la validità temporale di un certificato.
CertVerifyValidityNesting Verifica che la validità dell'ora del soggetto annida entro la validità del tempo dell'autorità emittente.
CryptExportPKCS8 Questa funzione viene sostituita dalla funzione CryptExportPKCS8Ex .
CryptExportPKCS8Ex Esporta la chiave privata in formato PKCS #8.
CryptExportPublicKeyInfo Esporta le informazioni sulla chiave pubblica associate alla chiave privata corrispondente del provider.
CryptExportPublicKeyInfoEx Esporta le informazioni sulla chiave pubblica associate alla chiave privata corrispondente del provider. Questa funzione differisce da CryptExportPublicKeyInfo in quanto l'utente può specificare l'algoritmo di chiave pubblica, ignorando quindi l'impostazione predefinita fornita dal provider di servizi di configurazione.
CryptExportPublicKeyInfoFromBCryptKeyHandle Esporta le informazioni sulla chiave pubblica associate alla chiave privata corrispondente di un provider.
CryptFindCertificateKeyProvInfo Enumera i provider di crittografia e i relativi contenitori di chiavi per trovare la chiave privata corrispondente alla chiave pubblica di un certificato.
CryptFindLocalizedName Trova il nome localizzato per un nome specificato, ad esempio trova il nome localizzato per il nome dell'archivio del sistema radice.
CryptHashCertificate Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Esegue l'hash del contenuto codificato.
CryptHashCertificate2 Esegue l'hash di un blocco di dati usando un'API di crittografia: provider hash di nuova generazione (CNG).
CryptHashPublicKeyInfo Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Calcola l'hash delle informazioni sulla chiave pubblica codificata.
CryptHashToBeSigned Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Calcola l'hash delle informazioni "da firmare" nel contenuto firmato codificato (CERT_SIGNED_CONTENT_INFO).
CryptImportPKCS8 Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Importa la chiave privata in formato PKCS #8 in un provider di servizi di crittografia (CSP).
CryptImportPublicKeyInfo Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Converte e importa informazioni sulla chiave pubblica nel provider e restituisce un handle della chiave pubblica.
CryptImportPublicKeyInfoEx Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Converte e importa le informazioni sulla chiave pubblica nel provider e restituisce un handle della chiave pubblica. Altri parametri (su quelli specificati da CryptImportPublicKeyInfo) che possono essere usati per eseguire l'override delle impostazioni predefinite vengono forniti per integrare CERT_PUBLIC_KEY_INFO.
CryptImportPublicKeyInfoEx2 Importa una chiave pubblica in un provider asimmetrico CNG.
CryptMemAlloc Alloca la memoria per un buffer. Questa memoria viene usata da tutte le funzioni Crypt32.lib che restituiscono buffer allocati.
CryptMemFree Libera memoria allocata da CryptMemAlloc o CryptMemRealloc.
CryptMemRealloc Libera memoria attualmente allocata per un buffer e alloca memoria per un nuovo buffer.
CryptQueryObject Importante:
Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
Recupera informazioni sul contenuto di un BLOB o di un file.
CryptSignAndEncodeCertificate Codifica le informazioni "da firmare", firma queste informazioni codificate e codifica le informazioni firmate e codificate risultanti.
CryptSignCertificate Firma le informazioni "da firmare" nel contenuto codificato e firmato.
CryptSIPAddProvider Aggiunge un pacchetto dell'interfaccia soggetto (SIP).
CryptSIPCreateIndirectData Restituisce una strutturaSIP_INDIRECT_DATA che contiene un hash della struttura SIP_SUBJECTINFO fornita, l'algoritmo digest e un attributo di codifica. L'hash può essere usato come riferimento indiretto ai dati.
CryptSIPGetCaps Recupera le funzionalità di un SIP.
CryptSIPGetSignedDataMsg Recupera una firma Authenticode dal file.
CryptSIPLoad Carica la libreria di collegamento dinamica che implementa un pacchetto dell'interfaccia soggetto e assegna le funzioni di esportazione della libreria appropriate a una struttura SIP_DISPATCH_INFO .
CryptSIPPutSignedDataMsg Archivia una firma Authenticode nel file di destinazione.
CryptSIPRemoveProvider Rimuove un SIP aggiunto da una chiamata precedente alla funzione CryptSIPAddProvider .
CryptSIPRemoveSignedDataMsg Rimuove una firma Authenticode specificata.
CryptSIPRetrieveSubjectGuid Recupera un GUID in base alle informazioni sull'intestazione in un file specificato.
CryptSIPRetrieveSubjectGuidForCatalogFile Recupera il GUID soggetto associato al file specificato.
CryptSIPVerifyIndirectData Convalida i dati hash indiretti rispetto all'oggetto fornito.
CryptUpdateProtectedState Esegue la migrazione delle chiavi master dell'utente corrente dopo la modifica dell'identificatore di sicurezza (SID) dell'utente.
CryptVerifyCertificateSignature Verifica la firma di un certificato soggetto o di una CRL usando le informazioni sulla chiave pubblica.
CryptVerifyCertificateSignatureEx Versione estesa di CryptVerifyCertificateSignature.
GetEncSChannel Archivia il contenuto della DLL Schannel crittografato in memoria.
pCryptSIPGetCaps Implementato da un SIP per segnalare le funzionalità.

 

Funzioni di conversione dei dati

Le funzioni CryptoAPI seguenti converte i membri della struttura dei certificati in moduli diversi.

Funzione Descrizione
CertAlgIdToOID Converte un identificatore di algoritmo CryptoAPI (ALG_ID) in una stringa di identificatore di oggetto OID (AsN.1) sintassi astratta.
CertGetNameString Acquisisce il nome dell'oggetto o dell'autorità di certificazione da un certificato e lo converte in una stringa di caratteri con terminazione null.
CertNameToStr Converte un BLOB di nome certificato in una stringa con terminazione zero.
CertOIDToAlgId Converte la stringa identificatore di oggetto ASN.1 nell'identificatore dell'algoritmo CSP.
CertRDNValueToStr Converte un valore Name in una stringa con terminazione null.
CertStrToName Converte una stringa X.500 con terminazione null in un nome certificato codificato.
CryptBinaryToString Converte una sequenza binaria in una stringa formattata.
CryptFormatObject Formatta i dati codificati e restituisce una stringa Unicode.
CryptStringToBinary Converte una stringa formattata in una sequenza binaria.

 

Funzioni di utilizzo chiave avanzate

Le funzioni seguenti gestiscono l'estensione EKU ( Enhanced Key Usage ) e la proprietà estesa EKU dei certificati. L'estensione EKU e la proprietà estesa specificano e limitano gli usi validi di un certificato. Le estensioni fanno parte del certificato stesso. Vengono impostati dall'emittente del certificato e sono di sola lettura. Le proprietà estese del certificato sono valori associati a un certificato che può essere impostato in un'applicazione.

Funzione Descrizione
CertAddEnhancedKeyUsageIdentifier Aggiunge un identificatore di utilizzo alla proprietà EKU di un certificato.
CertGetEnhancedKeyUsage Acquisisce, da un certificato, informazioni sull'estensione o sulla proprietà EKU.
CertRemoveEnhancedKeyUsageIdentifier Rimuove l'identificatore di utilizzo dalla proprietà estesa EKU di un certificato.
CertSetEnhancedKeyUsage Imposta la proprietà EKU per un certificato.

 

Funzioni dell'identificatore di chiave

Le funzioni dell'identificatore di chiave consentono all'utente di creare, impostare, recuperare o individuare un identificatore di chiave o le relative proprietà.

Un identificatore di chiave è l'identificatore univoco di una coppia di chiavi pubblica/privata. Può essere qualsiasi identificatore univoco, ma è in genere l'hash SHA1 a 20 byte di una struttura CERT_PUBLIC_KEY_INFO codificata. È possibile ottenere un identificatore di chiave tramite il CERT_KEY_IDENTIFIER_PROP_ID del certificato. L'identificatore di chiave consente l'uso di tale coppia di chiavi per crittografare o decrittografare i messaggi senza usare il certificato.

Gli identificatori di chiave non sono associati a CRL o CRL.

Un identificatore di chiave può avere le stesse proprietà di un contesto di certificato. Per altre informazioni, vedere CertCreateContext.

Funzione Descrizione
CryptCreateKeyIdentifierFromCSP Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Crea un identificatore di chiave dal BLOB della chiave pubblica di un provider di servizi di configurazione.
Proprietà CryptEnumKeyIdentifier Enumera gli identificatori di chiave e le relative proprietà.
CryptGetKeyIdentifierProperty Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Acquisisce una proprietà specifica da un identificatore di chiave specificato.
CryptSetKeyIdentifierProperty Importante:
Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
Imposta una proprietà di un identificatore di chiave specificato.

 

Funzioni di supporto OID

Queste funzioni forniscono il supporto OID ( Object Identifier ). Queste funzioni installano, registrano e inviano a OID e codificano funzioni specifiche del tipo.

Le funzioni CryptoAPI seguenti usano queste funzioni di supporto OID:

Per una panoramica di questo processo, vedere Estensione della funzionalità CryptoAPI.

Le funzioni seguenti funzionano con gli OID.

Funzione Descrizione
CryptEnumOIDFunction Enumera le funzioni OID registrate identificate dal tipo di codifica, dal nome della funzione e dall'OID.
CryptEnumOIDInfo Enumera le informazioni OID registrate identificate dal gruppo e chiama pfnEnumOIDInfo per le corrispondenze.
CryptFindOIDInfo Usa la chiave e il gruppo specificati per trovare informazioni sull'OID.
CryptFreeOIDFunctionAddress Rilascia il numero di handle incrementato e restituito da CryptGetOIDFunctionAddress o CryptGetDefaultOIDFunctionAddress.
CryptGetDefaultOIDDllList Acquisisce l'elenco delle voci DLL predefinite registrate per il set di funzioni e il tipo di codifica specificati.
CryptGetDefaultOIDFunctionAddress Acquisisce la prima o successiva funzione predefinita installata oppure carica la DLL che contiene la funzione predefinita.
CryptGetOIDFunctionAddress Cerca nell'elenco delle funzioni installate un tipo di codifica e una corrispondenza OID. Se non viene trovata una corrispondenza, il Registro di sistema cerca una corrispondenza.
CryptGetOIDFunctionValue Acquisisce il valore per il tipo di codifica, il nome della funzione, l'OID e il nome del valore specificati.
CryptInitOIDFunctionSet Inizializza e restituisce un handle del set di funzioni OID identificato dal nome della funzione fornito.
CryptInstallOIDFunctionAddress Installa un set di indirizzi di funzione OID chiamabili.
CryptRegisterDefaultOIDFunction Registra la DLL che contiene la funzione predefinita da chiamare per il tipo di codifica e il nome della funzione specificati.
CryptRegisterOIDFunction Registra la DLL che contiene la funzione da chiamare per il tipo di codifica, il nome della funzione e l'OID specificati.
CryptRegisterOIDInfo Registra le informazioni OID specificate nella struttura CRYPT_OID_INFO , salvandole in modo permanente nel Registro di sistema.
CryptSetOIDFunctionValue Imposta il valore per il tipo di codifica, il nome della funzione, l'OID e il nome del valore specificati.
CryptUnregisterDefaultOIDFunction Rimuove la registrazione per la DLL che contiene la funzione predefinita da chiamare per il tipo di codifica e il nome della funzione specificati.
CryptUnregisterOIDFunction Rimuove la registrazione per la DLL che contiene la funzione da chiamare per il tipo di codifica, il nome della funzione e l'OID specificati.
CryptUnregisterOIDInfo Rimuove la registrazione per le informazioni OID specificate.

 

Funzioni di recupero oggetti remoti

Le funzioni seguenti consentono all'utente di recuperare un oggetto PKI (Public Key Infrastructure), acquisire l'URL di un certificato, CTL o CRL o estrarre un URL da un oggetto .

Funzione Descrizione
CryptGetObjectUrl Acquisisce l'URL dell'oggetto remoto da un certificato, un CTL o un CRL.
CryptRetrieveObjectByUrl Recupera l'oggetto PKI da una posizione specificata da un URL.

 

Funzioni PFX

Le funzioni seguenti supportano i BLOB in formato PFX (Personal Information Exchange).

Funzione Descrizione
PFXExportCertStore Le esportazioni dal certificato a cui si fa riferimento archiviano i certificati e, se disponibili, le chiavi private associate.
PFXExportCertStoreEx Le esportazioni dal certificato a cui si fa riferimento archiviano i certificati e, se disponibili, le chiavi private associate.
PFXImportCertStore Importa un BLOB PFX e restituisce l'handle di un archivio che contiene certificati ed eventuali chiavi private associate.
PFXIsPFXBlob Tenta di decodificare il livello esterno di un BLOB come pacchetto PFX.
PFXVerifyPassword Tenta di decodificare il livello esterno di un BLOB come pacchetto PFX e di decrittografarlo con la password specificata.

 

Funzioni di backup e ripristino di Servizi certificati

Servizi certificati include funzioni per il backup e il ripristino del database di Servizi certificati. Queste funzioni di backup e ripristino di Servizi certificati sono contenute in Certadm.dll. A differenza degli altri elementi API associati a Servizi certificati, queste funzioni non vengono incapsulate in un oggetto che può essere usato per chiamare i metodi di classe. Al contrario, le API di backup e ripristino vengono chiamate prima caricando la libreria Certadm.dll in memoria chiamando LoadLibrary e quindi determinando l'indirizzo delle funzioni chiamando GetProcAddress. Dopo aver chiamato le funzioni di backup e ripristino di Servizi certificati, chiamare FreeLibrary per liberare Certadm.dll risorse dalla memoria.

Nota

Le funzioni di backup e ripristino fornite da Certadm.dll non eseguono il backup o il ripristino delle chiavi private del servizio certificati. Per informazioni sul backup delle chiavi private di Servizi certificati, vedere Backup e ripristino della chiave privata dei servizi certificati.

Per chiamare le funzioni di backup e ripristino, è necessario disporre dei privilegi di backup e ripristino. Per informazioni dettagliate, vedere Impostazione dei privilegi di backup e ripristino.

 

Nota

Se CoInitializeEx è stato chiamato in precedenza nello stesso thread usato per chiamare le API di backup e ripristino di Servizi certificati, il flag COINIT_APARTMENTTHREADED deve essere stato passato a CoInitializeEx. In altri casi, quando si usa lo stesso thread, non è possibile chiamare l'API di backup e ripristino di Servizi certificati se il thread è passato in precedenza al flag COINIT_MULTITHREADED in una chiamata a CoInitializeEx.

 

Le API di backup di Servizi certificati sono definite in Certbcli.h. Tuttavia, quando si crea il programma, usare Certsrv.h come file di inclusione.

Le API seguenti vengono esportate da Certadm.dll.

Funzione Descrizione
CertSrvBackupClose Chiude un file aperto.
CertSrvBackupEnd Termina una sessione di backup.
CertSrvBackupFree Libera un buffer allocato dalle API di backup e ripristino.
CertSrvBackupGetBackupLogs Restituisce un elenco di file di log di cui è necessario eseguire il backup.
CertSrvBackupGetDatabaseNames Restituisce un elenco di file di database di cui è necessario eseguire il backup.
CertSrvBackupGetDynamicFileList Recupera l'elenco dei nomi di file dinamici di Servizi certificati di cui è necessario eseguire il backup per il contesto di backup specificato.
CertSrvBackupOpenFile Apre un file in preparazione per il backup.
CertSrvBackupPrepare Prepara il database per il backup online.
CertSrvBackupRead Legge il contenuto di un file aperto.
CertSrvBackupTruncateLogs Tronca i file di log.
CertSrvIsServerOnline Determina se un server di Servizi certificati è online (in esecuzione attivamente).
CertSrvRestoreEnd Termina una sessione di ripristino.
CertSrvRestoreGetDatabaseLocations Recupera i percorsi del database (usati sia per gli scenari di backup che di ripristino).
CertSrvRestorePrepare Avvia una sessione di ripristino.
CertSrvRestoreRegister Registra un'operazione di ripristino.
CertSrvRestoreRegisterComplete Completa un'operazione di ripristino registrata in precedenza.
CertSrvRestoreRegisterThroughFile Registra un'operazione di ripristino.
CertSrvServerControl Invia un comando di controllo all'istanza di Servizi certificati.

 

Funzioni di callback

Le funzioni di callback in questa sezione vengono usate per registrare o installare provider di archivi certificati definiti dall'applicazione e fornire funzionalità correlate tramite funzioni di callback. Le funzioni di callback vengono implementate da un'applicazione e vengono chiamate dalle funzioni CryptoAPI . Le funzioni di callback consentono all'applicazione di controllare, in parte, il modo in cui le funzioni CryptoAPI modificano i dati.

Funzione di callback Uso
CertChainFindByIssuerCallback Funzione di callback definita dall'applicazione che consente all'applicazione di filtrare i certificati che potrebbero essere aggiunti alla catena di certificati.
CertDllOpenStoreProv Definisce la funzione open del provider di archivi.
CertEnumPhysicalStoreCallback Funzione di callback usata dalla funzione CertEnumPhysicalStore per formattare e presentare informazioni su ogni archivio fisico trovato.
CertEnumSystemStoreCallback Funzione di callback usata dalla funzione CertEnumSystemStore per formattare e presentare informazioni su ogni archivio fisico trovato.
CertEnumSystemStoreLocationCallback Funzione di callback usata dalla funzione CertEnumSystemStoreLocation per formattare e presentare informazioni su ogni archivio fisico trovato.
CertStoreProvCloseCallback Determina cosa accade quando il conteggio dei riferimenti di un archivio aperto diventa zero.
CertStoreProvControl Consente a un'applicazione di ricevere una notifica quando esiste una differenza tra il contenuto di un archivio memorizzato nella cache in uso e il contenuto di tale archivio perché è persistente nell'archiviazione.
CertStoreProvDeleteCertCallback Determina le azioni da eseguire prima che un certificato venga eliminato da un archivio certificati.
CertStoreProvDeleteCRLCallback Determina le azioni da eseguire prima che un elenco di revoche di certificati (CRL) venga eliminato da un archivio certificati.
CertStoreProvDeleteCTL Determina se una durata (CTL) può essere eliminata.
CertStoreProvFindCert Trova il primo certificato, o successivo, in un archivio che corrisponde ai criteri specificati.
CertStoreProvFindCRL Trova il primo, o successivo, CRL in un archivio che corrisponde ai criteri specificati.
CertStoreProvFindCTL Trova il primo, o successivo, CTL in un archivio che corrisponde ai criteri specificati.
CertStoreProvFreeFindCert Libera un contesto certificato trovato in precedenza.
CertStoreProvFreeFindCRL Libera un contesto CRL trovato in precedenza.
CertStoreProvFreeFindCTL Libera un contesto CTL trovato in precedenza.
CertStoreProvGetCertProperty Recupera una proprietà specificata di un certificato.
CertStoreProvGetCRLProperty Recupera una proprietà specificata di un CRL.
CertStoreProvGetCTLProperty Recupera una proprietà specificata di un elenco di scopi consentiti.
CertStoreProvReadCertCallback Attualmente non usato, ma potrebbe essere esportato in provider di servizi di configurazione futuri.
CertStoreProvReadCRLCallback Attualmente non usato, ma potrebbe essere esportato in provider di servizi di configurazione futuri.
CertStoreProvReadCTL Leggere la copia del contesto CTL del provider e, se esistente, creare un nuovo contesto CTL.
CertStoreProvSetCertPropertyCallback Determina le azioni da eseguire prima di una chiamata a CertSetCertificateContextProperty o CertGetCertificateContextProperty.
CertStoreProvSetCRLPropertyCallback Determina le azioni da eseguire prima di una chiamata a CertSetCRLContextProperty o CertGetCRLContextProperty.
CertStoreProvSetCTLProperty Determina se una proprietà può essere impostata su un elenco di scopi consentiti.
CertStoreProvWriteCertCallback Determina le azioni da eseguire prima di aggiungere un certificato a un archivio.
CertStoreProvWriteCRLCallback Determina le azioni da eseguire prima di aggiungere un CRL a un archivio.
CertStoreProvWriteCTL Determina se un elenco di scopi consentiti può essere aggiunto all'archivio.
CRYPT_ENUM_KEYID_PROP Funzione di callback usata dalla funzione CryptEnumKeyIdentifierProperties .
CRYPT_ENUM_OID_FUNCTION Funzione di callback usata dalla funzione CryptEnumOIDFunction .
CRYPT_ENUM_OID_INFO Funzione di callback usata dalla funzione CryptEnumOIDInfo .
CryptGetSignerCertificateCallback Funzione di callback usata con la struttura CRYPT_VERIFY_MESSAGE_PARA per ottenere e verificare il certificato del firmatario del messaggio.
PCRYPT_DECRYPT_PRIVATE_KEY_FUNC Funzione di callback usata dalla funzione CryptImportPKCS8 .
PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC Funzione di callback usata durante la creazione della struttura CRYPT_ENCRYPTED_PRIVATE_KEY_INFO .
PCRYPT_RESOLVE_HCRYPTPROV_FUNC Funzione di callback usata dalla funzione CryptImportPKCS8 .
PFN_CDF_PARSE_ERROR_CALLBACK Funzione definita dall'utente chiamata per gli errori della funzione di definizione del catalogo durante l'analisi di un file di definizione del catalogo (CDF).
PFN_CERT_CREATE_CONTEXT_SORT_FUNC Chiamato per ogni voce di contesto ordinata quando viene creato un contesto.
PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY Funzione installabile OID (CNG Object Identifier) per l'importazione di una chiave di crittografia del contenuto già decrittografata.A CNG object identifier (OID) installable function for import of an already decrypted content encryption key (CEK).
PFN_CMSG_CNG_IMPORT_KEY_AGREE Importa una chiave di crittografia del contenuto per un destinatario del trasporto di chiavi di un messaggio in busto.
PFN_CMSG_CNG_IMPORT_KEY_TRANS Funzione installabile dell'OID CNG per l'importazione e la decrittografia di una chiave CEK (Key-Transport-Recipient, encrypted, content encryption key).
PFN_CMSG_EXPORT_KEY_AGREE Crittografa ed esporta la chiave di crittografia del contenuto per un destinatario del contratto di chiave di un messaggio in busto.
PFN_CMSG_EXPORT_KEY_TRANS Crittografa ed esporta la chiave di crittografia del contenuto per un destinatario del trasporto di chiavi di un messaggio in busto.
PFN_CMSG_EXPORT_MAIL_LIST Crittografa ed esporta la chiave di crittografia del contenuto per un destinatario della lista di distribuzione di un messaggio in busta.
PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY Genera la chiave simmetrica utilizzata per crittografare il contenuto di un messaggio in busta.
PFN_CMSG_IMPORT_KEY_AGREE Importa una chiave di crittografia del contenuto per un destinatario del trasporto di chiavi di un messaggio in busto.
PFN_CMSG_IMPORT_KEY_TRANS Importa una chiave di crittografia del contenuto per un destinatario del trasporto di chiavi di un messaggio in busto.
PFN_CMSG_IMPORT_MAIL_LIST Importa una chiave di crittografia del contenuto per un destinatario del trasporto di chiavi di un messaggio in busto.
PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC Chiamato da CryptExportPublicKeyInfoEx per esportare un BLOB di chiave pubblica e codificarlo.
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC Chiamato per decodificare e restituire l'identificatore dell'algoritmo hash e facoltativamente i parametri della firma.
PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC Chiamato per firmare e codificare un hash calcolato.
PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC Chiamata chiamata per decrittografare una firma codificata e confrontarla con un hash calcolato.
PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC Chiamato da CryptImportPublicKeyInfoEx2 per decodificare l'identificatore dell'algoritmo di chiave pubblica , caricare il provider di algoritmi e importare la coppia di chiavi.
PFNCCERTDISPLAYPROC Funzione di callback definita dall'utente che consente al chiamante della funzione CryptUIDlgSelectCertificate di gestire la visualizzazione dei certificati selezionati dall'utente per la visualizzazione.
PFNCMFILTERPROC Filtra ogni certificato per decidere se verrà visualizzato nella finestra di dialogo di selezione del certificato visualizzata dalla funzione CertSelectCertificate .
PFNCMHOOKPROC Chiamato prima che i messaggi vengano elaborati dalla finestra di dialogo di selezione del certificato prodotta dalla funzione CertSelectCertificate .

 

Funzioni di definizione del catalogo

Queste funzioni vengono usate per creare un catalogo. Tutte queste funzioni vengono chiamate da MakeCat.

Funzione Descrizione
CryptCATCDFClose Chiude un file di definizione del catalogo e libera la memoria per la struttura CRYPTCATCDF corrispondente.
CryptCATCDFEnumAttributesWithCDFTag Enumera gli attributi dei file membro nella sezione CatalogFiles di un file CDF.
CryptCATCDFEnumCatAttributes Enumera gli attributi a livello di catalogo all'interno della sezione CatalogHeader di un CDF.
CryptCATCDFEnumMembersByCDFTagEx Enumera i singoli membri di file nella sezione CatalogFiles di un CDF.
CryptCATCDFOpen Apre un CDF esistente per la lettura e inizializza una struttura CRYPTCATCDF .

 

Funzioni di catalogo

Queste funzioni vengono usate per gestire un catalogo.

Funzione Descrizione
CryptCATAdminAcquireContext Acquisisce un handle in un contesto di amministratore del catalogo. Questo handle può essere usato dalle chiamate successive alle funzioni CryptCATAdminAddCatalog, CryptCATAdminEnumCatalogFromHash e CryptCATAdminRemoveCatalog .
CryptCATAdminAcquireContext2 Acquisisce un handle in un contesto di amministratore del catalogo per un algoritmo hash e un criterio hash specificati.
CryptCATAdminAddCatalog Aggiunge un catalogo al database di catalogo.
CryptCATAdminCalcHashFromFileHandle Calcola l'hash per un file.
CryptCATAdminCalcHashFromFileHandle2 Calcola l'hash per un file usando l'algoritmo specificato.
CryptCATAdminEnumCatalogFromHash Enumera i cataloghi che contengono un hash specificato.
CryptCATAdminReleaseCatalogContext Rilascia un handle in un contesto di catalogo restituito in precedenza dalla funzione CryptCATAdminAddCatalog .
CryptCATAdminReleaseContext Rilascia l'handle assegnato in precedenza dalla funzione CryptCATAdminAcquireContext .
CryptCATAdminRemoveCatalog Elimina un file di catalogo e rimuove la voce del catalogo dal database del catalogo di Windows.
CryptCATAdminResolveCatalogPath Recupera il percorso completo del catalogo specificato.
CryptCATCatalogInfoFromContext Recupera le informazioni del catalogo da un contesto di catalogo specificato.
CryptCATClose Chiude un handle di catalogo aperto in precedenza dalla funzione CryptCATOpen .
CryptCATEnumerateAttr Enumera gli attributi associati a un membro di un catalogo.
CryptCATEnumerateCatAttr Enumera gli attributi associati a un catalogo.
CryptCATEnumerateMember Enumera i membri di un catalogo.
CryptCATGetAttrInfo Recupera informazioni su un attributo di un membro di un catalogo.
CryptCATGetMemberInfo Recupera le informazioni sui membri dal file PKCS #7 del catalogo. Oltre a recuperare le informazioni sui membri per un tag di riferimento specificato, questa funzione apre un contesto membro.
CryptCATOpen Apre un catalogo e restituisce un handle di contesto al catalogo aperto.
IsCatalogFile Recupera un valore booleano che indica se il file specificato è un file di catalogo.

 

Funzioni WinTrust

Le funzioni seguenti vengono usate per eseguire varie operazioni di trust.

Funzione Descrizione
WintrustAddActionID Aggiunge un'azione del provider di attendibilità al sistema dell'utente.
WintrustGetRegPolicyFlags Recupera i flag dei criteri per un provider di criteri.
WintrustAddDefaultForUsage Specifica l'identificatore di utilizzo predefinito e le informazioni di callback per un provider
WintrustGetDefaultForUsage Recupera l'identificatore di utilizzo predefinito e le informazioni di callback.
WintrustLoadFunctionPointers Carica i punti di ingresso della funzione per un GUID di azione specificato.
WintrustRemoveActionID Rimuove un'azione aggiunta dalla funzione WintrustAddActionID .
WintrustSetDefaultIncludePEPageHashes Imposta l'impostazione predefinita che determina se gli hash di pagina vengono inclusi durante la creazione di dati indiretti SIP (Subject Interface Package) per i file eseguibili portabili.
WintrustSetRegPolicyFlags Imposta i flag dei criteri per un provider di criteri.
Winverifytrust Esegue un'azione di verifica dell'attendibilità su un oggetto specificato.
WinVerifyTrustEx Esegue un'azione di verifica dell'attendibilità su un oggetto specificato e accetta un puntatore a una struttura WINTRUST_DATA.
WTHelperCertCheckValidSignature Controlla se una firma è valida.
WTHelperCertFindIssuerCertificate Trova un certificato dell'autorità di certificazione dagli archivi certificati specificati che corrispondono al certificato soggetto specificato.
WTHelperCertIsSelfSigned Controlla se un certificato è autofirmato.
WTHelperGetFileHash Verifica la firma di un file firmato e ottiene il valore hash e l'identificatore dell'algoritmo per il file.
WTHelperGetProvCertFromChain Recupera un certificato del provider di attendibilità dalla catena di certificati.
WTHelperGetProvPrivateDataFromChain Riceve una struttura CRYPT_PROVIDER_PRIVDATA dalla catena usando l'ID provider.
WTHelperGetProvSignerFromChain Recupera un firmatario o un controfirmatore per indice dalla catena.
WTHelperProvDataFromStateData Recupera le informazioni del provider di attendibilità da un handle specificato.

 

Funzioni del localizzatore di oggetti

Le funzioni di callback seguenti possono essere implementate da un provider personalizzato che deve essere chiamato dal pacchetto di sicurezza Secure Channel (Schannel) per recuperare i certificati.

Funzione Descrizione
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH Specifica che un oggetto è stato modificato.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET Recupera un oggetto .
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE Rilascia il provider.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD Rilascia la password usata per crittografare una matrice di byte PFX.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE Rilascia l'oggetto restituito dal provider.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER Rilascia memoria per un identificatore di oggetto.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE Inizializza il provider.