Applies ToExcel за Microsoft 365 Word за Microsoft 365 Outlook за Microsoft 365 PowerPoint за Microsoft 365 Publisher за Microsoft 365 Visio (план 2) Excel 2024 Outlook 2024 PowerPoint 2024 Excel 2021 Word 2021 Outlook 2021 PowerPoint 2021 Publisher 2021 Visio Professional 2021 Visio Standard 2021 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 Publisher 2019 Visio Professional 2019 Visio Standard 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 Publisher 2016 Visio Professional 2016 Visio Standard 2016 Visio Professional 2013

Тази статия описва как можете да подпишете цифрово проект на макрос в Windows с помощта на сертификат. Ако все още нямате цифров сертификат, ще трябва да получите такъв.

Съвет: За да използвате или тествате проекти с макроси на вашия компютър, можете да създадете ваш собствен сертификат за самоподписан с помощта на инструмента за Selfcert.exe. Ще намерите повече подробности за това по-долу.

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

Можете да получите цифров сертификат от търговски сертифициращ орган (CA), от вашия вътрешен администратор по защитата или ИТ специалист.

За да научите повече за сертифициращите органи, които предлагат услуги за продукти на Microsoft, вж. списъка на членовете на програмата за главни сертификати на Microsoft.

Тъй като цифровият сертификат, създаден от вас, не е издаден от официален надежден орган за сертифициране, проектите с макроси, подписани с такъв сертификат, се наричат самоподписани проекти. Microsoft Office се доверява на самоподписан сертификат само на компютър, на който този сертификат е добавен към Надеждни главни сертифициращи органи в хранилището "Сертификати – текущ потребител". Това е добре за тестване или използване на вашата машина или на много малък брой машини, които управлявате, но не много добре за разпространение на проекти с макроси до други хора.

Създаване на самоподписан сертификат

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

  1. Отворете Microsoft Edge.

  2. Въведете edge://settings/privacy в адресната лента.

  3. Превъртете надолу до секцията Защита и изберете Управление на сертификати.

Подписване с цифров подпис на VBA проект с макроси в Excel, PowerPoint, Publisher, Visio, Outlook или Word

  1. Отворете файла, съдържащ проекта с макроси, който желаете да подпишете.

  2. В раздела Разработчик, в групата Код щракнете върху Visual Basic.

    Забележка: Ако разделът "Разработчик" не е достъпен: щракнете върху раздела Файл. Щракнете върху Опции. Щракнете върху Персонализиране на лентата. В списъка Персонализиране на лентата изберете Разработчик и след това щракнете върху OK.

  3. Във Visual Basic, в менюто Инструменти щракнете върху Цифров подпис.

  4. Появява се диалоговият прозорец Цифров подпис.

  5. Изберете сертификат и щракнете върху OK.

    Забележка: Ако не сте избрали цифров сертификат или желаете да използвате друг, щракнете върху Избор. Изберете сертификат и щракнете върху OK.

Добавяне на клеймо с дата и час към вашия подпис

Когато хората изпълняват вашия 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). Тази настройка е налична в най-новите версии на канала "Як".

Научете повече

Разрешаване или забраняване на макроси във файлове на Microsoft 365

Забележка: Тази статия е създадена от човек с помощта на изкуствен интелект (ИИ).

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.