Partager via


dotnet dev-certs

Cet article s’applique à : ✔️ SDK .NET Core 3.1 et versions ultérieures

Nom

dotnet dev-certs - Génère un certificat auto-signé pour permettre l’utilisation de HTTPS dans le développement.

Synopsis

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

Description

La commande dotnet dev-certs gère un certificat auto-signé pour permettre l’utilisation de HTTPS dans le développement d’applications web locales. Ses fonctions principales sont :

  • Génération d’un certificat à utiliser avec des points de terminaison HTTPS pendant le développement.
  • Approbation du certificat généré sur la machine locale.
  • Suppression du certificat généré sur la machine locale.
  • Exportation d’un certificat dans différents formats pour qu’il puisse être utilisé par d’autres outils.
  • Importation d’un certificat existant généré par l’outil dans la machine locale.

Commandes

  • https

    dotnet dev-certs a seulement une commande : https. La commande dotnet dev-certs https sans options vérifie si un certificat de développement est présent dans le magasin de certificats de l’utilisateur actuel sur la machine. Si la commande trouve un certificat de développement, elle affiche un message comme l’exemple suivant :

    A valid HTTPS certificate is already present.
    

    Si la commande ne trouve pas de certificat de développement, elle en crée un dans le magasin de certificats de l’utilisateur actuel, le magasin nommé My à l’emplacement CurrentUser. L’emplacement physique du certificat est un détail d’implémentation du runtime .NET qui peut changer à tout moment. Sur macOS dans .NET 7.0, le certificat est stocké dans le keychain utilisateur et dans un fichier PFX : ~/.aspnet/https-aspnetcore-localhost-<Thumbprint[0..5]>.pfx.

    Après avoir créé un certificat, la commande affiche un message comme l’exemple suivant :

    The HTTPS developer certificate was generated successfully.
    

    Par défaut, le certificat nouvellement créé n’est pas approuvé. Pour approuver le certificat, utilisez l’option --trust.

    Pour créer un fichier utilisable avec d’autres outils, utilisez l’option --export-path.

Options

  • -c|--check

    Vérifie l’existence du certificat de développement, mais n’effectue aucune action. Utilisez cette option avec l’option --trust pour vérifier si le certificat est non seulement valide, mais également approuvé.

  • --clean

    Supprime tous les certificats de développement HTTPS du magasin de certificats en utilisant l’API du magasin de certificats .NET. Ne supprime pas les fichiers physiques qui ont été créés avec l’option --export-path. Sur macOS dans .NET 7.0, la commande dotnet dev-certs crée le certificat dans un chemin sur le disque, et l’opération de nettoyage supprime ce fichier de certificat.

    S’il y a au moins un certificat dans le magasin de certificats, la commande affiche un message comme l’exemple suivant :

    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>

    Exporte le certificat dans un fichier pour qu’il puisse être utilisé par d’autres outils. Spécifiez le chemin complet du fichier de certificat exporté, y compris le nom de fichier. Les répertoires contenants doivent déjà exister et l’accès à ces répertoires doit être restreint. Le type des fichiers de certificat créés dépend des options utilisées avec --export-path :

    Options Ce qui est exporté
    --export-path Partie publique du certificat dans un fichier PFX.
    --export-path --format PEM Partie publique du certificat au format PEM. Aucun fichier .key distinct n’est créé.
    --export-path --password Parties publiques et privées du certificat dans un fichier PFX.
    --export-path --password --format PEM Parties publiques et privées du certificat sous forme de paire de fichiers PEM. Le fichier de clé a l’extension .key et est protégé par le mot de passe donné.
    --export-path --no-password --format PEM Parties publiques et privées du certificat sous forme de paire de fichiers PEM. Le fichier de clé a l’extension .key et est exporté en texte brut. L’option --no-password est utilisable pour les tests internes uniquement.
    • --format

    Si elle est utilisée avec --export-path, spécifie le format du fichier de certificat exporté. Les valeurs valides sont PFX et PEM, indépendamment de la casse. PFX est la valeur par défaut.

    Le format de fichier est indépendant de l’extension de nom de fichier. Par exemple, si vous spécifiez --format pfx et --export-path ./cert.pem, vous obtenez un fichier nommé cert.pem au format PFX.

    Pour plus d’informations sur l’effet de cette option quand elle est utilisée avec --password, --no-password ou sans aucune de ces options, consultez --export-path plus haut dans cet article.

  • -i|--import <PATH>

    Importe le certificat de développement HTTPS fourni sur la machine locale. Vous devez également spécifier l’option --clean, qui efface tous les certificats de développement HTTPS existants.

    PATH spécifie le chemin d’un fichier de certificat PFX. Fournissez le mot de passe avec l’option --password.

  • -np|--no-password

    N’utilise pas de mot de passe pour la clé en cas d’exportation d’un certificat dans des fichiers au format PEM. Le fichier de clé est exporté en texte brut. Cette option ne s’applique pas aux fichiers PFX et concerne les tests internes uniquement.

  • -p|--password

    Spécifie le mot de passe à utiliser :

    • Pour l’exportation du certificat de développement vers un fichier PFX ou PEM.
    • Pour l’importation à partir d’un fichier .PFX.

    Pour l’exportation avec --format PEM, les parties publique et privée du certificat sont exportées sous la forme d’une paire de fichiers au format PEM. Le fichier de clé a l’extension .key et est protégé par le mot de passe donné. En plus du nom de fichier spécifié pour l’option --export-path, la commande crée un autre fichier dans le même répertoire avec le même nom, mais avec une extension .key. Par exemple, la commande suivante génère un fichier nommé localhost.pem et un fichier nommé localhost.key dans le répertoire /home/user :

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

    Dans l’exemple, $CREDENTIAL_PLACEHOLDER$ représente un mot de passe.

  • -q|--quiet

    Affiche uniquement les avertissements et les erreurs.

  • -t|--trust

    Approuve le certificat sur la machine locale.

    Si cette option n’est pas spécifiée, le certificat est ajouté au magasin de certificats, mais pas à une liste approuvée.

    Quand elle est combinée avec l’option --check, vérifie que le certificat est approuvé.

  • -v|--verbose

    Affiche les informations de débogage.

Exemples

  • Vérifie la présence d’un certificat de développement et en crée un dans le magasin de certificats par défaut s’il n’y en pas encore. Mais n’approuve pas le certificat.

    dotnet dev-certs https
    
  • Supprime les certificats de développement qui existent déjà sur la machine locale.

    dotnet dev-certs https --clean
    
  • Importe un fichier PFX.

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

    Dans l’exemple précédent, $CREDENTIAL_PLACEHOLDER$ représente un mot de passe.

  • Vérifie si un certificat de développement approuvé est présent sur la machine locale.

    dotnet dev-certs https --check --trust
    
  • Crée un certificat, l’approuve et l’exporte dans un fichier PFX.

    dotnet dev-certs https -ep ./certificate.pfx -p $CREDENTIAL_PLACEHOLDER$ --trust
    
  • Crée un certificat, l’approuve et l’exporte dans un fichier PEM.

    dotnet dev-certs https -ep ./certificate.crt --trust --format PEM
    
  • Crée un certificat, l’approuve et l’exporte dans un fichier PEM avec la clé privée :

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

Voir aussi