Есть ли способ программно удалить цифровую подпись из макросов VBA листа Excel?
то есть код, который эквивалентен входу в редактор VBA, зайдя в меню Инструменты -> Цифровая подпись и нажав Удалить.
Есть ли способ программно удалить цифровую подпись из макросов VBA листа Excel?
то есть код, который эквивалентен входу в редактор VBA, зайдя в меню Инструменты -> Цифровая подпись и нажав Удалить.
Интересный вопрос. Он намеренно не является частью объектной модели Excel из соображений безопасности.
Сертификат можно удалить из хранилища сертификатов. Для этого требуются вызовы Win32 api (которые могут быть сделаны из VB6 или VBA, но я не уверен в точном влиянии на ваш проект, как только вы это сделаете ... Это окончательно аннулирует сертификат, но я не знаю, будет ли он удалите его.Также вы можете не захотеть удалять сертификат из магазина (так как вы можете использовать его для чего-то другого).
Чтобы просмотреть хранилище сертификатов, введите certmgr.msc в командной строке.
в любом случае ссылка на то, как удалить сертификат программным способом.
Статья базы знаний, показывающая, как удалить доверенный корневой сертификат из магазин.
Требования:
1. Вам необходимо загрузить Windows SDK для соответствующей платформы, чтобы получить библиотеки capicom, + regsvr32 их 2. Вам нужно будет извлечь открытый ключ из сертификата, который вы хотите удалить.
3. Сначала проверьте несущественную книгу, я понятия не имею, вызовет ли этот метод (помимо признания сертификата недействительным) также повреждение книги. Надеюсь, у кого-то есть предложение получше.