В настоящее время я пытаюсь подписать макросы VBA в сценариях Excel и Word и Powershell с помощью cmd.
Для этой цели я использую Microsoft signtool.exe в составе Windows 10 SDK: https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/
Подписание сценариев Powershell с помощью следующей команды работает нормально:
signtool.exe sign / f "testca.pfx" / fd SHA256 / p "123456 "" test.ps1 "
Для подписи макросов в документах Office также требуются" Пакеты предметного интерфейса Microsoft Office для цифровой подписи проектов VBA ": https://www.microsoft.com/en-us/download/confirmation.aspx?id=56617
Я скачал .exe и выполнил его.
Регистрация файлов DLL с помощью: "regsvr32" также работала. Пути к файлам .dll видны в реестре.
Microsoft Visual C ++ 2015-2019 Распространяется также (x86).
Так что теоретически я должен теперь иметь возможность подписывать макросы Excel , Однако мой сервер получает сообщение об ошибке с кодом ошибки, о котором я ничего не могу найти в Google.
Вот полный вывод:
Были рассмотрены следующие сертификаты :
Выдано: TestCA
Выдано: TestCA
Срок действия истекает: Среда, 03 февраля 08:53:09 2021
SHA1 га sh: E19CE363C88CDBCE677FA170008D0AB0D98A02D C
После фильтра EKU остались одни сертификаты. После истечения срока действия фильтра осталось 1 сертификат. После фильтра закрытого ключа осталось 1 сертификат. Был выбран следующий сертификат:
Выдан: TestCA
Выдан: TestCA
Срок действия истекает: Среда, 03 февраля 08:53:09 2021
SHA1 га sh: E19CE363C88CDBCE677FA170008D0AB0D98A02D C
Будут добавлены следующие дополнительные сертификаты: Готово Добавление
Дополнительная ошибка хранилища SignTool: произошла непредвиденная внутренняя ошибка.
Информация об ошибке: «Ошибка: Ошибка SignerSign (). (-2147220492 / 0x800403f4») )
Я выполнил установку, как описано выше, несколько раз на разных компьютерах с правами администратора и текущими обновлениями:
Что ты Вероятно, можно сказать, что signtool.exe
работает как таковой, потому что я могу подписывать скрипты PowerShell на всех машинах. Но подписывание макросов не всегда работает. Возможно, это как-то связано с пакетами интерфейса?
Надеюсь, у кого-то уже была такая же проблема, и она может помочь. Потому что я схожу с ума от этого. Большое спасибо!