MakeCert, Cert2SPC et Signcode sont des outils que vous pouvez utiliser pour signer et tester du code. Ces outils sont disponibles dans le dossier \Program Files\IEAK\Reskit\Tools d'IEAK Resource Kit. Vous pouvez trouver d'autres ressources dans le kit de développement de Microsoft Internet Client.
Utilisez le programme de test MakeCert pour générer un certificat de test X.509. MakeCert réalise les tâches suivantes :
La syntaxe de MakeCert est la suivante :
MakeCert [options de base| options étendues] FichiersortieDeCertification
MakeCert fournit des options de base et des options étendues. Les options de base sont celles le plus souvent utilisées pour créer un certificat. Les options étendues offrent plus de souplesse. Les options de MakeCert sont également divisées en trois groupes fonctionnels :
Les options des groupes 2 et 3 ne peuvent être associées, à l'exception de l'option ic.
Les exemples suivants montrent comment créer des certificats avec MakeCert à l'aide des options d'Internet Explorer 4.0.
Exemple 1
Créez un certificat émis par la source de test par défaut. Enregistrez-le dans un fichier.
MakeCert maNouvelle.cer
Exemple 2
Créez un certificat émis par la source de test par défaut. Enregistrez-le dans une banque de certificats.
MakeCert -ss maNouvelleBanque
Exemple 3
Créez un certificat émis par la source de test par défaut. Créez un fichier .pvk et transmettez le certificat à une banque et à un fichier.
MakeCert -sv maNouvelle.pvk -ss maNouvelleBanque maNouvelle.cer
Exemple 4
Créez un certificat émis par la source de test par défaut. Créez un conteneur de clés et transmettez le certificat à une banque et à un fichier.
MakeCert -sk maNouvelleCle -ss maNouvelleBanque maNouvelle.cer
Exemple 5
Créez un certificat à l'aide de la source de test par défaut. Enregistrez le certificat dans une banque. Créez ensuite un autre certificat en utilisant le nouveau certificat. Enregistrez le deuxième certificat dans une autre banque.
MakeCert -sk maNouvelleCle -ss maNouvelleBanque MakeCert -is maNouvelleBanque -ss autreBanque
Exemple 6
Créez un certificat à l'aide de la source de test par défaut. Enregistrez le certificat dans ma banque. Créez ensuite un autre certificat en utilisant le nouveau certificat. Étant donné qu'il existe plusieurs certificats dans ma banque, identifiez le premier certificat à l'aide de son nom courant.
MakeCert -sk maNouvelleCle -n "CN=XXZZYY" -ss ma MakeCert -is ma -in "XXZZYY" -ss autreBanque
Exemple 7
Créez un certificat à l'aide de la source de test par défaut. Enregistrez le certificat dans ma banque et dans un fichier. Créez ensuite un autre certificat en utilisant le nouveau certificat maNouvelle. Étant donné qu'il existe plusieurs certificats dans ma banque, identifiez de manière unique le premier certificat à l'aide du nom de fichier du certificat.
MakeCert -sk maNouvelleCle -n "CN=XXZZYY" -ss ma maNouvelle.cer MakeCert -is ma -ic maNouvelle.cer -ss autreBanque
Exemple 8
Créez un certificat auto-signé intitulé maNouvelleSource à l'aide de la source de test par défaut. Utilisez ensuite SignCode avec le certificat pour signer un fichier.
MakeCert -sk maNouvelleSourceCle -r -ss maNouvelleSource SignCode -s maNouvelleSource monControl.exe
Exemple 9
Créez un certificat auto-signé intitulé maNouvelleSource à l'aide de la source de test par défaut. Enregistrez maNouvelleSource dans une banque de certificats système ca. Créez ensuite un certificat à partir de maNouvelleSource et signez du code avec le certificat.
Lorsque SignCode utilise un certificat placé dans une banque pour signature, il crée également une chaîne de certificats à partir du certificat de signature vers une source. Tous les certificats contenus dans la chaîne de certificats doivent faire partie de l'une des banques de certificats ma, ca, spc ou root. Dans ce cas, maNouvelleSource se trouve dans la banque de certificats ca.
MakeCert -sk maNouvelleSourceCle -r -ss ca maNouvelleSource.cer MakeCert -is ca -ic maNouvelleSource.cer -ss monNouvelAbonnement SignCode -s monNouvelAbonnement monControl.exe
Après avoir généré un certificat, vous pouvez créer un fichier SPC (Software Publisher Certificate) en utilisant le programme Cert2SPC. Ce programme englobe plusieurs certificats X.509 dans un objet de données signées PKCS #7. Notez que ce programme est uniquement destiné à des tests. Un fichier SPC valide est obtenu auprès d'une autorité de certificat.
La syntaxe de Cert2SPC est la suivante :
Cert2SPC cert1.cer cert2.cer. . .certN.cer output.spc
où :
Voici un exemple :
Cert2SPC monCert.cer monCert.spc
Ceci englobe un certificat X.509, monCert.cer, dans un fichier SPC PKCS #7 intitulé monCert.spc.
L'étape finale consiste à signer effectivement un fichier en utilisant le programme SignCode. Ce programme effectue les tâches suivantes :
La syntaxe de SignCode est la suivante :
SignCode [options] [Nomdefichier]
où :
Les options de SignCode sont divisées en trois groupes :
Les options des groupes 2 et 3 ne peuvent être associées dans une même opération.
Une fois que le fichier a été signé (en supposant que vous disposez d'un certificat valide) et qu'un horodateur a été ajouté, il peut être distribué à vos clients. Remarquez que les certificats générés avec les programmes de test MakeCert et Cert2SPC ne sont pas valides pour la signature de code destiné à être distribué au public. Les fournisseurs de logiciels indépendants doivent obtenir un certificat auprès de GTE, VeriSign, Inc., ou d'une autre autorité de certificat pour la signature du code destiné à être distribué au public.