Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel gilt für: ✔️ .NET 6 SDK und höhere Versionen
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] [--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
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
httpsdotnet dev-certshat nur einen Befehl:https. Derdotnet 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
Myam SpeicherortCurrentUser. 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|--checkDiese 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.--check-trust-machine-readableIdentisch mit der Ausführung
--check --trust, gibt aber die Ergebnisse in JSON aus.--cleanDiese Option entfernt alle HTTPS-Entwicklungszertifikate mithilfe der .NET-Zertifikatspeicher-API aus dem Zertifikatspeicher. Sie entfernt keine physischen Dateien, die mit der Option
--export-patherstellt wurden. Unter macOS in .NET 7.0 erstellt der Befehldotnet dev-certsdas 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. Die enthaltenden Verzeichnisse müssen bereits vorhanden sein, und der Zugriff darauf sollte eingeschränkt werden. Der Dateityp der erstellten Zertifikatdateien hängt davon ab, welche Optionen mit
--export-pathverwendet werden:Optionen Exportierte Elemente --export-pathDer öffentliche Teil des Zertifikats als PFX-Datei --export-path --format PEMDer öffentliche Teil des Zertifikats im PEM-Format. Es wird keine separate KEY-Datei erstellt. --export-path --passwordDie öffentlichen und privaten Teile des Zertifikats als PFX-Datei. --export-path --password --format PEMDie ö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 PEMDie ö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-passwordist nur für interne Tests vorgesehen.--format
Diese Option gibt bei Verwendung mit
--export-pathdas Format der exportierten Zertifikatdatei an. Gültige Werte sindPFXundPEM, wobei die Groß-/Kleinschreibung nicht beachtet wird.PFXist die Standardoption.Das Dateiformat ist unabhängig von der Erweiterung. Wenn Sie beispielsweise
--format pfxund--export-path ./cert.pemangeben, erhalten Sie eine Datei namens cert.pem imPFX-Format.Informationen zur Auswirkung dieser Option bei Verwendung mit
--password,--no-passwordoder 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
--cleanangeben, mit der alle vorhandenen HTTPS-Entwicklerzertifikate gelöscht werden.PATHgibt einen Pfad zu einer PFX-Zertifikatdatei an. Geben Sie das Kennwort mit der Option--passwordan.-np|--no-passwordDiese 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|--passwordDiese 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 PEMwerden 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-pathangegebenen 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|--quietDiese Option zeigt nur Warnungen und Fehler an.
-t|--trustDiese 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
--checkwird überprüft, ob das Zertifikat vertrauenswürdig ist.-v|--verboseDiese 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 httpsEntfernen Sie alle Entwicklungszertifikate, die bereits auf dem lokalen Computer vorhanden sind.
dotnet dev-certs https --cleanImportieren 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 --trustErstellen 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$ --trustErstellen 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 PEMErstellen 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