Delen via


dotnet dev-certs

Dit artikel is van toepassing op: ✔️ .NET Core 3.1 SDK en latere versies

Naam

dotnet dev-certs - Genereert een zelfondertekend certificaat om HTTPS-gebruik in ontwikkeling in te schakelen.

Synopsis

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

Beschrijving

Met de dotnet dev-certs opdracht wordt een zelfondertekend certificaat beheerd om HTTPS-gebruik in te schakelen in de ontwikkeling van lokale web-apps. De belangrijkste functies zijn:

  • Een certificaat genereren voor gebruik met HTTPS-eindpunten tijdens de ontwikkeling.
  • Het gegenereerde certificaat op de lokale computer vertrouwen.
  • Het gegenereerde certificaat verwijderen van de lokale computer.
  • Een certificaat in verschillende indelingen exporteren, zodat het door andere hulpprogramma's kan worden gebruikt.
  • Het importeren van een bestaand certificaat dat door het hulpprogramma is gegenereerd in de lokale computer.

Opdracht

  • https

    dotnet dev-certs heeft slechts één opdracht: https. Met dotnet dev-certs https de opdracht zonder opties wordt gecontroleerd of een ontwikkelingscertificaat aanwezig is in het certificaatarchief van de huidige gebruiker op de computer. Als met de opdracht een ontwikkelingscertificaat wordt gevonden, wordt een bericht weergegeven zoals in het volgende voorbeeld:

    A valid HTTPS certificate is already present.
    

    Als de opdracht geen ontwikkelingscertificaat vindt, wordt er een gemaakt in het certificaatarchief van de huidige gebruiker, het archief met de naam My op de locatie CurrentUser. De fysieke locatie van het certificaat is een implementatiedetail van de .NET-runtime die op elk gewenst moment kan worden gewijzigd. Op macOS in .NET 7.0 wordt het certificaat opgeslagen in de gebruikerssleutelketen en als pfx-bestand: ~/.aspnet/https-aspnetcore-localhost-Thumbprint<[0..5]>.pfx.

    Nadat u een certificaat hebt gemaakt, wordt met de opdracht een bericht weergegeven zoals in het volgende voorbeeld:

    The HTTPS developer certificate was generated successfully.
    

    Standaard wordt het zojuist gemaakte certificaat niet vertrouwd. Gebruik de --trust optie om het certificaat te vertrouwen.

    Als u een bestand wilt maken dat u met andere hulpprogramma's kunt gebruiken, gebruikt u de --export-path optie.

Opties

  • -c|--check

    Controleert op het bestaan van het ontwikkelingscertificaat, maar er wordt geen actie uitgevoerd. Gebruik deze optie met de --trust optie om te controleren of het certificaat niet alleen geldig maar ook vertrouwd is.

  • --clean

    Verwijdert alle HTTPS-ontwikkelingscertificaten uit het certificaatarchief met behulp van de API voor het .NET-certificaatarchief. Verwijdert geen fysieke bestanden die zijn gemaakt met behulp van de --export-path optie. In macOS in .NET 7.0 wordt met de dotnet dev-certs opdracht het certificaat op een pad op schijf gemaakt en wordt dat certificaatbestand verwijderd.

    Als er ten minste één certificaat in het certificaatarchief staat, wordt met de opdracht een bericht weergegeven zoals in het volgende voorbeeld:

    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>

    Hiermee exporteert u het certificaat naar een bestand, zodat het door andere hulpprogramma's kan worden gebruikt. Geef het volledige pad naar het geëxporteerde certificaatbestand op, inclusief de bestandsnaam. Het type certificaatbestanden dat wordt gemaakt, is afhankelijk van de opties die worden gebruikt met --export-path:

    Opties Wat wordt geëxporteerd
    --export-path Het openbare deel van het certificaat als een PFX-bestand.
    --export-path --format PEM Het openbare deel van het certificaat in PEM-indeling. Er wordt geen afzonderlijk .key-bestand gemaakt.
    --export-path --password De openbare en persoonlijke delen van het certificaat als pfx-bestand.
    --export-path --password --format PEM De openbare en persoonlijke delen van het certificaat als een paar bestanden in PEM-indeling. Het sleutelbestand heeft de extensie .key en wordt beveiligd door het opgegeven wachtwoord.
    --export-path --no-password --format PEM De openbare en persoonlijke delen van het certificaat als een paar bestanden in PEM-indeling. Het sleutelbestand heeft de extensie .key en wordt geëxporteerd als tekst zonder opmaak. De --no-password optie is alleen bedoeld voor intern testgebruik.
    • --format

    Bij gebruik met --export-pathgeeft u de indeling van het geëxporteerde certificaatbestand op. Geldige waarden zijn PFX en PEM, niet hoofdlettergevoelig. PFX is de standaardwaarde.

    De bestandsindeling is onafhankelijk van de bestandsextensie. Als u bijvoorbeeld en opgeeft --format pfx--export-path ./cert.pem, krijgt u een bestand met de naam cert.pem in PFX de indeling.

    Zie --export-path eerder in dit artikel voor informatie over het effect van deze optie bij gebruik --passwordmet , --no-passwordof zonder een van deze opties.

  • -i|--import <PATH>

    Hiermee importeert u het opgegeven HTTPS-ontwikkelingscertificaat op de lokale computer. Vereist dat u ook de --clean optie opgeeft, waarmee eventuele bestaande HTTPS-ontwikkelaarscertificaten worden gewist.

    PATH hiermee geeft u een pad naar een PFX-certificaatbestand. Geef de optie op voor het --password wachtwoord.

  • -np|--no-password

    Gebruikt geen wachtwoord voor de sleutel bij het exporteren van een certificaat naar PEM-indelingsbestanden. Het sleutelbestand wordt geëxporteerd als tekst zonder opmaak. Deze optie is niet van toepassing op PFX-bestanden en is alleen bedoeld voor intern testgebruik.

  • -p|--password

    Hiermee geeft u het wachtwoord op dat moet worden gebruikt:

    • Bij het exporteren van het ontwikkelingscertificaat naar een PFX- of PEM-bestand.
    • Bij het importeren van een PFX-bestand.

    Bij het exporteren met --format PEMworden de openbare en persoonlijke delen van het certificaat geëxporteerd als een paar bestanden in PEM-indeling. Het sleutelbestand heeft de extensie .key en wordt beveiligd door het opgegeven wachtwoord. Naast de bestandsnaam die is opgegeven voor de --export-path optie, maakt de opdracht een ander bestand in dezelfde map met dezelfde naam, maar met de extensie .key . Met de volgende opdracht wordt bijvoorbeeld een bestand met de naam localhost.pem en een bestand met de naam localhost.key gegenereerd in de map /home/user :

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

    In het voorbeeld $CREDENTIAL_PLACEHOLDER$ vertegenwoordigt u een wachtwoord.

  • -q|--quiet

    Alleen waarschuwingen en fouten weergeven.

  • -t|--trust

    Vertrouwt het certificaat op de lokale computer.

    Als deze optie niet is opgegeven, wordt het certificaat toegevoegd aan het certificaatarchief, maar niet aan een vertrouwde lijst.

    In combinatie met de --check optie wordt gevalideerd of het certificaat wordt vertrouwd.

  • -v|--verbose

    Foutopsporingsgegevens weergeven.

Voorbeelden

  • Controleer op de aanwezigheid van een ontwikkelingscertificaat en maak er een in het standaardcertificaatarchief als dit nog niet bestaat. Maar vertrouw het certificaat niet.

    dotnet dev-certs https
    
  • Verwijder alle ontwikkelingscertificaten die al aanwezig zijn op de lokale computer.

    dotnet dev-certs https --clean
    
  • Een PFX-bestand importeren.

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

    In het voorgaande voorbeeld $CREDENTIAL_PLACEHOLDER$ vertegenwoordigt een wachtwoord.

  • Controleer of er een vertrouwd ontwikkelingscertificaat aanwezig is op de lokale computer.

    dotnet dev-certs https --check --trust
    
  • Maak een certificaat, vertrouw het en exporteer het naar een PFX-bestand.

    dotnet dev-certs https -ep ./certificate.pfx -p $CREDENTIAL_PLACEHOLDER$ --trust
    
  • Maak een certificaat, vertrouw het en exporteer het naar een PEM-bestand.

    dotnet dev-certs https -ep ./certificate.crt --trust --format PEM
    
  • Maak een certificaat, vertrouw het en exporteer het naar een PEM-bestand, inclusief de persoonlijke sleutel:

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

Zie ook