Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

В этой статье описывается, как цифровая подпись макрос в Windows с помощью сертификат. Если у вас еще нет цифрового сертификата, необходимо получить его.

Совет: Чтобы использовать или тестировать проекты макросов на своем компьютере, можно создать собственный самозаверяющий сертификат с помощью средства Selfcert.exe. Дополнительные сведения об этом см. ниже.

Получение цифрового сертификата

Вы можете получить цифровой сертификат от коммерческого центра сертификации (ЦС), от внутреннего администратора безопасности или ит-специалиста.

Дополнительные сведения о центрах сертификации, предлагающих услуги для продуктов Майкрософт, см. в списке участников программы корневых сертификатов Майкрософт.

Поскольку самостоятельно созданный цифровой сертификат не был выдан официальным доверенным центром сертификации, макросы, подписанные с использованием такого сертификата, называют самозаверяющими макросами. В Microsoft Office самозаверяющие сертификаты считаются надежными только на том компьютере, на котором они добавлены в папку доверенных корневых центров сертификации в хранилище "Сертификаты — текущий пользователь". Это делает его хорошим для тестирования или использования на собственном компьютере или очень небольшом количестве компьютеров, которыми вы управляете, но не очень хорошо для распространения проектов макросов среди других людей.

Создание самозаверяющего сертификата

  1. Перейдите в папку C:\Program Files (x86)\Microsoft Office\root\Office16.

    Совет: Если вы не нашли его в этой папке, попробуйте C:\Program Files\Microsoft Office\root\Office16

  2. Запустите программу SelfCert.exe. Откроется диалоговое окно Создание цифрового сертификата.

  3. В поле Имя вашего сертификата введите описательное имя сертификата.

  4. Нажмите кнопку ОК.

  5. Когда появится сообщение "SelfCert: успех", нажмите кнопку ОК.

  1. Перейдите в папку C:\Program Files\Microsoft Office\<версия Office>\.

  2. Запустите программу SelfCert.exe. Откроется диалоговое окно Создание цифрового сертификата.

  3. В поле Имя вашего сертификата введите описательное имя сертификата.

  4. Нажмите кнопку ОК.

  5. Когда появится сообщение «SelfCert: успех», нажмите кнопку ОК.

Просмотр сертификата в хранилище личных сертификатов

  1. Откройте Microsoft Edge.

  2. Введите edge://settings/privacy в адресной строке.

  3. Прокрутите вниз до раздела Безопасность и выберите Управление сертификатами.

Цифровая подпись проекта макроса VBA в Excel, PowerPoint, Publisher, Visio, Outlook или Word

  1. Откройте файл, содержащий макрос, который необходимо подписать.

  2. На вкладке Разработчик в группе Код нажмите кнопку Visual Basic.

    Примечание: Если вкладка Разработчик недоступна, перейдите на вкладку Файл . Нажмите кнопку Параметры. Выберите пункт Настроить ленту. В списке Настройка ленты щелкните Разработчик, а затем нажмите кнопку ОК.

  3. В Visual Basic в меню Сервис выберите пункт Цифровая подпись.

  4. Откроется диалоговое окно Цифровая подпись.

  5. Выберите сертификат и нажмите кнопку ОК.

    Примечание: Если вы не выбрали цифровой сертификат или хотите использовать другой сертификат, нажмите кнопку Выбрать. Выберите сертификат и нажмите кнопку ОК.

Добавление метки времени в подпись

Когда пользователи запускают макрос VBA, Office проверка подпись и сертификат, с которым он был подписан. Добавление метки времени в подпись означает, что ваш макрос по-прежнему будет рассматриваться как подписанный даже после истечения срока действия сертификата до тех пор, пока сертификат не будет отозван. Это может уменьшить количество нарушений работы пользователей.

Сертификат, срок действия которого истек, по-прежнему можно использовать для проверки кода. Он просто не может использоваться для подписания нового кода.

Чтобы добавить метку времени, необходимо добавить три раздела в реестр.

Внимание:  Неправильное изменение реестра может привести к серьезному повреждению системы. Прежде чем вносить изменения в реестр, рекомендуется создать резервную копию всех ценных данных на компьютере.

Клавиша

Тип

Описание

HKCU\Software\Microsoft\VBA\Security\TimeStampURL

REG_SZ 

URL-адрес предпочитаемого сервера меток времени. (Обязательный)

HKCU\Software\Microsoft\VBA\Security\TimeStampRetryCount

REG_DWORD

Количество попыток подключения Редактор Visual Basic к серверу меток времени перед сбоем. (Необязательно. Если вы не задали это, Редактор Visual Basic попытается связаться с сервером только один раз)

HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay  

REG_DWORD

Количество секунд (в миллисекундах) Редактор Visual Basic будет ожидать между повторными попытками подключения к серверу меток времени. (Необязательно . Если этот параметр не задан, задержка между повторными попытками не будет).

После добавления рабочей записи TimeStampURL Редактор Visual Basic автоматически добавит метку времени при цифровой подписи макроса.

Дополнительные примечания

  • Рекомендуется подписывать макросы только после тестирования решения и готовности к распространению: при любом изменении кода в проекте подписанного макроса его цифровая подпись удаляется. Однако если на компьютере имеется действительный цифровой сертификат, который ранее использовался для подписания макроса, при сохранении макрос автоматически подписывается заново.

  • Один из способов предотвратить случайное изменение проекта макроса и сделать его недействительным — заблокировать проект макроса перед применением сигнатуры. Цифровая подпись гарантирует, что проект не был изменен с момента его подписания, но не доказывает, что вы написали проект. Даже если вы заблокировали проект макроса, другой пользователь может по-прежнему заменить вашу подпись другой подписью. Корпоративные администраторы также могут повторно подписать шаблоны и надстройки, чтобы убедиться, что на компьютерах компании выполняется только утвержденное содержимое.

  • При создании надстроек, меняющих код макросов, нужно разработать способ проверки проекта на наличие цифровой подписи и, если проект подписан, выводить для пользователя предупреждение о следствиях внесения изменений.

  • Пользователи, использующие коммерческие сертификаты, могут столкнуться с блоками из-за ограничения поддерживаемых хэш-алгоритмов при входе. Вы можете добавить раздел реестра DWORD с значением V1HashEnhanced, чтобы выбрать другой хэш-алгоритм в разделе HKCU\SOFTWARE\Microsoft\VBA\Security с правилами алгоритма значений (1 — SHA1, 2 – SHA256, 3 – SHA384, 4 – SHA512 и другие — MD5). Этот параметр доступен в последних версиях канала CC.

Подробнее

Включение или отключение макросов в файлах Microsoft 365

Примечание: Эта статья была создана человеком с использованием искусственного интеллекта (ИИ).

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×