Cet article explique comment signer numériquement un projet macro à l’aide d’un certificat. Si vous n’avez pas encore de certificat numérique, vous devez en obtenir un.
Conseil : Pour utiliser ou tester des projets de macro sur votre propre ordinateur, vous pouvez créer votre propre certificat de signature automatique à l’aide de l’outil Selfcert.exe.
Obtenir un certificat numérique
Vous pouvez obtenir un certificat numérique auprès d’une autorité de certification ou auprès de l’administrateur de la sécurité informatique de votre entreprise.
Pour en savoir plus sur les autorités de certification qui offrent des services pour les produits Microsoft, consultez la liste des membres du programme de certificat racine Microsoft.
Dans la mesure où les certificats numériques que vous créez ne sont pas émis par une autorité de certification approuvée officielle, les projets macro signés à l’aide de ce type de certificat sont appelés projets auto-signés. Microsoft Office n’approuve les certificats auto-signés que sur les ordinateurs où le certificat d’auto-signature est ajouté au dossier Autorités de certification racines de confiance dans le magasin de certificats de l’utilisateur actuel. Cela le rend utile pour le test ou l’utilisation sur votre propre ordinateur ou un très petit nombre de machines que vous gérez, mais pas très bon pour distribuer des projets de macros à d’autres personnes.
Créer un certificat d’auto-signature
- Quelle version de Windows utilisez-vous ?
- Windows 10 ou version ultérieure
- Windows 8
-
Accédez à C:\Program Files (x86)\Microsoft Office\root\Office16.
Conseil : Si vous ne le trouvez pas dans ce dossier, essayez C:\Program Files\Microsoft Office\root\Office16
-
Cliquez sur SelfCert.exe. La boîte de dialogue Créer un certificat numérique s’affiche.
-
Dans le champ Nom de votre certificat, entrez un nom descriptif pour le certificat.
-
Cliquez sur OK.
-
Lorsque le message Succès de SelfCert s’affiche, cliquez sur OK.
-
Accédez à C:\Program Files\Microsoft Office\<version d’Office>\.
-
Cliquez sur SelfCert.exe. La boîte de dialogue Créer un certificat numérique s’affiche.
-
Dans le champ Nom de votre certificat, entrez un nom descriptif pour le certificat.
-
Cliquez sur OK.
-
Lorsque le message Succès de SelfCert s’affiche, cliquez sur OK.
Afficher le certificat dans le magasin de certificats personnels
-
Ouvrez Microsoft Edge.
-
Entrez edge://settings/privacy dans la barre d’adresse.
-
Faites défiler jusqu’à la section Sécurité , puis sélectionnez Gérer les certificats.
Signer numériquement un projet macro dans Excel, PowerPoint, Publisher, Visio, Outlook ou Word
-
Ouvrez le fichier qui contient le projet macro à signer.
-
Sous l’onglet Développeur, dans le groupe Code, cliquez sur Visual Basic.
Remarque : Si l’onglet Développeur n’est pas disponible : cliquez sur l’onglet Fichier . Cliquez sur Options. Cliquez sur Personnaliser le ruban. Dans la liste Personnaliser le ruban , cliquez sur Développeur, puis sur OK.
-
Dans Visual Basic, dans le menu Outils, cliquez sur Signature numérique.
-
La boîte de dialogue Signature numérique s’affiche.
-
Sélectionnez un certificat et cliquez sur OK.
Remarque : Si vous n’avez pas sélectionné de certificat numérique ou si vous souhaitez en utiliser un autre, cliquez sur Choisir. Sélectionnez un certificat et cliquez sur OK.
Ajouter un horodatage à votre signature
Pour renforcer la sécurité, il est important d’ajouter un horodatage afin que les autres utilisateurs puissent vérifier que le certificat utilisé pour la signature est toujours valide.
Pour ajouter un horodatage, vous devez ajouter trois clés à votre registre.
Attention : Une modification incorrecte du Registre peut endommager gravement votre système. Avant d’apporter des modifications au Registre, sauvegardez les données importantes sur l’ordinateur.
Touche |
Type |
Description |
---|---|---|
HKCU\Software\Microsoft\VBA\Security\TimeStampURL |
REG_SZ |
URL de votre serveur d’horodatage préféré. (Obligatoire) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryCount |
REG_DWORD |
Nombre de tentatives de connexion de Visual Basic Editor au serveur d’horodatage avant d’échouer. (Facultatif - Si vous ne le définissez pas, Visual Basic Editor ne tentera de contacter le serveur qu’une seule fois) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay |
REG_DWORD |
Nombre de secondes (en millisecondes) pendant lesquelles Visual Basic Editor attend entre une nouvelle tentative de connexion au serveur d’horodatage. (Facultatif : si vous ne le définissez pas, il n’y aura aucun délai entre les nouvelles tentatives) |
Une fois que vous avez ajouté une entrée TimeStampURL opérationnelle, Visual Basic Editor ajoute automatiquement un horodatage chaque fois que vous signez numériquement une macro.
Notes supplémentaires
-
Il est recommandé de signer les macros uniquement une fois que votre solution a été testée et prête à être distribuée : lorsque le code d’un projet de macro signé est modifié d’une manière ou d’une autre, sa signature numérique est supprimée. Toutefois, si vous disposez sur votre ordinateur du certificat numérique valide précédemment utilisé pour signer le projet, une nouvelle signature du projet macro interviendra automatiquement lors de l’enregistrement.
-
Si vous souhaitez empêcher les utilisateurs de votre solution de modifier accidentellement votre projet de macro et d’invalider votre signature, verrouillez le projet de macro avant de le signer. Votre signature numérique implique que vous garantissez que le projet n’a pas été falsifié depuis que vous l’avez signé. Votre signature numérique ne prouve pas que vous avez écrit le projet. Par conséquent, le verrouillage de votre projet de macro n’empêche pas un autre utilisateur de remplacer la signature numérique par une autre signature. Les administrateurs d’entreprise peuvent reconnecter des modèles et des compléments afin de pouvoir contrôler ce que les utilisateurs exécutent sur leurs ordinateurs.
-
Si vous créez un complément qui ajoute du code à un projet macro, votre code doit déterminer si le projet est signé numériquement et indiquer aux utilisateurs les conséquences de la modification d’un projet signé avant de continuer.
En savoir plus
Activer ou désactiver les macros dans les fichiers Microsoft 365