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 |
---|---|
|
Gibt die PKCS 7-Nachrichtencodierung an. |
|
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 |
---|---|
|
Der Zertifikatspeicher kann als PKCS #7-signierte Nachricht gespeichert werden, die keine zusätzlichen Eigenschaften enthält. Der dwEncodingType-Parameter gibt den Nachrichtencodierungstyp an. |
|
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 |
---|---|
|
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. |
|
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. |
|
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. |
|
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. |
|
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 |