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 commandedotnet 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’emplacementCurrentUser
. 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 commandedotnet 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 sontPFX
etPEM
, 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 formatPFX
.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