Freigeben über


CertOpenSystemStoreW-Funktion (wincrypt.h)

Die CertOpenSystemStore-Funktion ist eine vereinfachte Funktion, die den gängigsten Systemzertifikatspeicher öffnet. Verwenden Sie CertOpenStore, um Zertifikatspeicher mit komplexeren Anforderungen zu öffnen, z. B. dateibasierte oder speicherbasierte Speicher.

Syntax

HCERTSTORE CertOpenSystemStoreW(
  [in] HCRYPTPROV_LEGACY hProv,
  [in] LPCWSTR           szSubsystemProtocol
);

Parameter

[in] hProv

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

Windows Server 2003 und Windows XP: Ein Handle eines Kryptografiedienstanbieters (CSP). Legen Sie hProv auf 0 fest, um den Standard-CSP zu verwenden. Wenn hProv nicht 0 ist, muss es sich um ein CSP-Handle sein, das mithilfe der CryptAcquireContext-Funktion erstellt wurde. 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 kann verwendet werden, um die Namen vorhandener Systemspeicher aufzulisten. Einige Beispielsystemspeicher sind in der folgenden Tabelle aufgeführt.

Wert Bedeutung
CA
Zertifizierungsstellenzertifikate .
MEINE
Ein Zertifikatspeicher, der Zertifikate mit zugeordneten privaten Schlüsseln enthält.
WURZEL
Stammzertifikate.
SPC
SoftwareHerausgeberzertifikat.

Rückgabewert

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

Wenn bei der Funktion ein Fehler auftritt, gibt sie NULL zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

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

Hinweise

Nur auf aktuelle Benutzerzertifikate kann mit dieser Methode zugegriffen werden, nicht über 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 Automatisch migrierten Speicher finden Sie unter Migration des Zertifikatspeichers.

Beispiele

Das folgende Beispiel zeigt eine vereinfachte Methode zum Öffnen der gängigsten 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);
}

Hinweis

Der wincrypt.h-Header definiert CertOpenSystemStore als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code 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
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h
Bibliothek Crypt32.lib
DLL Crypt32.dll

Weitere Informationen

CertAddEncodedCertificateToStore

CertCloseStore

CertGetCRLContextProperty

CertOpenStore

CertSaveStore

Zertifikatspeicherfunktionen