Udostępnij za pośrednictwem


dotnet dev-certs

Ten artykuł dotyczy: ✔️ zestaw .NET 6 SDK i nowsze wersje

Nazwisko

dotnet dev-certs — Generuje certyfikat z podpisem własnym, aby umożliwić korzystanie z protokołu HTTPS w programowania.

Streszczenie

dotnet dev-certs https 
  [-c|--check] [--check-trust-machine-readable] 
  [--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

opis

Polecenie dotnet dev-certs zarządza certyfikatem z podpisem własnym, aby umożliwić używanie protokołu HTTPS w lokalnym tworzeniu aplikacji internetowych. Jego główne funkcje to:

  • Generowanie certyfikatu do użycia z punktami końcowymi HTTPS podczas programowania.
  • Ufanie wygenerowanemu certyfikatowi na komputerze lokalnym.
  • Usuwanie wygenerowanego certyfikatu z komputera lokalnego.
  • Eksportowanie certyfikatu w różnych formatach w celu użycia go przez inne narzędzia.
  • Importowanie istniejącego certyfikatu wygenerowanego przez narzędzie do komputera lokalnego.

Polecenia

  • https

    dotnet dev-certs ma tylko jedno polecenie: https. Polecenie dotnet dev-certs https bez opcji sprawdza, czy certyfikat dewelopera znajduje się w magazynie certyfikatów bieżącego użytkownika na maszynie. Jeśli polecenie znajdzie certyfikat dewelopera, zostanie wyświetlony komunikat podobny do następującego przykładu:

    A valid HTTPS certificate is already present.
    

    Jeśli polecenie nie znajdzie certyfikatu programistycznego, tworzy go w magazynie certyfikatów bieżącego użytkownika, magazynie o nazwie My w lokalizacji CurrentUser. Lokalizacja fizyczna certyfikatu to szczegóły implementacji środowiska uruchomieniowego platformy .NET, które może ulec zmianie w dowolnym momencie. W systemie macOS na platformie .NET 7.0 certyfikat jest przechowywany w łańcuchu kluczy użytkownika i jako plik PFX: ~/.aspnet/https-aspnetcore-localhost-Thumbprint<[0..5]>.pfx.

    Po utworzeniu certyfikatu polecenie wyświetli komunikat podobny do następującego przykładu:

    The HTTPS developer certificate was generated successfully.
    

    Domyślnie nowo utworzony certyfikat nie jest zaufany. Aby ufać certyfikatowi, użyj --trust opcji .

    W programie .NET 10 lub nowszym wygenerowany certyfikat dewelopera ASP.NET Core zawiera te alternatywne nazwy podmiotów (SAN).

    Nazwy *.dev.localhost SAN i *.dev.internal umożliwiają używanie certyfikatu z nazwami *.dev.localhost hostów i *.dev.internal do programowania lokalnego. Sieci host.docker.internal SAN i host.containers.internal umożliwiają korzystanie z certyfikatu w lokalnych scenariuszach programowania opartych na kontenerach:

    Typ Wartość
    nazwa DNS localhost
    nazwa DNS *.dev.localhost
    nazwa DNS *.dev.internal
    nazwa DNS host.docker.internal
    nazwa DNS host.containers.internal
    adres IP 127.0.0.1
    adres IP 0000:0000:0000:0000:0000:0000:0000:0001

    Aby utworzyć plik, którego można użyć z innymi narzędziami, użyj --export-path opcji .

Opcje

  • -c|--check

    Sprawdza istnienie certyfikatu dewelopera, ale nie wykonuje żadnej akcji. Użyj tej opcji z opcją --trust , aby sprawdzić, czy certyfikat jest nie tylko prawidłowy, ale także zaufany.

  • --check-trust-machine-readable

    Tak samo jak w przypadku uruchamiania --check --trustelementu , ale zwraca wyniki w formacie JSON.

  • --clean

    Usuwa wszystkie certyfikaty programistyczne HTTPS z magazynu certyfikatów przy użyciu interfejsu API magazynu certyfikatów platformy .NET. Nie usuwa żadnych plików fizycznych, które zostały utworzone przy użyciu --export-path opcji . W systemie macOS na platformie .NET 7.0 dotnet dev-certs polecenie tworzy certyfikat na ścieżce na dysku, a operacja czyszczenia usuwa ten plik certyfikatu.

    Jeśli w magazynie certyfikatów znajduje się co najmniej jeden certyfikat, polecenie wyświetli komunikat podobny do następującego przykładu:

    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>

    Eksportuje certyfikat do pliku, aby mógł być używany przez inne narzędzia. Określ pełną ścieżkę do wyeksportowanego pliku certyfikatu, w tym nazwę pliku. Katalogi zawierające muszą już istnieć i dostęp do nich powinien być ograniczony. Typ tworzonych plików certyfikatów zależy od tego, które opcje są używane z --export-path:

    Opcje Co zostało wyeksportowane
    --export-path Publiczna część certyfikatu jako plik PFX.
    --export-path --format PEM Publiczna część certyfikatu w formacie PEM. Nie utworzono oddzielnego pliku .key .
    --export-path --password Publiczne i prywatne części certyfikatu jako plik PFX.
    --export-path --password --format PEM Publiczne i prywatne części certyfikatu jako para plików w formacie PEM. Plik klucza ma rozszerzenie .key i jest chroniony przez podane hasło.
    --export-path --no-password --format PEM Publiczne i prywatne części certyfikatu jako para plików w formacie PEM. Plik klucza ma rozszerzenie .key i jest eksportowany w postaci zwykłego tekstu. Opcja jest przeznaczona --no-password tylko do użytku wewnętrznego.
    • --format

    W przypadku użycia z --export-pathprogramem określa format wyeksportowanego pliku certyfikatu. Prawidłowe wartości to PFX i PEM, bez uwzględniania wielkości liter. Wartość domyślna to PFX.

    Format pliku jest niezależny od rozszerzenia nazwy pliku. Jeśli na przykład określisz --format pfx wartości i --export-path ./cert.pem, otrzymasz plik o nazwie cert.pem w PFX formacie.

    Aby uzyskać informacje na temat wpływu tej opcji w przypadku używania z opcją , --passwordlub bez żadnej z --no-passwordtych opcji, zobacz --export-path wcześniej w tym artykule.

  • -i|--import <PATH>

    Importuje dostarczony certyfikat dewelopera HTTPS do komputera lokalnego. Wymaga również określenia --clean opcji, która usuwa wszystkie istniejące certyfikaty deweloperów HTTPS.

    PATH określa ścieżkę do pliku certyfikatu PFX. Podaj hasło z opcją --password .

  • -np|--no-password

    Nie używa hasła dla klucza podczas eksportowania certyfikatu do plików formatu PEM. Plik klucza jest eksportowany w postaci zwykłego tekstu. Ta opcja nie ma zastosowania do plików PFX i jest przeznaczona tylko do użytku wewnętrznego.

  • -p|--password

    Określa hasło do użycia:

    • Podczas eksportowania certyfikatu programistycznego do pliku PFX lub PEM.
    • Podczas importowania pliku PFX.

    Podczas eksportowania z --format PEMprogramem publiczne i prywatne części certyfikatu są eksportowane jako para plików w formacie PEM. Plik klucza ma rozszerzenie .key i jest chroniony przez podane hasło. Oprócz nazwy pliku określonej dla --export-path opcji polecenie tworzy inny plik w tym samym katalogu o tej samej nazwie, ale rozszerzenie .key . Na przykład następujące polecenie spowoduje wygenerowanie pliku o nazwie localhost.pem i pliku o nazwie localhost.key w katalogu /home/user:

    dotnet dev-certs https --format pem -ep /home/user/localhost.pem -p $CREDENTIAL_PLACEHOLDER$
    

    W tym przykładzie $CREDENTIAL_PLACEHOLDER$ reprezentuje hasło.

  • -q|--quiet

    Wyświetla tylko ostrzeżenia i błędy.

  • -t|--trust

    Ufa certyfikatowi na komputerze lokalnym.

    W programie .NET 10 lub nowszym, jeśli ta opcja jest uruchamiana w wystąpieniu podsystemu Windows dla systemu Linux (WSL), polecenie ufa również certyfikatowi na hoście systemu Windows.

    Jeśli ta opcja nie zostanie określona, certyfikat zostanie dodany do magazynu certyfikatów, ale nie do listy zaufanych.

    W połączeniu z opcją --check sprawdza, czy certyfikat jest zaufany.

  • -v|--verbose

    Wyświetl informacje o debugowaniu.

Przykłady

  • Sprawdź obecność certyfikatu programistycznego i utwórz go w domyślnym magazynie certyfikatów, jeśli jeszcze go nie istnieje. Nie ufaj jednak certyfikatowi.

    dotnet dev-certs https
    
  • Usuń wszystkie certyfikaty programistyczne, które już istnieją na komputerze lokalnym.

    dotnet dev-certs https --clean
    
  • Zaimportuj plik PFX.

    dotnet dev-certs https --clean --import ./certificate.pfx -p $CREDENTIAL_PLACEHOLDER$
    

    W poprzednim przykładzie $CREDENTIAL_PLACEHOLDER$ reprezentuje hasło.

  • Sprawdź, czy na komputerze lokalnym znajduje się zaufany certyfikat programowania.

    dotnet dev-certs https --check --trust
    
  • Utwórz certyfikat, ufaj mu i wyeksportuj go do pliku PFX.

    dotnet dev-certs https -ep ./certificate.pfx -p $CREDENTIAL_PLACEHOLDER$ --trust
    
  • Utwórz certyfikat, ufaj mu i wyeksportuj go do pliku PEM.

    dotnet dev-certs https -ep ./certificate.crt --trust --format PEM
    
  • Utwórz certyfikat, ufaj mu i wyeksportuj go do pliku PEM, w tym klucza prywatnego:

    dotnet dev-certs https -ep ./certificate.crt -p $CREDENTIAL_PLACEHOLDER$ --trust --format PEM
    

Zobacz też