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 comando dotnet 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 percorso CurrentUser. 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 comando dotnet 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. 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 sono PFX e PEM, 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 formato PFX.

    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