Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

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

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

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

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

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

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

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

  1. Отидете на C:\Програмни файлове (x86)\Microsoft Office\root\Office16.

    Съвет: Ако не я намерите в тази папка, изпробвайте C:\Програмни файлове\Microsoft Office\root\Office16

  2. Щракнете върху SelfCert.exe. Показва се прозорецът Създаване на цифров сертификат.

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

  4. Щракнете върху OK.

  5. Когато се появи съобщение за успешно изпълнение на SelfCert, щракнете върху бутона OK.

  1. Отидете на C:\Програмни файлове\Microsoft Office\<версия на Office>\.

  2. Щракнете върху SelfCert.exe. Показва се прозорецът Създаване на цифров сертификат.

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

  4. Щракнете върху OK.

  5. Когато се появи съобщение за успешно изпълнение на SelfCert, щракнете върху бутона OK.

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

  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

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

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

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

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

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

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×