dotnet dev-certs
Questo articolo si applica a: ✔️ .NET Core 3.1 SDK e versioni successive
Nome
dotnet dev-certs
- Genera un certificato autofirmato per abilitare l'uso HTTPS in fase di sviluppo.
Riepilogo
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
Descrizione
Il comando dotnet dev-certs
gestisce un certificato autofirmato per abilitare l'uso HTTPS nello sviluppo di app Web locali. Le funzioni principali sono:
- Generazione di un certificato da usare con endpoint HTTPS durante lo sviluppo.
- Attendibilità del certificato generato nel computer locale.
- Rimozione del certificato generato dal computer locale.
- Esportazione di un certificato in vari formati in modo che possa essere usato da altri strumenti.
- Importazione di un certificato esistente generato dallo strumento nel computer locale.
Comandi
https
dotnet dev-certs
ha un solo comando:https
. Il comandodotnet dev-certs https
senza opzioni controlla se un certificato di sviluppo è presente nell'archivio certificati dell'utente corrente nel computer. Se il comando trova un certificato di sviluppo, viene visualizzato un messaggio simile all'esempio seguente:A valid HTTPS certificate is already present.
Se il comando non trova un certificato di sviluppo, ne crea uno nell'archivio certificati dell'utente corrente, l'archivio denominato
My
nel percorsoCurrentUser
. Il percorso fisico del certificato è un dettaglio di implementazione del runtime .NET che può cambiare in qualsiasi momento. In macOS in .NET 7.0 il certificato viene archiviato nella catena di chiavi utente e come file PFX: ~/.aspnet/https-aspnetcore-localhost-Thumbprint<[0..5]>.pfx.Dopo aver creato un certificato, il comando visualizza un messaggio simile all'esempio seguente:
The HTTPS developer certificate was generated successfully.
Per impostazione predefinita, il certificato appena creato non è attendibile. Per considerare attendibile il certificato, usa l'opzione
--trust
.Per creare un file da poter usare con altri strumenti, usa l'opzione
--export-path
.
Opzioni
-c|--check
Verifica l'esistenza del certificato di sviluppo, ma non esegue alcuna azione. Usa questa opzione con l'opzione
--trust
per verificare se il certificato non solo sia valido, ma anche attendibile.--clean
Rimuove tutti i certificati di sviluppo HTTPS dall'archivio certificati usando l'API dell'archivio certificati .NET. Non rimuove i file fisici creati usando l'opzione
--export-path
. In macOS in .NET 7.0 il comandodotnet dev-certs
crea il certificato su un percorso su disco e l'operazione di pulizia rimuove il file di certificato.Se nell'archivio certificati è presente almeno un certificato, il comando visualizza un messaggio simile all'esempio seguente:
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>
Esporta il certificato in un file in modo che possa essere usato da altri strumenti. Specifica il percorso completo del file di certificato esportato, incluso il nome file. Le directory contenenti devono esistere già e l'accesso a tali directory deve essere limitato. Il tipo di file di certificato creati dipende dalle opzioni usate con
--export-path
:Opzioni Cosa viene esportato --export-path
Parte pubblica del certificato come file PFX. --export-path --format PEM
Parte pubblica del certificato in formato PEM. Non viene creato alcun file .key separato. --export-path --password
Parti pubbliche e private del certificato come file PFX. --export-path --password --format PEM
Parti pubbliche e private del certificato come coppia di file in formato PEM. Il file codice ha l'estensione .key ed è protetto dalla password specificata. --export-path --no-password --format PEM
Parti pubbliche e private del certificato come coppia di file in formato PEM. Il file di chiave ha l'estensione .key ed è esportato in testo normale. L'opzione --no-password
è destinata solo all'uso nei test interni.--format
Se usata con
--export-path
, specifica il formato del file di certificato esportato. I valori validi sonoPFX
ePEM
, senza distinzione tra maiuscole e minuscole.PFX
è l'impostazione predefinita.Il formato di file è indipendente dall'estensione del nome file. Ad esempio, se specifichi
--format pfx
e--export-path ./cert.pem
, otterrai un file denominato cert.pem in formatoPFX
.Per informazioni sull'effetto di questa opzione quando viene usata con
--password
,--no-password
o senza una di queste opzioni, fai riferimento a --export-path nella parte precedente di questo articolo.-i|--import <PATH>
Importa il certificato di sviluppo HTTPS fornito nel computer locale. Richiede anche di specificare l'opzione
--clean
, che cancella tutti i certificati per sviluppatori HTTPS esistenti.PATH
specifica un percorso di un file di certificato PFX. Specifica la password con l'opzione--password
.-np|--no-password
Non usare una password per la chiave durante l'esportazione di un certificato in file di formato PEM. Il file codice viene esportato in testo normale. Questa opzione non è applicabile ai file PFX ed è destinata solo all'uso di test interni.
-p|--password
Specifica la password da usare:
- Quando si esporta il certificato di sviluppo in un file PFX o PEM.
- Quando si importa un file PFX.
Quando si esporta con
--format PEM
, le parti pubbliche e private del certificato vengono esportate come coppia di file in formato PEM. Il file codice ha l'estensione .key ed è protetto dalla password specificata. Oltre al nome file specificato per l'opzione--export-path
, il comando crea un altro file nella stessa directory con lo stesso nome, ma un'estensione .key. Ad esempio, il comando seguente genererà un file denominato localhost.pem e un file denominato localhost.key nella directory /home/user:dotnet dev-certs https --format pem -ep /home/user/localhost.pem -p $CREDENTIAL_PLACEHOLDER$
Nell'esempio,
$CREDENTIAL_PLACEHOLDER$
rappresenta una password.-q|--quiet
Visualizza solo avvisi ed errori.
-t|--trust
Considera attendibile il certificato nel computer locale.
Se questa opzione non è specificata, il certificato viene aggiunto all'archivio certificati ma non a un elenco attendibile.
Se combinato con l'opzione
--check
, convalida che il certificato sia attendibile.-v|--verbose
Visualizza le informazioni di debug.
Esempi
Verifica la presenza di un certificato di sviluppo e creane uno nell'archivio certificati predefinito, se non ne esiste ancora uno. Ma non considerare attendibile il certificato.
dotnet dev-certs https
Rimuovi tutti i certificati di sviluppo già esistenti nel computer locale.
dotnet dev-certs https --clean
Importa un file PFX.
dotnet dev-certs https --clean --import ./certificate.pfx -p $CREDENTIAL_PLACEHOLDER$
Nell'esempio precedente,
$CREDENTIAL_PLACEHOLDER$
rappresenta una password.Controlla se nel computer locale è presente un certificato di sviluppo attendibile.
dotnet dev-certs https --check --trust
Crea un certificato, consideralo attendibile ed esportalo in un file PFX.
dotnet dev-certs https -ep ./certificate.pfx -p $CREDENTIAL_PLACEHOLDER$ --trust
Crea un certificato, consideralo attendibile ed esportalo in un file PEM.
dotnet dev-certs https -ep ./certificate.crt --trust --format PEM
Crea un certificato, consideralo attendibile ed esportalo in un file PEM, inclusa la chiave privata:
dotnet dev-certs https -ep ./certificate.crt -p $CREDENTIAL_PLACEHOLDER$ --trust --format PEM
Vedi anche
- Genera certificati autofirmati con l'interfaccia della riga di comando di .NET
- Imporre HTTPS in ASP.NET Core
- Risolvi i problemi relativi ai certificati, ad esempio il certificato non attendibile
- Hosting di immagini ASP.NET Core con Docker su HTTPS
- Hosting di immagini ASP.NET Core con Docker Compose su HTTPS