Ce didacticiel vous montrera comment signer des fichiers à partir de la ligne de commande Windows avec un certificat de signature de code et une clé privée stockés dans Azure Key Vault. Pour suivre ces instructions, vous aurez besoin de:
- An Compte Azure
- A Coffre à clés
- A certificat de signature de code installé dans votre Key Vault. Vous pouvez soit:
- Outil de signature Azure installé sur l'ordinateur que vous utiliserez pour signer
Qu'est-ce que Azure Sign Tool?
Outil de signature Azure est un utilitaire open source qui offre Outil de signature fonctionnalité pour les certificats et les clés stockés dans Azure Key Vault. Vous pouvez installer Azure Sign Tool avec la commande suivante dans Windows PowerShell (nécessite SDK .NET):
dotnet tool install --global AzureSignTool
Étape 1: enregistrer une nouvelle application Azure
Tout d'abord, vous devez enregistrer une nouvelle application Azure afin de pouvoir vous connecter à votre Key Vault pour la signature.
- Connectez-vous à la Portail Azure.
- Accédez à Azure Active Directory. (Cliquez Plus de services si l'icône Azure Active Directory n'est pas visible.)
- Cliquez Inscriptions d'applications, dans la colonne de gauche.
- Cliquez Nouvelle inscription.
- Donnez à votre candidature un Nom Et cliquez sur le S'inscrire bouton. Laissez les autres paramètres à leurs valeurs par défaut.
- Votre nouvelle application a été enregistrée. Copiez et enregistrez la valeur indiquée pour ID de l'application (client), car vous en aurez besoin plus tard.
- Cliquez Authentification.
- Sous Paramètres avancés, ensemble Autoriser les flux de clients publics à
Yes
.
- Cliquez Enregistré.
Étape 2: créer un secret client
Ensuite, générez un secret client, qui servira d'informations d'identification lors de la signature.
- Cliquez Certificats et secrets dans le menu de gauche.
- Cliquez Nouveau secret client.
- Donnez à votre client un secret Description, définissez l'expiration comme vous le souhaitez et cliquez sur le Ajouter .
- Copiez le Propositions de votre nouveau secret client immédiatement et enregistrez-le dans un endroit sûr. La prochaine fois que la page sera actualisée, cette valeur sera masquée et irrécupérable.
Étape 3: Activer l'accès dans Key Vault
Vous devez maintenant activer l'accès pour votre application dans Azure Key Vault.
- Accédez au Key Vault contenant le certificat que vous souhaitez utiliser pour la signature et cliquez sur le bouton Politiques d'accès lien.
- Cliquez Ajouter une politique d'accès.
- Sous Autorisations clés, activer
Sign
.
- Sous Autorisations de certificat, activer
Get
.
- Cliquez Aucune sélection lien, sous Sélectionnez le principal, puis utilisez le champ de recherche pour localiser et sélectionner l'application que vous avez créée dans la section précédente.
- Cliquez Choisir .
- Cliquez Ajouter .
- Cliquez Enregistré.
- Votre politique d'accès est définie et vous êtes prêt à commencer à signer des fichiers.
Étape 4: signer un fichier
Vous êtes enfin prêt à signer du code!
- Vous aurez besoin des informations suivantes disponibles:
- Vous trouverez ci-dessous un exemple de commande dans PowerShell pour signer et horodater un fichier avec Azure Sign Tool. Remplacez les valeurs en MAJUSCULES par vos informations réelles:
azuresigntool sign -kvu KEY-VAULT-URI -kvc CERTIFICATE-NAME -kvi APPLICATION-CLIENT-ID -kvs CLIENT-SECRET -tr http://ts.ssl.com/ -td sha256 CHEMIN-À-EXECUTABLE
Remarque : Par défaut, SSL.com prend en charge les horodatages des clés ECDSA.
Si vous rencontrez cette erreur :The timestamp certificate does not meet a minimum public key length requirement
, vous devez contacter votre fournisseur de logiciels pour autoriser les horodatages des clés ECDSA.
Si votre fournisseur de logiciels n'a aucun moyen d'autoriser l'utilisation du point de terminaison normal, vous pouvez utiliser ce point de terminaison héritéhttp://ts.ssl.com/legacy
pour obtenir un horodatage d'une unité d'horodatage RSA. - Si la signature réussit, vous devriez voir une sortie comme celle-ci (une signature infructueuse ne produira aucune sortie):
info: AzureSignTool.Program [0] => Fichier: test.exe Fichier de signature test.exe info: AzureSignTool.Program [0] => Fichier: test.exe Signature réussie pour le fichier test.exe. info PS C: \ Utilisateurs \ Aaron Russell \ Desktop>
- Les détails sur la nouvelle signature numérique seront disponibles dans les propriétés du fichier: