Partilhar via


Certmgr.exe (Ferramenta Gerenciador de Certificados)

A ferramenta Gerenciador de Certificados (Certmgr.exe) gerencia certificados, listas de certificados confiáveis (CTLs) e listas de revogação de certificados (CRLs).

O Gerenciador de Certificados é instalado com o SDK do Windows 10. Para iniciar a ferramenta, use o Visual Studio Developer Command Prompt ou o Visual Studio Developer PowerShell.

Nota

A ferramenta Gerenciador de Certificados (Certmgr.exe) é um utilitário de linha de comando, enquanto Certificados (Certmgr.msc) é um snap-in do MMC (Console de Gerenciamento Microsoft). Como Certmgr.msc geralmente é encontrado no diretório Sistema Windows, entrar certmgr na linha de comando pode carregar o snap-in Certificados MMC, mesmo que você tenha aberto o prompt de comando do desenvolvedor para Visual Studio. Isso ocorre porque o caminho para o snap-in precede o caminho para a ferramenta Gerenciador de Certificados na Path variável de ambiente. Se você encontrar esse problema, você pode executar comandos Certmgr.exe especificando o caminho para o executável, por exemplo, %ProgramFiles(x86)%\Windows Kits\10\bin\10.0.22000.0\arm64\certmgr.exe.

Para obter uma visão geral dos certificados X.509, consulte Trabalhando com certificados.

Sintaxe

No prompt de comando, digite o seguinte:

certmgr [/add | /del | /put] [options]
[/s[/r registryLocation]] [sourceStorename]
[/s[/r registryLocation]] [destinationStorename]

Parâmetros

Argumento Description
sourceStorename O armazenamento de certificados que contém os certificados, CTLs ou CRLs existentes para adicionar, excluir, salvar ou exibir. Pode ser um arquivo de armazenamento ou um armazenamento de sistemas.
destinationNome da loja O arquivo ou armazenamento de certificados de saída.
Opção Description
/adicionar Adiciona certificados, CTLs e CRLs a um repositório de certificados.
/todos Adiciona todas as entradas quando usado com /add. Exclui todas as entradas quando usado com /del. Exibe todas as entradas quando usadas sem as opções /add ou /del . A opção /all não pode ser usada com /put.
/c Adiciona certificados quando usado com /add. Exclui certificados quando usado com /del. Salva certificados quando usado com /put. Exibe certificados quando usados sem a opção /add, /del ou /put .
/CRL Adiciona CRLs quando usado com /add. Exclui CRLs quando usado com /del. Salva CRLs quando usado com /put. Exibe CRLs quando usadas sem a opção /add, /del ou /put.
/CTL Adiciona CTLs quando usado com /add. Exclui CTLs quando usado com /del. Salva CTLs quando usado com /put. Exibe CTLs quando usado sem a opção /add, /del ou /put.
/del Exclui certificados, CTLs e CRLs de um armazenamento de certificados.
/e encodingType Especifica o tipo de codificação do certificado. A predefinição é X509_ASN_ENCODING.
/f dwFlags Especifica o sinalizador de abertura da loja. Este é o parâmetro dwFlags passado para CertOpenStore. O valor padrão é CERT_SYSTEM_STORE_CURRENT_USER. Esta opção só é considerada se for utilizada a opção /y .
/h[ELP] Exibe a sintaxe do comando e as opções da ferramenta.
/n Nam Especifica o nome comum do certificado a ser adicionado, excluído ou salvo. Esta opção só pode ser utilizada com certificados; ele não pode ser usado com CTLs ou CRLs.
/colocar Salva um certificado X.509, CTL ou CRL de um armazenamento de certificados em um arquivo. O ficheiro é guardado no formato X.509. Você pode usar a opção /7 com a opção /put para salvar o arquivo no formato PKCS #7. A opção /put deve ser seguida por /c, /CTL ou /CRL. A opção /all não pode ser usada com /put.
/r localização Identifica o local do registro do armazenamento do sistema. Esta opção é considerada somente se você especificar a opção /s . A localização deve ser uma das seguintes:

- currentUser Indica que o armazenamento de certificados está sob a chave HKEY_CURRENT_USER. Esta é a predefinição.
- localMachine Indica que o armazenamento de certificados está sob a chave HKEY_LOCAL_MACHINE.
/s Indica que o armazenamento de certificados é um armazenamento do sistema. Se você não especificar essa opção, o repositório será considerado um StoreFile.
/sha1 sha1Hash Especifica o hash SHA1 do certificado, CTL ou CRL a ser adicionado, excluído ou salvo.
/v Especifica o modo detalhado; exibe informações detalhadas sobre certificados, CTLs e CRLs. Esta opção não pode ser usada com as opções /add, /del ou /put.
/y provedor Especifica o nome do provedor de armazenamento.
/7 Salva o armazenamento de destino como um objeto PKCS #7.
/? Exibe a sintaxe do comando e as opções da ferramenta.

Observações

Certmgr.exe executa as seguintes funções básicas:

  • Exibe certificados, CTLs e CRLs no console.
  • Adiciona certificados, CTLs e CRLs a um repositório de certificados.
  • Exclui certificados, CTLs e CRLs de um armazenamento de certificados.
  • Salva um certificado X.509, CTL ou CRL de um armazenamento de certificados em um arquivo.

Certmgr.exe funciona com dois tipos de armazenamentos de certificados: StoreFile e armazenamento do sistema. Não é necessário especificar o tipo de armazenamento de certificados; Certmgr.exe pode identificar o tipo de loja e executar as operações apropriadas.

Executar Certmgr.exe sem especificar nenhuma opção inicia o snap-in certmgr.msc, que tem uma GUI que ajuda com as tarefas de gerenciamento de certificados que também estão disponíveis na linha de comando. A GUI fornece um assistente de importação, que copia certificados, CTLs e CRLs do disco para um armazenamento de certificados.

Você pode encontrar os nomes dos repositórios X509Certificate para os sourceStorename parâmetros e destinationStorename compilando e executando o código a seguir.

using System;
using System.Security.Cryptography.X509Certificates;

public class Example
{
   public static void Main()
   {
      foreach (var storeValue in Enum.GetValues(typeof(StoreName))) {
         X509Store store = new X509Store((StoreName) storeValue);
         store.Open(OpenFlags.ReadOnly);
         Console.WriteLine(store.Name);
      }
   }
}
Imports System.Security.Cryptography.X509Certificates

Module Example
    Public Sub Main()
        For Each storeValue In [Enum].GetValues(GetType(StoreName))
            Dim store As New X509Store(CType(storeValue, StoreName))
            store.Open(OpenFlags.ReadOnly)
            Console.WriteLine(store.Name)
        Next
    End Sub
End Module

Para obter mais informações sobre certificados, consulte Trabalhando com certificados.

Exemplos

O comando a seguir exibe um armazenamento de sistema padrão chamado my com saída detalhada.

certmgr /v /s my

O comando a seguir adiciona todos os certificados em um arquivo chamado myFile.ext para um novo arquivo chamado newFile.ext.

certmgr /add /all /c myFile.ext newFile.ext

O comando a seguir adiciona o certificado em um arquivo chamado testcert.cer para o armazenamento do my sistema.

certmgr /add /c testcert.cer /s my

O comando a seguir adiciona o certificado em um arquivo chamado TrustedCert.cer ao armazenamento de certificados raiz.

certmgr /c /add TrustedCert.cer /s root

O comando a seguir salva um certificado com o nome myCert comum no armazenamento do my sistema em um arquivo chamado newCert.cer.

certmgr /add /c /n myCert /s my newCert.cer

O comando a seguir exclui todas as CTLs no armazenamento do my sistema e salva o armazenamento resultante em um arquivo chamado newStore.str.

certmgr /del /all /ctl /s my newStore.str

O comando a seguir salva um certificado no armazenamento do my sistema no arquivo newFile. Você será solicitado a inserir o número do certificado de my para colocar em newFile.

certmgr /put /c /s my newFile

Consulte também