Si vous achetez une clé de signature à partir de (par exemple VeriSign), vous pouvez l'utiliser pour signer votre code de macro. Lorsqu'un utilisateur ouvre un fichier contenant votre code signé, ce qui se passe dépend alors du «niveau de sécurité macro» qu'il a défini. Supposons que c'est au plus haut niveau, ce qui empêcherait tout code non signé de s'exécuter en silence.
Dans ce cas, on leur dira que le fichier est signé par (nom de votre société) et on leur demandera s'ils souhaitent l'exécuter. On leur demandera cela chaque fois qu'ils ouvrent le fichier. Cependant, il y a aussi une case à cocher intitulée "Toujours faire confiance aux macros de cet éditeur" - si elles cochent cela, alors tout code signé de votre entreprise sera ensuite exécuté sans autre invite. Remarque: la signature que vous achetez chez VeriSign a une date d'expiration - généralement après un an ou deux. À moins que vous ne preniez des mesures supplémentaires avant de signer votre code, alors le code ne sera plus exécuté après l'expiration du certificat () (). Cela peut conduire à un choc désagréable lorsque vos utilisateurs constatent soudainement que rien ne fonctionne un an plus tard. Pour garantir que le code continue de fonctionner même après l'expiration du certificat, vous devez ajouter dans le registre des valeurs spécifiant un "serveur d'horodatage" qui sera utilisé pour horodater le code signé. Cet horodatage est ensuite utilisé pour valider que le code a été signé avec un certificat valide au moment de la signature, par opposition à un qui est valide maintenant. Pour plus d'informations sur la procédure à suivre, voir this link.
Donc, si j'utilise une clé autosignée, ce ne sera pas vraiment différent, n'est-ce pas? Ils seront toujours invités s'ils veulent faire confiance au certificat? J'espérais qu'un certificat de type Verisign ne serait pas aussi intrusif. – AaronLS