Função CertSaveStore (wincrypt.h)

A função CertSaveStore salva o repositório de certificados em um arquivo ou em um BLOB de memória.

Sintaxe

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

Parâmetros

[in] hCertStore

O identificador do repositório de certificados a ser salvo.

[in] dwEncodingType

Especifica o tipo de codificação de certificado e o tipo de codificação de mensagem. A codificação é usada somente quando dwSaveAs contém CERT_STORE_SAVE_AS_PKCS7. Caso contrário, o parâmetro dwMsgAndCertEncodingType não será usado.

Esse parâmetro pode ser uma combinação de um ou mais dos valores a seguir.

Valor Significado
PKCS_7_ASN_ENCODING
65536 (0x10000)
Especifica a codificação de mensagens PKCS 7.
X509_ASN_ENCODING
1 (0x1)
Especifica a codificação de certificado X.509.

[in] dwSaveAs

Especifica como salvar o repositório de certificados.

Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
CERT_STORE_SAVE_AS_PKCS7
2
O repositório de certificados pode ser salvo como uma mensagem assinada PKCS nº 7 que não inclui propriedades adicionais. O parâmetro dwEncodingType especifica o tipo de codificação de mensagem.
CERT_STORE_SAVE_AS_STORE
1
O repositório de certificados pode ser salvo como um repositório serializado que contém propriedades, além de certificados codificados, CRLs ( listas de revogação de certificados ) e CTLs ( listas de confiança de certificado ). O parâmetro dwEncodingType é ignorado.
Nota A propriedade CERT_KEY_CONTEXT_PROP_ID e os valores de CERT_KEY_PROV_HANDLE_PROP_ID e CERT_KEY_SPEC_PROP_ID relacionados não são salvos em um repositório serializado.
 

[in] dwSaveTo

Especifica onde e como salvar o repositório de certificados. O conteúdo desse parâmetro determina o formato do parâmetro pvSaveToPara .

Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
CERT_STORE_SAVE_TO_FILE
1
A função salva o repositório de certificados em um arquivo. O parâmetro pvSaveToPara contém um identificador para um arquivo obtido anteriormente usando a função CreateFile . O arquivo deve ser aberto com permissão de gravação. Após uma operação de salvamento bem-sucedida, o ponteiro de arquivo é posicionado após a última operação de gravação.
CERT_STORE_SAVE_TO_FILENAME
4
A função salva o repositório de certificados em um arquivo. O parâmetro pvSaveToPara contém um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o caminho e o nome do arquivo no qual salvar. A função abre o arquivo, salva nele e o fecha.
CERT_STORE_SAVE_TO_FILENAME_A
3
A função salva o repositório de certificados em um arquivo. O parâmetro pvSaveToPara contém um ponteiro para uma cadeia de caracteres ANSI terminada em nulo que contém o caminho e o nome do arquivo no qual salvar. A função abre o arquivo, salva nele e o fecha.
CERT_STORE_SAVE_TO_FILENAME_W
4
A função salva o repositório de certificados em um arquivo. O parâmetro pvSaveToPara contém um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o caminho e o nome do arquivo no qual salvar. A função abre o arquivo, salva nele e o fecha.
CERT_STORE_SAVE_TO_MEMORY
2
A função salva o repositório de certificados em um BLOB de memória. O parâmetro pvSaveToPara contém um ponteiro para uma estrutura CERT_BLOB . Antes do uso, os membros pbData e cbData do CERT_BLOB devem ser inicializados. Após o retorno, cbData é atualizado com o comprimento real. Para um cálculo somente de comprimento, pbData deve ser definido como NULL. Se pbData não for NULL e cbData não for grande o suficiente, a função retornará zero com um último código de erro de ERROR_MORE_DATA.

[in, out] pvSaveToPara

Um ponteiro que representa onde o repositório deve ser salvo. O conteúdo desse parâmetro depende do valor do parâmetro dwSaveTo .

[in] dwFlags

Esse parâmetro é reservado para uso futuro e deve ser definido como zero.

Valor retornado

Se a função for bem-sucedida, a função retornará diferente de zero.

Se a função falhar, ela retornará zero. Para obter informações de erro estendidas, chame GetLastError.

Observe que os erros CreateFile ou WriteFile podem ser propagados para essa função. Um código de erro possível é CRYPT_E_FILE_ERROR que indica que ocorreu um erro ao gravar no arquivo.

Requisitos

   
Cliente mínimo com suporte Windows XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho wincrypt.h
Biblioteca Crypt32.lib
DLL Crypt32.dll

Confira também

CertCloseStore

Certopenstore

Funções de repositório de certificados

CreateFile

WriteFile