dotnet dev-certs
Este artigo aplica-se a: ✔️ SDK do .NET Core 3.1 e versões posteriores
Nome
dotnet dev-certs
- Gera um certificado auto-assinado para permitir 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
Description
O dotnet dev-certs
comando gerencia um certificado autoassinado para habilitar o uso de HTTPS no desenvolvimento de aplicativos Web locais. As suas principais funções são:
- Geração de um certificado para uso com pontos de extremidade HTTPS durante o desenvolvimento.
- Confiar no certificado gerado na máquina local.
- Removendo o certificado gerado da máquina local.
- Exportar um certificado em vários formatos para que possa ser usado por outras ferramentas.
- Importar um certificado existente gerado pela ferramenta para a máquina local.
Comandos
https
dotnet dev-certs
tem apenas um comando:https
. Odotnet dev-certs https
comando sem opções verifica se um certificado de desenvolvimento está presente no armazenamento de certificados do usuário atual na máquina. 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 tempo de execução do .NET que pode ser alterado a qualquer momento. No macOS no .NET 7.0, o certificado é armazenado no conjunto 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
--trust
opção.Para criar um arquivo que você pode usar com outras ferramentas, use a
--export-path
opção.
Opções
-c|--check
Verifica a existência do certificado de desenvolvimento, mas não executa nenhuma ação. Use esta opção com a
--trust
opção para verificar se o certificado não é apenas válido, mas também confiável.--clean
Remove todos os certificados de desenvolvimento HTTPS do armazenamento de certificados usando a API de armazenamento de certificados .NET. Não remove nenhum arquivo físico que foi criado usando a
--export-path
opção. No macOS no .NET 7.0, odotnet dev-certs
comando 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 contêm já devem existir e o acesso a eles deve ser restrito. O tipo de arquivos de certificado que são 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 em 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 em formato PEM. O ficheiro de chave tem a extensão .key e está protegido pela palavra-passe fornecida. --export-path --no-password --format PEM
As partes pública e privada do certificado como um par de arquivos em formato PEM. O arquivo de chave tem a extensão .key e é exportado em texto sem formatação. A --no-password
opção destina-se apenas a testes internos.--format
Quando usado com
--export-path
o , especifica o formato do arquivo de certificado exportado. Os valores válidos sãoPFX
e , sem distinção entre maiúsculas ePEM
minúsculas.PFX
é a predefiniçã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 noPFX
formato.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 a máquina local. Requer que você também especifique a
--clean
opção, 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--password
opção.-np|--no-password
Não usa uma senha para a chave ao exportar um certificado para arquivos no formato PEM. O arquivo de chave é exportado em texto sem formatação. Esta opção não é aplicável a ficheiros PFX e destina-se apenas a 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
o , as partes pública e privada do certificado são exportadas como um par de arquivos no formato PEM. O ficheiro de chave tem a extensão .key e está protegido pela palavra-passe fornecida. Além do nome de arquivo especificado para a--export-path
opção, 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
Exiba apenas avisos e erros.
-t|--trust
Confia no certificado na máquina local.
Se essa opção não for especificada, o certificado será adicionado ao armazenamento de certificados, mas não a uma lista confiável.
Quando combinado com a
--check
opção, 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 armazenamento de certificados padrão, se ainda não existir. Mas não confie no certificado.
dotnet dev-certs https
Remova todos os certificados de desenvolvimento que já existem na máquina 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 na máquina 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