Condividi tramite


Archivi di raccolta

Man mano che il numero di certificati, gli elenchi di revoche di certificati (CRL) e l'elenco di certificati (CCL) nella raccolta di un utente aumentano, l'organizzazione di tali certificati diventa un problema. Una possibile soluzione consiste nel creare archivi certificati separati per mantenere diversi tipi di certificati. Questa soluzione crea un nuovo problema perché un'applicazione potrebbe dover eseguire ricerche in diversi archivi per trovare un certificato specifico. L'uso di archivi logici o di raccolta risolve questo problema.

Un archivio logico e un archivio certificati di raccolta sono gruppi di archivi fisici visualizzati in un'applicazione come archivio singolo. Tutti gli archivi membri di un archivio logico o di raccolta possono essere cercati o enumerati con una singola chiamata di funzione a CertFindCertificateInStore o CertEnumCertificatesInStore.

L'uso di negozi logici o di raccolta offre anche flessibilità difficile da ottenere con i documenti cartacei. Un certificato in un singolo archivio fisico potrebbe dover essere membro di diversi gruppi logici. Di conseguenza, un singolo archivio fisico può essere un membro di più archivi logici o di raccolta, come illustrato nella figura seguente.

collection stores

Questa figura presenta i concetti di base dell'archivio certificati logici seguenti:

  • Un archivio certificati di raccolta ha un puntatore al primo blocco puntatore per tale archivio di raccolta.
  • Ogni blocco di puntatore di un archivio raccolte ha un puntatore a un archivio di pari livello e un puntatore al blocco puntatore successivo della raccolta.
  • Ogni archivio di pari livello in una raccolta è un semplice archivio certificati fisico.
  • Un archivio certificati semplice può essere un archivio di pari livello membro in molti archivi di raccolte diversi.
  • I certificati aggiunti a un archivio raccolte vengono aggiunti fisicamente a uno degli archivi di pari livello nella raccolta.
  • I certificati in un archivio di pari livello possono essere accessibili da qualsiasi archivio di raccolte in cui l'archivio di pari livello è un membro.

Gli archivi di raccolta vengono compilati all'interno di un'applicazione aprendo un archivio raccolte usando CertOpenStore e quindi usando CertAddStoreToCollection per aggiungere un archivio di pari livello aperto all'archivio della raccolta. Un archivio di pari livello può essere eliminato da un archivio di raccolta chiamando CertRemoveStoreFromCollection.