Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo si applica a: ✔️ .NET 6 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] [--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
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
httpsdotnet dev-certsha un solo comando:https. Il comandodotnet dev-certs httpssenza 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
Mynel 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|--checkVerifica l'esistenza del certificato di sviluppo, ma non esegue alcuna azione. Usa questa opzione con l'opzione
--trustper verificare se il certificato non solo sia valido, ma anche attendibile.--check-trust-machine-readableUguale all'esecuzione
--check --trustdi , ma restituisce i risultati in JSON.--cleanRimuove 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-certscrea 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-pathParte pubblica del certificato come file PFX. --export-path --format PEMParte pubblica del certificato in formato PEM. Non viene creato alcun file .key separato. --export-path --passwordParti pubbliche e private del certificato come file PFX. --export-path --password --format PEMParti 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 PEMParti 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 sonoPFXePEM, 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 pfxe--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-passwordo 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.PATHspecifica un percorso di un file di certificato PFX. Specifica la password con l'opzione--password.-np|--no-passwordNon 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|--passwordSpecifica 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|--quietVisualizza solo avvisi ed errori.
-t|--trustConsidera 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|--verboseVisualizza 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 httpsRimuovi tutti i certificati di sviluppo già esistenti nel computer locale.
dotnet dev-certs https --cleanImporta 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 --trustCrea un certificato, consideralo attendibile ed esportalo in un file PFX.
dotnet dev-certs https -ep ./certificate.pfx -p $CREDENTIAL_PLACEHOLDER$ --trustCrea un certificato, consideralo attendibile ed esportalo in un file PEM.
dotnet dev-certs https -ep ./certificate.crt --trust --format PEMCrea 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