Certmgr.exe (Ferramenta do Gestor de Certificados)
A ferramenta Gestor de Certificados (Certmgr.exe) gere certificados, listas de confiança de certificados (CTLs) e listas de revogação de certificados (CRLs).
O Gestor de Certificados é instalado com o SDK Windows 10. Para iniciar a ferramenta, utilize a Linha de Comandos para Programadores do Visual Studio ou o PowerShell para Programadores do Visual Studio.
Nota
A ferramenta Gestor de Certificados (Certmgr.exe) é um utilitário de linha de comandos, enquanto os Certificados (Certmgr.msc) são um snap-in da Consola de Gestão da Microsoft (MMC). Uma vez que o Certmgr.msc é geralmente encontrado no diretório do Sistema Windows, a introdução certmgr
na linha de comandos pode carregar o snap-in Certificados MMC, mesmo que tenha aberto a Linha de Comandos do Programador para Visual Studio. Isto ocorre porque o caminho para o snap-in precede o caminho para a ferramenta Gestor de Certificados na variável de Path
ambiente. Se encontrar este problema, pode executar Certmgr.exe comandos ao especificar o caminho para o executável, por exemplo, %ProgramFiles(x86)%\Windows Kits\10\bin\10.0.22000.0\arm64\certmgr.exe.
Para obter uma descrição geral dos certificados X.509, consulte Trabalhar com Certificados.
Syntax
Na linha de comandos, introduza o seguinte:
certmgr [/add | /del | /put] [options]
[/s[/r registryLocation]] [sourceStorename]
[/s[/r registryLocation]] [destinationStorename]
Parâmetros
Argumento | Description |
---|---|
sourceStorename | O arquivo de certificados que contém os certificados existentes, CTLs ou CRLs para adicionar, eliminar, guardar ou apresentar. Pode ser um ficheiro de arquivo ou um arquivo de sistemas. |
destinationStorename | O arquivo ou ficheiro de certificados de saída. |
Opção | Descrição |
---|---|
/add | Adiciona certificados, CTLs e CRLs a um arquivo de certificados. |
/all | Adiciona todas as entradas quando utilizadas com /add. Elimina todas as entradas quando utilizadas com /del. Apresenta todas as entradas quando utilizadas sem as opções /add ou /del . A opção /all não pode ser utilizada com /put. |
/c | Adiciona certificados quando utilizados com /add. Elimina certificados quando utilizados com /del. Guarda certificados quando utilizado com /put. Apresenta certificados quando utilizados sem a opção /add, /del ou /put . |
/CRL | Adiciona CRLs quando utilizados com /add. Elimina CRLs quando utilizado com /del. Guarda CRLs quando utilizado com /put. Apresenta CRLs quando utilizados sem a opção /add, /del ou /put . |
/CTL | Adiciona CTLs quando utilizado com /add. Elimina CTLs quando utilizado com /del. Guarda CTLs quando utilizado com /put. Apresenta CTLs quando utilizados sem a opção /add, /del ou /put . |
/del | Elimina certificados, CTLs e CRLs de um arquivo de certificados. |
/eencodingType | Especifica o tipo de codificação de certificado. A predefinição é X509_ASN_ENCODING . |
/fdwFlags | Especifica o sinalizador aberto do arquivo. Este é o parâmetro dwFlags transmitido para CertOpenStore. O valor predefinido é CERT_SYSTEM_STORE_CURRENT_USER. Esta opção só é considerada se for utilizada a opção /y . |
/h[elp] | Apresenta a sintaxe do comando e as opções da ferramenta. |
/nnam | Especifica o nome comum do certificado para adicionar, eliminar ou guardar. Esta opção só pode ser utilizada com certificados; não pode ser utilizado com CTLs ou CRLs. |
/put | Guarda um certificado X.509, CTL ou CRL de um arquivo de certificados num ficheiro. O ficheiro é guardado no formato X.509. Pode utilizar a opção /7 com a opção /put para guardar o ficheiro no formato PKCS #7. A opção /put tem de ser seguida por /c, /CTL ou /CRL. A opção /all não pode ser utilizada com /put. |
/rlocalização | Identifica a localização do registo do arquivo do sistema. Esta opção só é considerada se especificar a opção /s . A localização tem de ser uma das seguintes: - currentUser indica que o arquivo de certificados está na chave de HKEY_CURRENT_USER. Esta é a predefinição.- localMachine indica que o arquivo de certificados está na chave HKEY_LOCAL_MACHINE. |
/s | Indica que o arquivo de certificados é um arquivo de sistema. Se não especificar esta opção, o arquivo é considerado um StoreFile. |
/sha1sha1Hash | Especifica o hash SHA1 do certificado, CTL ou CRL para adicionar, eliminar ou guardar. |
/v | Especifica o modo verboso; apresenta informações detalhadas sobre certificados, CTLs e CRLs. Esta opção não pode ser utilizada com as opções /add, /del ou /put . |
fornecedor /y | Especifica o nome do fornecedor da loja. |
/7 | Guarda o arquivo de destino como um objeto PKCS #7. |
/? | Apresenta a sintaxe do comando e as opções da ferramenta. |
Observações
Certmgr.exe executa as seguintes funções básicas:
- Apresenta certificados, CTLs e CRLs na consola do .
- Adiciona certificados, CTLs e CRLs a um arquivo de certificados.
- Elimina certificados, CTLs e CRLs de um arquivo de certificados.
- Guarda um certificado X.509, CTL ou CRL de um arquivo de certificados num ficheiro.
Certmgr.exe funciona com dois tipos de arquivos de certificados: StoreFile e arquivo de sistema. Não é necessário especificar o tipo de arquivo de certificados; Certmgr.exe pode identificar o tipo de arquivo e efetuar as operações adequadas.
Executar Certmgr.exe sem especificar nenhuma opção inicia o snap-in certmgr.msc, que tem uma GUI que ajuda com as tarefas de gestão de certificados que também estão disponíveis a partir da linha de comandos. A GUI fornece um assistente de importação, que copia certificados, CTLs e CRLs do disco para um arquivo de certificados.
Pode encontrar os nomes dos arquivos X509Certificate para os sourceStorename
parâmetros e destinationStorename
ao compilar e executar o seguinte código.
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, veja Trabalhar com Certificados.
Exemplos
O comando seguinte apresenta um arquivo de sistema predefinido chamado my
com saída verbosa.
certmgr /v /s my
O comando seguinte adiciona todos os certificados num ficheiro chamado myFile.ext
a um novo ficheiro chamado newFile.ext
.
certmgr /add /all /c myFile.ext newFile.ext
O comando seguinte adiciona o certificado num ficheiro com o nome testcert.cer
ao arquivo do my
sistema.
certmgr /add /c testcert.cer /s my
O comando seguinte adiciona o certificado num ficheiro com o nome TrustedCert.cer
ao arquivo de certificados de raiz.
certmgr /c /add TrustedCert.cer /s root
O comando seguinte guarda um certificado com o nome myCert
comum no arquivo do my
sistema num ficheiro chamado newCert.cer
.
certmgr /add /c /n myCert /s my newCert.cer
O comando seguinte elimina todas as CTLs no arquivo do my
sistema e guarda o arquivo resultante num ficheiro chamado newStore.str
.
certmgr /del /all /ctl /s my newStore.str
O comando seguinte guarda um certificado no arquivo do my
sistema no ficheiro newFile
. Ser-lhe-á pedido que introduza o número do certificado de my
para colocar no newFile
.
certmgr /put /c /s my newFile
Ver também
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários