Gestione dei certificati con archivi certificati
In un periodo di tempo, i certificati si accumulano nel computer di un utente. Gli strumenti sono necessari per gestire questi certificati. CryptoAPI fornisce tali strumenti come funzioni per archiviare, recuperare, eliminare, elencare (enumerazione) e verificare i certificati. CryptoAPI fornisce anche i mezzi per collegare i certificati ai messaggi.
CryptoAPI offre due categorie principali di funzioni per la gestione dei certificati: funzioni che gestiscono archivi certificati e funzioni che funzionano con i certificati, gli elenchi di revoche di certificati e gli elenchi di attendibilità dei certificati (CTLs) all'interno di tali archivi.
Le funzioni che gestiscono archivi certificati includono funzioni per l'uso di archivi logici o virtuali, archivi remoti, archivi esterni e archivi che possono essere spostati.
I certificati, gli elenchi di firma di accesso e le dll possono essere mantenuti e mantenuti negli archivi certificati. Possono essere recuperati da un archivio in cui sono stati mantenuti per l'uso nei processi di autenticazione.
L'archivio certificati è centrale per tutte le funzionalità del certificato. I certificati vengono gestiti nell'archivio usando funzioni con un prefisso "Cert". Un archivio certificati tipico è un elenco collegato di certificati , come illustrato nella figura seguente.
La figura precedente mostra:
- Ogni archivio certificati ha un puntatore al primo blocco di certificati in tale archivio.
- Un blocco di certificati include un puntatore ai dati del certificato e un puntatore "successivo" al blocco di certificato successivo nell'archivio.
- Il puntatore "next" nell'ultimo blocco di certificati è impostato su NULL.
- Il blocco dati di un certificato contiene il contesto del certificato di sola lettura e le proprietà estese del certificato.
- Il blocco dati di ogni certificato contiene un conteggio dei riferimenti che tiene traccia del numero di puntatori al certificato esistente.
I certificati in un archivio certificati vengono in genere mantenuti in un tipo di archiviazione permanente, ad esempio un file su disco o nel Registro di sistema. Gli archivi certificati possono anche essere creati e aperti rigorosamente in memoria. Un archivio memoria fornisce un archivio certificati temporaneo per l'uso dei certificati che non devono essere mantenuti.
I percorsi di archiviazione aggiuntivi consentono di mantenere e cercare gli archivi in varie parti del Registro di sistema locale o, con autorizzazioni appropriate impostate, nel Registro di sistema in un computer remoto.
Ogni utente ha un archivio personale in cui vengono archiviati i certificati dell'utente. L'archivio personale può trovarsi in uno qualsiasi di molti percorsi fisici, tra cui il Registro di sistema in un computer locale o remoto, un file di disco, un database, un servizio directory, una smart card o un'altra posizione. Anche se qualsiasi certificato può essere archiviato nell'archivio personale, questo archivio deve essere riservato per i certificati personali di un utente: i certificati usati per firmare e decrittografare i messaggi dell'utente.
L'uso dei certificati per l'autenticazione dipende dalla presenza di certificati rilasciati da un'autorità di certificazione attendibile. I certificati per le autorità di certificazione attendibili vengono in genere mantenuti nell'archivio radice, che è attualmente persistente in una sottochiave del Registro di sistema. Nel contesto CryptoAPI, l'archivio radice è protetto e le finestre di dialogo dell'interfaccia utente ricordano all'utente di inserire solo certificati attendibili in tale archivio. In situazioni di rete aziendali, i certificati potrebbero essere push (copiati) da un amministratore di sistema dal computer del controller di dominio agli archivi radice nei computer client. Questo processo fornisce tutti i membri di un dominio con elenchi di attendibilità simili.
Altri certificati possono essere archiviati nell'archivio di sistema dell'autorità di certificazione (CA) o negli archivi basati su file creati dall'utente.
Per elenchi di funzioni per l'uso e la gestione degli archivi certificati, vedere Funzioni dell'archivio certificati.
Per un esempio che usa alcune di queste funzioni, vedere Esempio di programma C: Operazioni dell'archivio certificati.
Argomenti correlati