Fonction CertSaveStore (wincrypt.h)

La fonction CertSaveStore enregistre le magasin de certificats dans un fichier ou dans un objet BLOB de mémoire.

Syntaxe

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

Paramètres

[in] hCertStore

Handle du magasin de certificats à enregistrer.

[in] dwEncodingType

Spécifie le type d’encodage de certificat et le type d’encodage de message. L’encodage est utilisé uniquement lorsque dwSaveAs contient CERT_STORE_SAVE_AS_PKCS7. Sinon, le paramètre dwMsgAndCertEncodingType n’est pas utilisé.

Ce paramètre peut être une combinaison d’une ou plusieurs des valeurs suivantes.

Valeur Signification
PKCS_7_ASN_ENCODING
65536 (0x10000)
Spécifie l’encodage des messages PKCS 7.
X509_ASN_ENCODING
1 (0x1)
Spécifie l’encodage du certificat X.509.

[in] dwSaveAs

Spécifie comment enregistrer le magasin de certificats.

Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
CERT_STORE_SAVE_AS_PKCS7
2
Le magasin de certificats peut être enregistré en tant que message signé PKCS #7 qui n’inclut pas de propriétés supplémentaires. Le paramètre dwEncodingType spécifie le type d’encodage du message.
CERT_STORE_SAVE_AS_STORE
1
Le magasin de certificats peut être enregistré en tant que magasin sérialisé contenant des propriétés en plus des certificats encodés, des listes de révocation de certificats (CRL) et des listes de certificats d’approbation (CTL). Le paramètre dwEncodingType est ignoré.
Note La propriété CERT_KEY_CONTEXT_PROP_ID et les valeurs CERT_KEY_PROV_HANDLE_PROP_ID et CERT_KEY_SPEC_PROP_ID associées ne sont pas enregistrées dans un magasin sérialisé.
 

[in] dwSaveTo

Spécifie où et comment enregistrer le magasin de certificats. Le contenu de ce paramètre détermine le format du paramètre pvSaveToPara .

Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
CERT_STORE_SAVE_TO_FILE
1
La fonction enregistre le magasin de certificats dans un fichier. Le paramètre pvSaveToPara contient un handle pour un fichier obtenu précédemment à l’aide de la fonction CreateFile . Le fichier doit être ouvert avec l’autorisation d’écriture. Après une opération d’enregistrement réussie, le pointeur de fichier est positionné après la dernière opération d’écriture.
CERT_STORE_SAVE_TO_FILENAME
4
La fonction enregistre le magasin de certificats dans un fichier. Le paramètre pvSaveToPara contient un pointeur vers une chaîne Unicode terminée par null qui contient le chemin d’accès et le nom de fichier du fichier dans lequel enregistrer. La fonction ouvre le fichier, l’enregistre et le ferme.
CERT_STORE_SAVE_TO_FILENAME_A
3
La fonction enregistre le magasin de certificats dans un fichier. Le paramètre pvSaveToPara contient un pointeur vers une chaîne ANSI terminée par null qui contient le chemin d’accès et le nom de fichier du fichier dans lequel enregistrer. La fonction ouvre le fichier, l’enregistre et le ferme.
CERT_STORE_SAVE_TO_FILENAME_W
4
La fonction enregistre le magasin de certificats dans un fichier. Le paramètre pvSaveToPara contient un pointeur vers une chaîne Unicode terminée par null qui contient le chemin d’accès et le nom de fichier du fichier dans lequel enregistrer. La fonction ouvre le fichier, l’enregistre et le ferme.
CERT_STORE_SAVE_TO_MEMORY
2
La fonction enregistre le magasin de certificats dans un objet BLOB mémoire. Le paramètre pvSaveToPara contient un pointeur vers une structure CERT_BLOB . Avant l’utilisation, les membres pbData et cbData du CERT_BLOB doivent être initialisés. Au retour, cbData est mis à jour avec la longueur réelle. Pour un calcul de longueur uniquement, pbData doit avoir la valeur NULL. Si pbData n’a pas la valeur NULL et que cbData n’est pas assez volumineux, la fonction retourne zéro avec un dernier code d’erreur de ERROR_MORE_DATA.

[in, out] pvSaveToPara

Pointeur qui représente l’emplacement dans lequel le magasin doit être enregistré. Le contenu de ce paramètre dépend de la valeur du paramètre dwSaveTo .

[in] dwFlags

Ce paramètre est réservé à une utilisation ultérieure et doit être défini sur zéro.

Valeur retournée

Si la fonction réussit, la fonction retourne une valeur différente de zéro.

Si la fonction échoue, elle retourne zéro. Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Notez que les erreurs CreateFile ou WriteFile peuvent être propagées à cette fonction. Un code d’erreur possible est CRYPT_E_FILE_ERROR qui indique qu’une erreur s’est produite lors de l’écriture dans le fichier.

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête wincrypt.h
Bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

CertCloseStore

CertOpenStore

Fonctions du magasin de certificats

CreateFile

WriteFile