Installieren einer Katalogdatei mithilfe von CryptCATAdminAddCatalog

Ein Installationsprogramm kann die CryptCATAdminAddCatalog- und andere CryptCATAdminXxx-Kryptografiefunktionen verwenden, um eine Katalogdatei programmgesteuert in der Systemkomponenten- und Treiberdatenbank zu installieren.

Das Installationsprogramm muss das Microsoft Windows Software Development Kit (SDK) für Windows 7 und .NET Framework 4.0 wie folgt verwenden:

  • Die Quelldateien des Installationsprogramms müssen die folgenden Headerdateien (.h) enthalten:

    • Mscat.h, das die Prototypen und Strukturen für die verschiedenen CryptCATAdminXxx-Funktionen definiert.
    • Softpub.h, das die verschiedenen Datenstrukturen und GUIDs definiert, die von den Funktionen CryptCATAdminXxx verwendet werden.
  • Das Installationsprogramm muss mit Wintrust.lib verknüpft werden.

Um diese CryptCATAdminXxx-Kryptografiefunktionen zu verwenden, führt ein Installationsprogramm die folgenden Aktionen aus:

  1. Ruft CryptCATAdminAcquireContext auf, um ein Handle für einen Katalogadministratorkontext abzurufen. Die Anwendung identifiziert das Subsystem, indem sie den pgSubsystem-Eingabeparameter auf einen Zeiger auf die GUID DRIVER_ACTION_VERIFY festlegt. Diese GUID wird in Softpub.h definiert.

  2. Ruft CryptCATAdminAddCatalog auf, um die Katalogdatei der Systemkomponenten- und Treiberdatenbank hinzuzufügen. Das Installationsprogramm stellt das Handle für den Katalogadministratorkontext bereit, der in Schritt 1 abgerufen wurde, einen Zeiger auf den vollqualifizierten Pfad der Katalogdatei und einen Zeiger auf den Namen der Katalogdatei, den die Funktion zum Installieren einer Kopie der Katalogdatei in der Datenbank verwendet. Die Funktion gibt ein Handle für den Kataloginformationskontext für die Katalogdatei zurück, die der Datenbank hinzugefügt wurde.

  3. Ruft CryptCATAdminReleaseCatalogContext auf, um das Handle für den Kataloginformationskontext für die Katalogdatei freizugeben. Das Installationsprogramm stellt das Handle für den Katalogadministratorkontext bereit, der in Schritt 1 abgerufen wurde, und das Handle für den Kataloginformationskontext, der in Schritt 2 zurückgegeben wurde.

  4. Ruft CryptCATAdminReleaseContext auf, um das Handle für den Katalogadministratorkontext freizugeben. Die Anwendung übergibt das Handle an den Katalogadministratorkontext, der in Schritt 1 abgerufen wurde.