Outil Certificate Creation Tool (Makecert.exe)

Mise à jour : novembre 2007

L'outil Certificate Creation Tool (Création de certificats) génère des certificats X.509 uniquement à des fins de tests. Il crée une paire de clés publique/privée pour les signatures numériques et l'enregistre dans un fichier de certificat. Il associe également cette paire de clés à un nom d'éditeur spécifié et crée un certificat X.509 liant un nom spécifié par l'utilisateur à la partie publique de la paire de clés.

Makecert.exe propose des options de base et des options avancées. Les options de base sont celles le plus fréquemment utilisées lors de la création d'un certificat. Les options avancées offrent une flexibilité accrue.

Les clés privées de certificat générées par cet outil ne doivent jamais être stockées dans des fichiers .snk. Si vous avez besoin de stocker une clé privée, vous devez utiliser un conteneur de clé. Pour plus d'informations sur la façon de stocker une clé privée dans un conteneur de clés, consultez Comment : stocker des clés asymétriques dans un conteneur de clé.

Attention :

Vous devez utiliser un magasin de certificats pour stocker vos certificats en toute sécurité. Les fichiers .snk utilisés par cet outil stockent des clés privées sans protection. Lorsque vous créez ou importez un fichier .snk, vous devez veiller à le sécuriser pendant l'utilisation et à le supprimer lorsque vous avez terminé.

makecert [options] outputCertificateFile

Argument

Description

outputCertificateFile

Nom du fichier .cer dans lequel le certificat de test X.509 sera écrit.

Options de base

Option

Description

-nx509name

Spécifie le nom du certificat du sujet. Ce nom doit être conforme à la norme X.500. La méthode la plus simple consiste à faire précéder le nom de CN= et d'entourer le tout de guillemets doubles ("CN=myName", par exemple).

-pe

Marque la clé privée générée comme étant exportable. Cela permet l'inclusion de la clé privée dans le certificat.

-skkeyname

Spécifie l'emplacement du conteneur de clé du sujet comportant la clé privée. Un conteneur de clé sera créé si aucun n'existe.

-sr location

Spécifie l'emplacement du magasin du certificat du sujet. Location peut être soit currentuser (valeur par défaut), soit localmachine.

-ssstore

Spécifie le nom du magasin du certificat du sujet qui stocke le certificat de sortie.

-# number

Spécifie un numéro de série de 1 à 2 147 483 647. La valeur par défaut correspond à une valeur unique générée par Makecert.exe.

-$authority

Spécifie l'autorité de signature du certificat, laquelle doit être définie comme étant commercial (pour les certificats utilisés par les éditeurs de logiciels commerciaux) ou individual (pour les certificats utilisés par les éditeurs de logiciels individuels).

-?

Affiche la syntaxe de commande et la liste des options de base de l'outil.

-!

Affiche la syntaxe de commande et la liste des options avancées de l'outil.

Options avancées

Option

Description

-a algorithm

Spécifie l'algorithme de signature. Doit être md5 (valeur par défaut) ou sha1.

-bmm/dd/yyyy

Spécifie le début de la période de validité. La valeur par défaut correspond à la date de création du certificat.

-cycertType

Spécifie le type de certificat. Les valeurs valides sont end pour l'entité finale et authority pour l'Autorité de certification.

-dname

Affiche le nom du sujet.

-emm/dd/yyyy

Spécifie la fin de la période de validité. La valeur par défaut correspond au 31/12/2039 à 11:59:59 GMT.

-ekuoid[,oid]

Insère dans le certificat une liste d'identificateurs d'objets séparés par des virgules et destinés à l'utilisation améliorée de la clé.

-h number

Spécifie la hauteur maximale de l'arborescence en dessous de ce certificat.

-ic file

Spécifie le fichier de certificat de l'émetteur.

-ikkeyName

Spécifie le nom du conteneur de clé de l'émetteur.

-ikykeytype

Spécifie le type de clé de l'émetteur, qui doit être signature, exchange ou un entier qui représente un type de fournisseur. Par défaut, vous pouvez passer 1 pour une clé d'échange et 2 pour une clé de signature.

-in name

Spécifie le nom commun du certificat de l'émetteur.

-ipprovider

Spécifie le nom du fournisseur CryptoAPI de l'émetteur.

-ir location

Spécifie l'emplacement du magasin du certificat de l'émetteur. Location peut être soit currentuser (valeur par défaut) soit localmachine.

-isstore

Spécifie le nom du magasin du certificat de l'émetteur.

-ivpvkFile

Spécifie le fichier de clé privée .pvk de l'émetteur.

-iypvkFile

Spécifie le type de fournisseur CryptoAPI de l'émetteur.

-llink

Établit un lien vers des informations de stratégie (URL, par exemple).

-m number

Spécifie la durée, en mois, de la période de validité du certificat.

-nscp

Inclut l'extension d'autorisation cliente Netscape.

-r

Crée un certificat autosigné.

-sc file

Spécifie le fichier de certificat du sujet.

-skykeytype

Spécifie le type de clé du sujet, qui doit être signature, exchange ou un entier qui représente un type de fournisseur. Par défaut, vous pouvez passer 1 pour une clé d'échange et 2 pour une clé de signature.

-spprovider

Spécifie le nom du fournisseur CryptoAPI du sujet.

-svpvkFile

Spécifie le fichier de clé privée .pvk du sujet. Le fichier est créé s'il n'existe pas déjà.

-sy type

Spécifie le type de fournisseur CryptoAPI du sujet.

Exemples

La commande suivante crée un certificat de test émis par la racine de test par défaut et l'écrit dans testCert.cer.

makecert testCert.cer

La commande suivante crée un certificat émis par la racine de test par défaut et l'enregistre dans un magasin de certificats.

makecert -ss testCertStore

La commande suivante crée un certificat émis par la racine de test par défaut et l'enregistre dans un magasin de certificats. Il place explicitement le certificat dans le magasin currentuser.

makecert -ss testCertStore -sr currentuser

La commande suivante crée un certificat de test et l'écrit dans textXYZ.cer, à l'aide du conteneur de clé du sujet et du nom X.500 du sujet du certificat.

makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer 

La commande suivante crée un certificat émis par la racine de test par défaut, crée un fichier .pvk et renvoie le certificat dans le magasin et dans le fichier.

makecert -sv testCert.pvk -ss testCertStore testCert.cer

La commande suivante crée un certificat émis par la racine de test par défaut, crée un conteneur de clés et renvoie le certificat dans le magasin et dans le fichier.

makecert -sk myTestKey -ss testCertStore testCert.cer

La commande suivante crée un certificat signé automatiquement, spécifie un nom du sujet "Société CN=XYZ", spécifie des périodes de début et de fin de validité, place la clé dans le magasin my, spécifie une clé d'échange et rend la clé privée exportable.

makecert -r -pe -n "CN=XYZ Company" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my

Les commandes suivantes créent des certificats, puis les enregistrent dans des magasins. La première commande crée un certificat à l'aide de la racine de test par défaut et l'enregistre dans un magasin. La deuxième commande crée un autre certificat à l'aide du certificat créé récemment et l'enregistre dans un autre magasin.

makecert -sk myTestKey -ss testCertStore
makecert -is testCertStore -ss anotherTestStore

Les commandes suivantes créent des certificats, puis les enregistrent dans des magasins. La première commande enregistre le certificat dans le magasin my. La deuxième commande crée un autre certificat à l'aide du certificat créé récemment. Parce qu'il y a plusieurs certificats dans le magasin my, la deuxième commande identifie le premier certificat à l'aide de son nom commun.

makecert -sk myTestKey -n "CN=XXZZYY" -ss my
makecert -is my -in "XXZZYY" -ss anotherTestStore

Les commandes suivantes créent des certificats, puis les enregistrent dans des fichiers et magasins. La première commande crée un certificat à l'aide de la racine de test par défaut et l'enregistre dans le magasin my et dans un fichier. La deuxième commande crée un autre certificat à l'aide du certificat testCert.cer créé récemment. Parce qu'il y a plusieurs certificats dans le magasin my, la deuxième commande identifie le premier certificat à l'aide du nom de fichier de certificat.

makecert -sk myTestKey -n "CN=XXZZYY" -ss my testCert.cer
makecert -is my -ic testCert.cer -ss anotherTestStore

Voir aussi

Référence

Outils du .NET Framework

Outil Software Publisher Certificate Test Tool (Cert2spc.exe)

Invite de commandes du Kit de développement SDK