Freigeben über


Sammlungsspeicher

Da die Anzahl der Zertifikate, Zertifikatsperrlisten (CRLs) und Zertifikatvertrauensliste (CTLs) in der Sammlung eines Benutzers wächst, wird die Organisation dieser Zertifikate zu einem Problem. Eine mögliche Lösung besteht darin, separate Zertifikatspeicher zu erstellen, um verschiedene Arten von Zertifikaten beizubehalten. Diese Lösung erstellt ein neues Problem, da eine Anwendung möglicherweise mehrere verschiedene Speicher durchsuchen muss, um ein bestimmtes Zertifikat zu finden. Die Verwendung logischer oder Sammlungsspeicher löst dieses Problem.

Ein logischer Speicher und ein Sammlungszertifikatspeicher sind Gruppen physischer Speicher, die einer Anwendung als einzelner Speicher angezeigt werden. Alle Memberspeicher eines logischen oder Sammlungsspeichers können mit einem einzelnen Funktionsaufruf entweder CertFindCertificateInStore oder CertEnumCertificatesInStore durchsucht oder aufgezählt werden.

Die Verwendung logischer oder Sammlungsspeicher bietet auch Flexibilität, die mit Papieraufzeichnungen schwer zu erreichen ist. Ein Zertifikat in einem einzelnen physischen Speicher muss möglicherweise Mitglied mehrerer verschiedener logischer Gruppen sein. Daher kann ein einzelner physischer Speicher mitglied von mehr als einem logischen oder Sammlungsspeicher sein, wie in der folgenden Abbildung dargestellt.

collection stores

Diese Abbildung stellt die folgenden grundlegenden, logischen Zertifikatspeicherkonzepte dar:

  • Ein Sammlungszertifikatspeicher weist einen Zeiger auf den ersten Zeigerblock für diesen Sammlungsspeicher auf.
  • Jeder Zeigerblock eines Sammlungsspeichers weist einen Zeiger auf einen gleichgeordneten Speicher und einen Zeiger auf den nächsten Zeigerblock der Auflistung auf.
  • Jeder gleichgeordnete Speicher in einer Auflistung ist ein einfacher physischer Zertifikatspeicher.
  • Ein einfacher Zertifikatspeicher kann ein mitgliedsgeordneter Speicher in vielen verschiedenen Sammlungsspeichern sein.
  • Zertifikate, die einem Sammlungsspeicher hinzugefügt wurden, werden physisch zu einem der gleichgeordneten Speicher in der Auflistung hinzugefügt.
  • Auf Zertifikate in einem gleichgeordneten Speicher kann von jedem Sammlungsspeicher zugegriffen werden, in dem der gleichgeordnete Speicher Mitglied ist.

Sammlungsspeicher werden in einer Anwendung erstellt, indem sie einen Sammlungsspeicher mithilfe von CertOpenStore öffnen und dann CertAddStoreToCollection verwenden, um dem Sammlungsspeicher einen geöffneten gleichgeordneten Speicher hinzuzufügen. Ein gleichgeordneter Speicher kann aus einem Sammlungsspeicher gelöscht werden, indem CertRemoveStoreFromCollection aufgerufen wird.