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 |
---|---|
|
Zertifizierungsstellenzertifikate . |
|
Ein Zertifikatspeicher, der Zertifikate mit zugeordneten privaten Schlüsseln enthält. |
|
Stammzertifikate. |
|
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.
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 |