Freigeben über


CertOpenSystemStoreA-Funktion (wincrypt.h)

Die CertOpenSystemStore--Funktion ist eine vereinfachte Funktion, die das am häufigsten verwendete System Zertifikatspeicheröffnet. Verwenden Sie CertOpenStore, um Zertifikatspeicher mit komplexeren Anforderungen zu öffnen, z. B. dateibasierte oder speicherbasierte Speicher.

Syntax

HCERTSTORE CertOpenSystemStoreA(
  [in] HCRYPTPROV_LEGACY hProv,
  [in] LPCSTR            szSubsystemProtocol
);

Parameter

[in] hProv

Dieser Parameter wird nicht verwendet und sollte auf 0festgelegt werden.

Windows Server 2003 und Windows XP: Ein Handle eines kryptografischen Dienstanbieters (CSP). Legen Sie hProv- auf 0 fest, um den Standard-CSP zu verwenden. Wenn hProv nicht 0ist, muss es sich um ein mit der CryptAcquireContext Funktion erstelltes CSP-Handle sein. Der Datentyp dieses Parameters ist HCRYPTPROV.

[in] szSubsystemProtocol

Eine Zeichenfolge, die einen Systemspeicher benennt. Wenn der in diesem Parameter angegebene Systemspeichername nicht der Name eines vorhandenen Systemspeichers ist, wird ein neuer Systemspeicher erstellt und verwendet. CertEnumSystemStore- können verwendet werden, um die Namen vorhandener Systemspeicher auflisten zu können. Einige Beispielsystemspeicher sind in der folgenden Tabelle aufgeführt.

Wert Bedeutung
ca
Zertifizierungsstelle Zertifikate.
MY
Ein Zertifikatspeicher, der Zertifikate mit zugeordneten privaten Schlüsseln enthält.
ROOT-
Stammzertifikate.
SPC-
Software Publisher-Zertifikat.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion ein Handle an den Zertifikatspeicher zurück.

Wenn die Funktion fehlschlägt, wird NULL-zurückgegeben. Rufen Sie für erweiterte Fehlerinformationen GetLastError-auf.

Hinweis Fehler aus der aufgerufenen Funktion CertOpenStore- an diese Funktion weitergegeben werden.
 

Bemerkungen

Nur auf aktuelle Benutzerzertifikate kann mithilfe dieser Methode zugegriffen werden, nicht auf den lokalen Computerspeicher.

Nachdem der Systemspeicher geöffnet wurde, können alle Standardzertifikatspeicherfunktionen verwendet werden, um die Zertifikate zu bearbeiten.

Nach der Verwendung sollte der Speicher mit CertCloseStore-geschlossen werden.

Weitere Informationen zu den stores, die automatisch migriert werden, finden Sie unter Zertifikatspeichermigration.

Beispiele

Das folgende Beispiel zeigt eine vereinfachte Methode zum Öffnen der am häufigsten verwendeten Systemzertifikatspeicher. Ein weiteres Beispiel, das diese Funktion verwendet, finden Sie unter Beispiel C-Programm: Zertifikatspeichervorgänge.

//--------------------------------------------------------------------
// Declare and initialize variables.

HCERTSTORE  hSystemStore;              // system store handle

//--------------------------------------------------------------------
// Open the CA system certificate store. The same call can be
// used with the name of a different system store, such as My or Root,
// as the second parameter.

if(hSystemStore = CertOpenSystemStore(
    0,
    "CA"))
{
  printf("The CA system store is open. Continue.\n");
}
else
{
  printf("The CA system store did not open.\n");
  exit(1);
}

// Use the store as needed.
// ...

// When done using the store, close it.
if(!CertCloseStore(hSystemStore, 0))
{
  printf("Unable to close the CA system store.\n");
  exit(1);
}

Anmerkung

Der wincrypt.h-Header definiert CertOpenSystemStore als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- wincrypt.h
Library Crypt32.lib
DLL- Crypt32.dll

Siehe auch

CertAddEncodedCertificateToStore

CertCloseStore-

CertGetCRLContextProperty

CertOpenStore-

CertSaveStore-

von Zertifikatspeicherfunktionen