Funzione CertSaveStore (wincrypt.h)

La funzione CertSaveStore salva l'archivio certificati in un file o in un BLOB di memoria.

Sintassi

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

Parametri

[in] hCertStore

Handle dell'archivio certificati da salvare.

[in] dwEncodingType

Specifica il tipo di codifica del certificato e il tipo di codifica dei messaggi. La codifica viene usata solo quando dwSaveAs contiene CERT_STORE_SAVE_AS_PKCS7. In caso contrario, il parametro dwMsgAndCertEncodingType non viene usato.

Questo parametro può essere una combinazione di uno o più dei valori seguenti.

Valore Significato
PKCS_7_ASN_ENCODING
65536 (0x10000)
Specifica la codifica dei messaggi PKCS 7.
X509_ASN_ENCODING
1 (0x1)
Specifica la codifica del certificato X.509.

[in] dwSaveAs

Specifica come salvare l'archivio certificati.

Questo parametro può avere uno dei valori seguenti.

Valore Significato
CERT_STORE_SAVE_AS_PKCS7
2
L'archivio certificati può essere salvato come messaggio firmato PKCS #7 che non include proprietà aggiuntive. Il parametro dwEncodingType specifica il tipo di codifica del messaggio.
CERT_STORE_SAVE_AS_STORE
1
L'archivio certificati può essere salvato come archivio serializzato contenente proprietà oltre ai certificati codificati, agli elenchi di revoche di certificati (CRL) e agli elenchi di certificati attendibili (CRL). Il parametro dwEncodingType viene ignorato.
Nota La proprietà CERT_KEY_CONTEXT_PROP_ID e i valori CERT_KEY_PROV_HANDLE_PROP_ID e CERT_KEY_SPEC_PROP_ID correlati non vengono salvati in un archivio serializzato.
 

[in] dwSaveTo

Specifica dove e come salvare l'archivio certificati. Il contenuto di questo parametro determina il formato del parametro pvSaveToPara .

Questo parametro può avere uno dei valori seguenti.

Valore Significato
CERT_STORE_SAVE_TO_FILE
1
La funzione salva l'archivio certificati in un file. Il parametro pvSaveToPara contiene un handle per un file ottenuto in precedenza usando la funzione CreateFile . Il file deve essere aperto con l'autorizzazione di scrittura. Dopo un'operazione di salvataggio completata, il puntatore al file viene posizionato dopo l'ultima operazione di scrittura.
CERT_STORE_SAVE_TO_FILENAME
4
La funzione salva l'archivio certificati in un file. Il parametro pvSaveToPara contiene un puntatore a una stringa Unicode con terminazione Null contenente il percorso e il nome file del file in cui salvare. La funzione apre il file, lo salva e lo chiude.
CERT_STORE_SAVE_TO_FILENAME_A
3
La funzione salva l'archivio certificati in un file. Il parametro pvSaveToPara contiene un puntatore a una stringa ANSI con terminazione Null che contiene il percorso e il nome file del file in cui salvare. La funzione apre il file, lo salva e lo chiude.
CERT_STORE_SAVE_TO_FILENAME_W
4
La funzione salva l'archivio certificati in un file. Il parametro pvSaveToPara contiene un puntatore a una stringa Unicode con terminazione Null contenente il percorso e il nome file del file in cui salvare. La funzione apre il file, lo salva e lo chiude.
CERT_STORE_SAVE_TO_MEMORY
2
La funzione salva l'archivio certificati in un BLOB di memoria. Il parametro pvSaveToPara contiene un puntatore a una struttura CERT_BLOB . Prima di usare, è necessario inizializzare i membri pbData e cbData del CERT_BLOB. Al termine della restituzione, cbData viene aggiornato con la lunghezza effettiva. Per un calcolo di sola lunghezza, pbData deve essere impostato su NULL. Se pbData non è NULL e cbData non è sufficientemente grande, la funzione restituisce zero con un ultimo codice di errore di ERROR_MORE_DATA.

[in, out] pvSaveToPara

Puntatore che rappresenta la posizione in cui salvare l'archivio. Il contenuto di questo parametro dipende dal valore del parametro dwSaveTo .

[in] dwFlags

Questo parametro è riservato per uso futuro e deve essere impostato su zero.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero.

Se la funzione ha esito negativo, restituisce zero. Per informazioni sugli errori estesi, chiamare GetLastError.

Si noti che gli errori CreateFile o WriteFile possono essere propagati a questa funzione. Un possibile codice di errore è CRYPT_E_FILE_ERROR che indica che si è verificato un errore durante la scrittura nel file.

Requisiti

   
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Crypt32.lib
DLL Crypt32.dll

Vedi anche

CertCloseStore

CertOpenStore

Funzioni dell'archivio certificati

CreateFile

WriteFile