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 comando dotnet 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 local CurrentUser. 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 comando dotnet 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. 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ão PFX e PEM, 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 formato PFX.

    Para obter informações sobre o efeito dessa opção quando usada com --password, --no-passwordou 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
    

Confira também