dotnet dev-certs

Dieser Artikel gilt für: ✔️ .NET Core 3.1 SDK und höher

Name

dotnet dev-certs generiert ein selbstsigniertes Zertifikat, um die HTTPS-Verwendung in der Entwicklung zu ermöglichen.

Übersicht

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

Beschreibung

Der Befehl dotnet dev-certs verwaltet ein selbstsigniertes Zertifikat, um die HTTPS-Verwendung in der lokalen Web-App-Entwicklung zu ermöglichen. Seine Hauptfunktionen sind:

  • Generieren eines Zertifikats für die Verwendung mit HTTPS-Endpunkten während der Entwicklung
  • Einstufen des generierten Zertifikats auf dem lokalen Computer als vertrauenswürdig
  • Entfernen des generierten Zertifikats vom lokalen Computer
  • Exportieren eines Zertifikats in verschiedenen Formaten, damit es von anderen Tools verwendet werden kann
  • Importieren eines vorhandenen Zertifikats, das vom Tool auf den lokalen Computer generiert wird

Befehle

  • https

    dotnet dev-certs hat nur einen Befehl: https. Der dotnet dev-certs https-Befehl ohne Optionen überprüft, ob ein Entwicklungszertifikat im Zertifikatspeicher des aktuellen Benutzers oder der aktuellen Benutzerin auf dem Computer vorhanden ist. Wenn der Befehl ein Entwicklungszertifikat ermittelt, wird eine Meldung wie im folgenden Beispiel angezeigt:

    A valid HTTPS certificate is already present.
    

    Wenn der Befehl kein Entwicklungszertifikat ermittelt, erstellt er ein Zertifikat im Zertifikatspeicher des aktuellen Benutzers oder der aktuellen Benutzerin. Dabei handelt es sich um den Speicher mit dem Namen My am Speicherort CurrentUser. Der physische Speicherort des Zertifikats ist ein Implementierungsdetail der .NET-Runtime, das sich jederzeit ändern kann. Unter macOS in .NET 7.0 wird das Zertifikat in der Keychain des Benutzers bzw. der Benutzerin und als PFX-Datei gespeichert: ~/.aspnet/https-aspnetcore-localhost-<Thumbprint[0..5]>.pfx.

    Nach dem Erstellen eines Zertifikats zeigt der Befehl eine Meldung wie im folgenden Beispiel an:

    The HTTPS developer certificate was generated successfully.
    

    Standardmäßig wird das neu erstellte Zertifikat als nicht vertrauenswürdig eingestuft. Verwenden Sie die Option --trust, um das Zertifikat als vertrauenswürdig einzustufen.

    Verwenden Sie die Option --export-path, um eine Datei zu erstellen, die Sie mit anderen Tools verwenden können.

Optionen

  • -c|--check

    Diese Option überprüft, ob das Entwicklungszertifikat vorhanden ist, führt jedoch keine Aktion aus. Verwenden Sie diese Option mit der Option --trust, um zu überprüfen, ob das Zertifikat nicht nur gültig, sondern auch vertrauenswürdig ist.

  • --clean

    Diese Option entfernt alle HTTPS-Entwicklungszertifikate mithilfe der .NET-Zertifikatspeicher-API aus dem Zertifikatspeicher. Sie entfernt keine physischen Dateien, die mit der Option --export-path erstellt wurden. Unter macOS in .NET 7.0 erstellt der Befehl dotnet dev-certs das Zertifikat auf einem Pfad auf dem Datenträger, und der Bereinigungsvorgang entfernt diese Zertifikatdatei.

    Wenn mindestens ein Zertifikat im Zertifikatspeicher vorhanden ist, zeigt der Befehl eine Meldung wie im folgenden Beispiel an:

    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>

    Diese Option exportiert das Zertifikat in eine Datei, damit es von anderen Tools verwendet werden kann. Geben Sie den vollständigen Pfad zur exportierten Zertifikatdatei an, einschließlich des Dateinamens. Der Dateityp der erstellten Zertifikatdateien hängt davon ab, welche Optionen mit --export-path verwendet werden:

    Optionen Exportierte Elemente
    --export-path Der öffentliche Teil des Zertifikats als PFX-Datei
    --export-path --format PEM Der öffentliche Teil des Zertifikats im PEM-Format. Es wird keine separate KEY-Datei erstellt.
    --export-path --password Die öffentlichen und privaten Teile des Zertifikats als PFX-Datei.
    --export-path --password --format PEM Die öffentlichen und privaten Teile des Zertifikats als Dateipaar im PEM-Format. Die Schlüsseldatei hat die Erweiterung .key und wird durch das festgelegte Kennwort geschützt.
    --export-path --no-password --format PEM Die öffentlichen und privaten Teile des Zertifikats als Dateipaar im PEM-Format. Die Schlüsseldatei hat die Erweiterung .key und wird in Nur-Text exportiert. Die Option --no-password ist nur für interne Tests vorgesehen.
    • --format

    Diese Option gibt bei Verwendung mit --export-path das Format der exportierten Zertifikatdatei an. Gültige Werte sind PFX und PEM, wobei die Groß-/Kleinschreibung nicht beachtet wird. PFX ist die Standardoption.

    Das Dateiformat ist unabhängig von der Erweiterung. Wenn Sie beispielsweise --format pfx und --export-path ./cert.pem angeben, erhalten Sie eine Datei namens cert.pem im PFX-Format.

    Informationen zur Auswirkung dieser Option bei Verwendung mit --password, --no-password oder ohne eine dieser Optionen finden Sie weiter oben in diesem Artikel unter --export-path.

  • -i|--import <PATH>

    Diese Option importiert das bereitgestellte HTTPS-Entwicklungszertifikat auf den lokalen Computer. Sie erfordert, dass Sie auch die Option --clean angeben, mit der alle vorhandenen HTTPS-Entwicklerzertifikate gelöscht werden.

    PATH gibt einen Pfad zu einer PFX-Zertifikatdatei an. Geben Sie das Kennwort mit der Option --password an.

  • -np|--no-password

    Diese Option verwendet beim Exportieren eines Zertifikats in PEM-Formatdateien kein Kennwort für den Schlüssel. Die Schlüsseldatei wird in Nur-Text exportiert. Diese Option gilt nicht für PFX-Dateien und ist nur für interne Tests vorgesehen.

  • -p|--password

    Diese Option gibt das zu verwendende Kennwort an:

    • Beim Exportieren des Entwicklungszertifikats in eine PFX- oder PEM-Datei
    • Beim Importieren einer PFX-Datei

    Beim Exportieren mit --format PEM werden die öffentlichen und privaten Teile des Zertifikats als Dateipaar im PEM-Format exportiert. Die Schlüsseldatei hat die Erweiterung .key und wird durch das festgelegte Kennwort geschützt. Zusätzlich zu dem für die Option --export-path angegebenen Dateinamen erstellt der Befehl eine weitere Datei im selben Verzeichnis mit dem gleichen Namen, aber der Erweiterung .key. Der folgende Befehl generiert beispielsweise eine Datei namens localhost.pem und eine Datei mit dem Namen localhost.key im Verzeichnis /home/user:

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

    Im Beispiel stellt $CREDENTIAL_PLACEHOLDER$ ein Kennwort dar.

  • -q|--quiet

    Diese Option zeigt nur Warnungen und Fehler an.

  • -t|--trust

    Diese Option stuft das Zertifikat auf dem lokalen Computer als vertrauenswürdig ein.

    Wenn diese Option nicht angegeben ist, wird das Zertifikat dem Zertifikatspeicher, aber keiner Vertrauensliste hinzugefügt.

    In Kombination mit der Option --check wird überprüft, ob das Zertifikat vertrauenswürdig ist.

  • -v|--verbose

    Diese Option zeigt Debuginformationen an.

Beispiele

  • Überprüfen Sie, ob ein Entwicklungszertifikat vorhanden ist, und erstellen Sie eines im Standardzertifikatspeicher, falls keines vorhanden ist. Stufen Sie das Zertifikat jedoch noch nicht als vertrauenswürdig ein.

    dotnet dev-certs https
    
  • Entfernen Sie alle Entwicklungszertifikate, die bereits auf dem lokalen Computer vorhanden sind.

    dotnet dev-certs https --clean
    
  • Importieren Sie eine PFX-Datei.

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

    Im vorherigen Beispiel stellt $CREDENTIAL_PLACEHOLDER$ ein Kennwort dar.

  • Überprüfen Sie, ob auf dem lokalen Computer ein vertrauenswürdiges Entwicklungszertifikat vorhanden ist.

    dotnet dev-certs https --check --trust
    
  • Erstellen Sie ein Zertifikat, stufen Sie es als vertrauenswürdig ein, und exportieren Sie es in eine PFX-Datei.

    dotnet dev-certs https -ep ./certificate.pfx -p $CREDENTIAL_PLACEHOLDER$ --trust
    
  • Erstellen Sie ein Zertifikat, stufen Sie es als vertrauenswürdig ein, und exportieren Sie es in eine PEM-Datei.

    dotnet dev-certs https -ep ./certificate.crt --trust --format PEM
    
  • Erstellen Sie ein Zertifikat, stufen Sie es als vertrauenswürdig ein, und exportieren Sie es mitsamt dem privaten Schlüssel in eine PEM-Datei:

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

Weitere Informationen