Несмотря на то, что файл перемещается, вы можете использовать цифровой сертификат для подписания макропроекта с использованием сертификата от доверенного центра сертификации.
На самом деле цель функции MS Office для цифровой подписи проектов макросов заключается в том, чтобы она запускалась из любого места, в котором включены доверенные макросы, и запускала ее без предупреждения.
Без цифровой подписи это невозможно, вы можете запустить ее на любой рабочей станции без предупреждения, поскольку это наносит ущерб всей цели безопасности, основанной на макросах.
Вот как вы можете подписать свой макропроект цифровой подписью:
Откройте файл, содержащий макропроект, который вы хотите подписать.
На вкладке Developer
в группе Code
выберите Visual Basic
.
В Visual Basic в меню Tools
выберите Digital Signature
. Откроется диалоговое окно «Цифровая подпись».
Выберите сертификат и нажмите ОК.
Заметки:
а) Если вкладка «Разработчик» недоступна: щелкните вкладку « File
». Нажмите Options
. Нажмите Customize Ribbon
. В списке «Настройка ленты» выберите « Developer
и нажмите кнопку «ОК».
б) Если вы не выбрали цифровой сертификат или хотите использовать другой, нажмите « Choose
. Выберите сертификат и нажмите ОК.
c) Рекомендуется подписывать макросы только после того, как ваше решение было протестировано и готово к распространению: когда код в подписанном макропроекте каким-либо образом изменяется, его цифровая подпись удаляется. Однако, если у вас есть действующий цифровой сертификат, который ранее использовался для подписания проекта на вашем компьютере, макропроект автоматически переподписывается при его сохранении.
d) Если вы хотите, чтобы пользователи вашего решения не могли случайно изменить ваш макропроект и сделать вашу подпись недействительной, заблокируйте макропроект, прежде чем подписать его. Ваша цифровая подпись означает, что вы гарантируете, что проект не был подделан с момента его подписания. Ваша цифровая подпись не доказывает, что вы написали проект. Поэтому блокировка вашего макропроекта не мешает другому пользователю заменить цифровую подпись другой подписью. Корпоративные администраторы могут повторно подписывать шаблоны и надстройки, чтобы они могли контролировать работу пользователей на своих компьютерах.
e) Если вы создаете надстройку, которая добавляет код в макропроект, ваш код должен определить, имеет ли проект цифровую подпись, и должен уведомить пользователей о последствиях изменения подписанного проекта, прежде чем они продолжат.
При цифровой подписи макросов важно получить отметку времени, чтобы другие пользователи могли проверить вашу подпись, если срок действия сертификата, использованного для подписи, истек или был отозван после подписания. Если вы подписываете макросы без отметки времени, подпись остается в силе в течение срока действия вашего сертификата.
е) Обратите внимание, что цифровая подпись вашего макропроекта отличается от надежных местоположений.
Рекомендации: