CertSaveStore-Funktion (wincrypt.h)

Die CertSaveStore-Funktion speichert den Zertifikatspeicher in einer Datei oder in einem Speicherblob.

Syntax

BOOL CertSaveStore(
  [in]      HCERTSTORE hCertStore,
  [in]      DWORD      dwEncodingType,
  [in]      DWORD      dwSaveAs,
  [in]      DWORD      dwSaveTo,
  [in, out] void       *pvSaveToPara,
  [in]      DWORD      dwFlags
);

Parameter

[in] hCertStore

Das Handle des zu speichernden Zertifikatspeichers.

[in] dwEncodingType

Gibt den Zertifikatcodierungstyp und den Nachrichtencodierungstyp an. Die Codierung wird nur verwendet, wenn dwSaveAsCERT_STORE_SAVE_AS_PKCS7 enthält. Andernfalls wird der dwMsgAndCertEncodingType-Parameter nicht verwendet.

Dieser Parameter kann eine Kombination aus mindestens einem der folgenden Werte sein.

Wert Bedeutung
PKCS_7_ASN_ENCODING
65536 (0x10000)
Gibt die PKCS 7-Nachrichtencodierung an.
X509_ASN_ENCODING
1 (0x1)
Gibt die X.509-Zertifikatcodierung an.

[in] dwSaveAs

Gibt an, wie der Zertifikatspeicher gespeichert wird.

Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
CERT_STORE_SAVE_AS_PKCS7
2
Der Zertifikatspeicher kann als PKCS #7-signierte Nachricht gespeichert werden, die keine zusätzlichen Eigenschaften enthält. Der dwEncodingType-Parameter gibt den Nachrichtencodierungstyp an.
CERT_STORE_SAVE_AS_STORE
1
Der Zertifikatspeicher kann als serialisierter Speicher gespeichert werden, der zusätzlich zu codierten Zertifikaten, Zertifikatsperrlisten (Certificate Revocation Lists , CRLs) und Zertifikatvertrauenslisten (CTLs ) Eigenschaften enthält. Der dwEncodingType-Parameter wird ignoriert.
Hinweis Die CERT_KEY_CONTEXT_PROP_ID-Eigenschaft und die zugehörigen CERT_KEY_PROV_HANDLE_PROP_ID - und CERT_KEY_SPEC_PROP_ID-Werte werden nicht in einem serialisierten Speicher gespeichert.
 

[in] dwSaveTo

Gibt an, wo und wie der Zertifikatspeicher gespeichert werden soll. Der Inhalt dieses Parameters bestimmt das Format des parameters pvSaveToPara .

Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
CERT_STORE_SAVE_TO_FILE
1
Die Funktion speichert den Zertifikatspeicher in einer Datei. Der parameter pvSaveToPara enthält ein Handle für eine Datei, die zuvor mithilfe der CreateFile-Funktion abgerufen wurde. Die Datei muss mit Schreibberechtigung geöffnet werden. Nach einem erfolgreichen Speichervorgang wird der Dateizeiger nach dem letzten Schreibvorgang positioniert.
CERT_STORE_SAVE_TO_FILENAME
4
Die Funktion speichert den Zertifikatspeicher in einer Datei. Der parameter pvSaveToPara enthält einen Zeiger auf eine Unicode-Zeichenfolge mit Null-Beendigung, die den Pfad und den Dateinamen der Datei enthält, in der gespeichert werden soll. Die Funktion öffnet die Datei, speichert sie und schließt sie.
CERT_STORE_SAVE_TO_FILENAME_A
3
Die Funktion speichert den Zertifikatspeicher in einer Datei. Der parameter pvSaveToPara enthält einen Zeiger auf eine NULL-beendete ANSI-Zeichenfolge, die den Pfad und dateinamen der Datei enthält, in der gespeichert werden soll. Die Funktion öffnet die Datei, speichert sie und schließt sie.
CERT_STORE_SAVE_TO_FILENAME_W
4
Die Funktion speichert den Zertifikatspeicher in einer Datei. Der parameter pvSaveToPara enthält einen Zeiger auf eine Unicode-Zeichenfolge mit Null-Beendigung, die den Pfad und den Dateinamen der Datei enthält, in der gespeichert werden soll. Die Funktion öffnet die Datei, speichert sie und schließt sie.
CERT_STORE_SAVE_TO_MEMORY
2
Die Funktion speichert den Zertifikatspeicher in einem Speicherblob. Der parameter pvSaveToPara enthält einen Zeiger auf eine CERT_BLOB-Struktur . Vor der Verwendung müssen die pbData- und cbData-Member des CERT_BLOB initialisiert werden. Nach der Rückgabe wird cbData mit der tatsächlichen Länge aktualisiert. Für eine Berechnung mit nur längenbasierter Länge muss pbData auf NULL festgelegt werden. Wenn pbData nicht NULL und cbData nicht groß genug ist, gibt die Funktion null mit dem letzten Fehlercode ERROR_MORE_DATA zurück.

[in, out] pvSaveToPara

Ein Zeiger, der angibt, wo der Speicher gespeichert werden soll. Der Inhalt dieses Parameters hängt vom Wert des dwSaveTo-Parameters ab.

[in] dwFlags

Dieser Parameter ist für die zukünftige Verwendung reserviert und muss auf null festgelegt werden.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion nonzero zurück.

Wenn die Funktion fehlschlägt, gibt sie null zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

Beachten Sie, dass CreateFile- oder WriteFile-Fehler an diese Funktion weitergegeben werden können. Ein möglicher Fehlercode ist CRYPT_E_FILE_ERROR der angibt, dass beim Schreiben in die Datei ein Fehler aufgetreten ist.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h
Bibliothek Crypt32.lib
DLL Crypt32.dll

Weitere Informationen

CertCloseStore

CertOpenStore

Zertifikatspeicherfunktionen

CreateFile

WriteFile