dotnet dev-certs
Este artigo se aplica a: ✔️ SDK do .NET Core 3.1 e versões posteriores
Nome
dotnet dev-certs
- Gera um certificado autoassinado para habilitar o uso de HTTPS no desenvolvimento.
Sinopse
dotnet dev-certs https
[-c|--check] [--clean] [-ep|--export-path <PATH>]
[--format] [-i|--import] [-np|--no-password]
[-p|--password] [-q|--quiet] [-t|--trust]
[-v|--verbose] [--version]
dotnet dev-certs https -h|--help
Descrição
O comando dotnet dev-certs
gerencia um certificado autoassinado para habilitar o uso de HTTPS no desenvolvimento local de aplicativos Web. Suas principais funções são:
- Gerando um certificado para uso com pontos de extremidade HTTPS durante o desenvolvimento.
- Confiar no certificado gerado no computador local.
- Remover o certificado gerado do computador local.
- Exportar um certificado em vários formatos para que ele possa ser usado por outras ferramentas.
- Importar um certificado existente gerado pela ferramenta para o computador local.
Comandos
https
dotnet dev-certs
tem apenas um comando:https
. O comandodotnet dev-certs https
sem opções verifica se um certificado de desenvolvimento está presente no repositório de certificados do usuário atual no computador. Se o comando encontrar um certificado de desenvolvimento, ele exibirá uma mensagem como o exemplo a seguir:A valid HTTPS certificate is already present.
Se o comando não encontrar um certificado de desenvolvimento, ele criará um no repositório de certificados do usuário atual, o repositório nomeado
My
no localCurrentUser
. O local físico do certificado é um detalhe de implementação do runtime do .NET que pode ser alterado a qualquer momento. No macOS no .NET 7.0, o certificado é armazenado na cadeia de chaves do usuário e como um arquivo PFX: ~/.aspnet/https-aspnetcore-localhost-<Thumbprint[0..5]>.pfx.Depois de criar um certificado, o comando exibe uma mensagem como o exemplo a seguir:
The HTTPS developer certificate was generated successfully.
Por padrão, o certificado recém-criado não é confiável. Para confiar no certificado, use a opção
--trust
.Para criar um arquivo que você pode usar com outras ferramentas, use a opção
--export-path
.
Opções
-c|--check
Verifica a existência do certificado de desenvolvimento, mas não executa nenhuma ação. Use essa opção com a opção
--trust
para verificar se o certificado não é apenas válido, mas também confiável.--clean
Remove todos os certificados de desenvolvimento HTTPS do repositório de certificados usando a API do repositório de certificados .NET. Não remove nenhum arquivo físico criado usando a opção
--export-path
. No macOS no .NET 7.0, o comandodotnet dev-certs
cria o certificado em um caminho no disco e a operação limpa remove esse arquivo de certificado.Se houver pelo menos um certificado no repositório de certificados, o comando exibirá uma mensagem como o exemplo a seguir:
Cleaning HTTPS development certificates from the machine. A prompt might get displayed to confirm the removal of some of the certificates. HTTPS development certificates successfully removed from the machine.
-ep|--export-path <PATH>
Exporta o certificado para um arquivo para que ele possa ser usado por outras ferramentas. Especifique o caminho completo para o arquivo de certificado exportado, incluindo o nome do arquivo. Os diretórios que os contêm já devem existir e o acesso a eles deve ser restrito. O tipo de arquivos de certificado criados depende de quais opções são usadas com
--export-path
:Opções O que é exportado --export-path
A parte pública do certificado como um arquivo PFX. --export-path --format PEM
A parte pública do certificado no formato PEM. Nenhum arquivo .key separado é criado. --export-path --password
As partes pública e privada do certificado como um arquivo PFX. --export-path --password --format PEM
As partes pública e privada do certificado como um par de arquivos no formato PEM. O arquivo de chave tem a extensão .key e é protegido pela senha fornecida. --export-path --no-password --format PEM
As partes pública e privada do certificado como um par de arquivos no formato PEM. O arquivo de chave tem a extensão .key e é exportado em texto sem formatação. A opção --no-password
destina-se somente ao uso de testes internos.--format
Quando usado com
--export-path
, especifica o formato do arquivo de certificado exportado. Os valores válidos sãoPFX
ePEM
, e não diferenciam maiúsculas de minúsculas.PFX
é o padrão.O formato de arquivo é independente da extensão de nome de arquivo. Por exemplo, se você especificar
--format pfx
e--export-path ./cert.pem
, obterá um arquivo chamado cert.pem no formatoPFX
.Para obter informações sobre o efeito dessa opção quando usada com
--password
,--no-password
ou sem qualquer uma dessas opções, consulte --export-path anteriormente neste artigo.-i|--import <PATH>
Importa o certificado de desenvolvimento HTTPS fornecido para o computador local. Requer que você também especifique a opção
--clean
, que limpa todos os certificados de desenvolvedor HTTPS existentes.PATH
especifica um caminho para um arquivo de certificado PFX. Forneça a senha com a opção--password
.-np|--no-password
Não usa uma senha para a chave ao exportar um certificado para arquivos de formato PEM. O arquivo de chaves é exportado sem formatação. Essa opção não é aplicável a arquivos PFX e destina-se apenas ao uso de testes internos.
-p|--password
Especifica a senha a ser usada:
- Ao exportar o certificado de desenvolvimento para um arquivo PFX ou PEM.
- Ao importar um arquivo .PFX.
Ao exportar com
--format PEM
, as partes pública e privada do certificado são exportadas como um par de arquivos no formato PEM. O arquivo de chave tem a extensão .key e é protegido pela senha fornecida. Além do nome do arquivo especificado para a opção--export-path
, o comando cria outro arquivo no mesmo diretório com o mesmo nome, mas uma extensão .key . Por exemplo, o comando a seguir gerará um arquivo chamado localhost.pem e um arquivo chamado localhost.key no diretório /home/user:dotnet dev-certs https --format pem -ep /home/user/localhost.pem -p $CREDENTIAL_PLACEHOLDER$
No exemplo,
$CREDENTIAL_PLACEHOLDER$
representa uma senha.-q|--quiet
Exibir somente avisos e erros.
-t|--trust
Confia no certificado no computador local.
Se essa opção não for especificada, o certificado será adicionado ao repositório de certificados, mas não a uma lista confiável.
Quando combinado com a opção
--check
, valida se o certificado é confiável.-v|--verbose
Exibir informações de depuração.
Exemplos
Verifique a presença de um certificado de desenvolvimento e crie um no repositório de certificados padrão se ele ainda não existir. Mas não confie no certificado.
dotnet dev-certs https
Remova todos os certificados de desenvolvimento que já existem no computador local.
dotnet dev-certs https --clean
Importe um arquivo PFX.
dotnet dev-certs https --clean --import ./certificate.pfx -p $CREDENTIAL_PLACEHOLDER$
No exemplo anterior,
$CREDENTIAL_PLACEHOLDER$
representa uma senha.Verifique se um certificado de desenvolvimento confiável está presente no computador local.
dotnet dev-certs https --check --trust
Crie um certificado, confie nele e exporte-o para um arquivo PFX.
dotnet dev-certs https -ep ./certificate.pfx -p $CREDENTIAL_PLACEHOLDER$ --trust
Crie um certificado, confie nele e exporte-o para um arquivo PEM.
dotnet dev-certs https -ep ./certificate.crt --trust --format PEM
Crie um certificado, confie nele e exporte-o para um arquivo PEM, incluindo a chave privada:
dotnet dev-certs https -ep ./certificate.crt -p $CREDENTIAL_PLACEHOLDER$ --trust --format PEM