Certificat digital pour les projets VBA

Les macros de Microsoft Office sont un outil puissant. En effet, il s’agit d’une implantation du langage de programmation Visual Basic pour la suite Office et comme tel, ce langage peut appeler d’autres programmes, lancer des commandes, etc. Il pourrait par exemple ouvrir Internet Explorer sur une page malveillante ou encore effacer des fichiers importants de votre ordinateur. Afin de conserver la sécurité de vos applications Office, vous ne devriez jamais paramétrer la sécurité des macros à un niveau inférieur à medium.

Au niveau bas de sécurité des macros, les logiciels Office exécutent toutes les macros sans vous donner d’avertissement.

Au niveau moyen, les programmes vous avertiront que le document contient des macros et vous demandera si vous désirez permettre leur exécution.

Au niveau élevé, aucune macro ne sera exécutée et vous ne recevrez aucun avertissement.

Il peut devenir lassant de toujours voir le même message d’avertissement à l’ouverture d’un document que vous avez créé, sachant très bien qu’il contient des macros puisque c’est vous qui les avez développées. Il y a un moyen de pallier à ce problème sans compromettre la sécurité de votre ordinateur. Il s’agit de créer un certificat de sécurité pour vos projets VBA et de définir votre certificat comme digne de confiance.

Cette solution est très pratique pour les usages personnel et à l’interne en entreprise. Par contre, pour un usage commercial (si vous voulez vendre les macros que vous développez), vous devrez faire appel à une autorité de certification compétente afin que votre certificat soit reconnu universellement.

Le certificat est une clé encryptée liée à votre document qui valide qu’un projet VBA provient de vous, donc d’une source fiable pour vos applications Office.

Une fois le certificat créé et identifié comme source de confiance dans Office, le message d’avertissement en ouverture de document aura plus de signification. Vous saurez qu’un document contient des macros qui ne sont pas les vôtres.

Méthode:.

Voici un petit tutoriel qui indique, pour une première utilisation, comment mettre en place votre certificat.

1. Mettre la sécurité des macros au niveau moyen

Vous devrez répéter cette opération dans chacun des logiciels de la suite Office avec lesquelles vous utilisez des macros parce que les paramètres de sécurité ne sont pas centralisés.

Pour tous les programmes, le menu de sécurité des macros se trouve dans la barre de menu. Allez sous TOOLS/MACROS/SECURITY…

TOOLS-MACROS-SECURITY

Puis choisir le niveau de sécurité moyen. *Vous pouvez aussi choisir le niveau élevé, mais je préfère personnellement être mis au courant s’il y a des macros non-reconnus dans un document. Parce que, par exemple, si j’envoi ensuite le document à un collègue et qu’il ouvre une macro malicieuse, il me tiendra en parti responsable puisque je lui ai envoyé.

moyen

2. Créer un Digital certificate for VBA Project

Vous devez ensuite créer un certificat. L’utilitaire qui vous permet de le faire n’est pas installé par défaut avec Office. Si vous ne l’avez pas installé, faites simplement une mise à jour avec le CD d’installation. Lorsqu’installé, le programme s’appelle Selfcert.exe et se trouve dans le répertoire d’Office.  Il est accessible par le menu Démarrer sous: START/MICROSOFT OFFICE/MICROSOFT OFFICE TOOLS/DIGITAL CERTIFICATE FOR VBA PROJECTS.

C’est un utilitaire très simple qui n’est constitué que d’une boite de dialogue qui vous demande un nom pour le certificat.

DCFVBAP

Donnez un nom plaisant (laissez aller votre élan lyrique) à votre certificat et cliquez OK. Une boite de dialogue affichera un message de confirmation. Votre certificat est maintenant créé.

Confirmation
3. Ajouter le certificat à votre projet

Maintenant, vous devez signer votre projet VBA avec le certificat que vous venez de créer à la sueur de votre front. Pour ce faire, ouvrez le document Office que vous désirez et allez dans l’IDE de VBA.

Dans le menu, ouvrez TOOLS/DIGITAL SIGNATURE…

Menu Digital Signature

Une fenêtre vous montre quel certificat est présentement attaché au projet, s’il en est, et le bouton CHOOSE devrait vous interpellez.

Boutton Choose qui interpelle

Choisissez le certificat que vous voulez appliquer au projet. Votre code est maintenant signé avec une clé encryptée unique.

Choisir un certificat

4. Sauver, quitter et relancer le document

Vous devrez répéter cette opération dans chacun des logiciels de la suite Office avec lesquelles vous utilisez des macros.

Je n’ai malheureusement pas fais de screen shots pour montrer comment fermer et ouvrir votre document.

5. Accepter votre certificat comme digne de confiance

Vous NE devrez PAS répéter cette opération dans chacun des logiciels de la suite Office avec lesquelles vous utilisez des macros. Le niveau de sécurité des macros est gérer individuellement par les programmes Office, mais les certificats de sécurité sont centralisés.

Une fois le “reboot” du document effectué, vous aurez un nouveau message d’avertissement car Office a trouvé une macro signée d’un certificat.

Macro signée

Si le nom correspond bien au nom que vous avez donné puis attaché à votre macro, cliquez le checkbox “Always trust…” puis open.

Pour vos projet suivants, vous n’aurez qu’a suivre l’étape 3, ajouter votre certificat à votre code VBA peu importe l’application. Puisque vous avez cliqué “Toujours faire confiance …” Office ne vous ennuyera plus avec son message d’avertissement … à moins qu’une macro non-signée soit présente. Dans un tel cas, n’autorisez pas Office à ouvrir les macros, ouvrez le document et allez voir le contenu de ce code que vous n’avez pas développé.

One response

19 08 2016
Benoît Dupéré

Pour ma part, il ne faut pas sauvegarder avant de quitter Outlook. Fermer Outlook. C’est Outlook qui vous demandera de sauvegarder votre projet VBA. Sinon ça ne marchait pas, le projet macro ne se signait pas. Le reste est comme décrit.
Merci!

Leave a comment