Sammlungsspeicher
Mit zunehmender Anzahl von Zertifikaten, Zertifikatsperrlisten (Certificate Revocation Lists, CRLs) und Zertifikatvertrauenslisten (Certificate Trust List, CTLs) in der Sammlung eines Benutzers 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 führt zu einem neuen Problem, da eine Anwendung möglicherweise mehrere verschiedene Speicher durchsuchen muss, um ein bestimmtes Zertifikat zu finden. Die Verwendung logischer Speicher 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 Speichers oder Sammlungsspeichers können mit einem einzigen Funktionsaufruf von CertFindCertificateInStore oder CertEnumCertificatesInStoredurchsucht oder aufzählen.
Die Verwendung logischer Speicher oder Sammlungsspeicher bietet auch Flexibilität, die mit Papierdatensätzen nur schwer zu erreichen ist. Ein Zertifikat in einem einzelnen physischen Speicher muss möglicherweise Mitglied verschiedener logischer Gruppen sein. Daher kann ein einzelner physischer Speicher Mitglied mehrerer logischer Speicher oder Sammlungsspeicher sein, wie in der folgenden Abbildung dargestellt.

In dieser Abbildung werden die folgenden grundlegenden logischen Zertifikatspeicherkonzepte dargestellt:
- Ein Sammlungszertifikatspeicher verfügt über einen Zeiger auf den ersten Zeigerblock für diesen Sammlungsspeicher.
- Jeder Zeigerblock eines Auflistungsspeichers verfügt über einen Zeiger auf einen gleichgeordneten Speicher und einen Zeiger auf den nächsten Zeigerblock der Auflistung.
- Jeder nebengeordnete Speicher in einer Sammlung ist ein einfacher physischer Zertifikatspeicher.
- Ein einfacher Zertifikatspeicher kann ein gleichgeordneter Memberspeicher in vielen verschiedenen Sammlungsspeichern sein.
- Zertifikate, die einem Sammlungsspeicher hinzugefügt werden, werden physisch einem der nebengeordneten Speicher in der Sammlung hinzugefügt.
- Auf Zertifikate in einem nebengeordneten Speicher kann von jedem Sammlungsspeicher zugegriffen werden, in dem der nebengeordnete Speicher Mitglied ist.
Sammlungsspeicher werden in einer Anwendung erstellt, indem ein Sammlungsspeicher mithilfe von CertOpenStore und dann mithilfe von CertAddStoreToCollection ein geöffneter gleichgeordneter Speicher zum Sammlungsspeicher hinzugefügt wird. Ein gleichgeordneter Speicher kann durch Aufrufen von CertRemoveStoreFromCollectionaus einem Sammlungsspeicher gelöscht werden.