Предотвратить потерю цифровой подписи при сохранении документа?

436
Samuel Everson

Вопрос

Что такое эффективный обходной путь для предотвращения выпадения цифровой подписи из файла при его сохранении? Или, каков будет эффективный способ репликации сохраненных данных в документ MS Word с поддержкой макросов и цифровой подписью?

Некоторый контекст ...

Короче говоря, мое рабочее место теперь требует, чтобы файлы с поддержкой макросов были подписаны цифровой подписью, иначе макросы отключены (без опции включения) из-за обновления политики безопасности. Я особенно обеспокоен приложениями MS Office, использующими VBA.

Примечание: я не имею права голоса в этом вопросе, и при этом у меня нет возможности обсудить это с командой, которая осуществила изменение.

Также обратите внимание: я, к сожалению, не знаю, какой тип подписи будет применяться к моему документу или откуда он будет.

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

Я только что закончил разработку документа MS Word, содержащего немало VBA, и UserFormsкогда политика была изменена, и в этом моя потенциальная проблема.

Для ясности

Документ MS Word является оценкой, используемой в ходе различных тренингов для бизнеса, чтобы гарантировать, что сотрудники хорошо понимают новые изученные типы работы.

Есть 3 этапа, на которых документ сохраняется:

  1. Создание оценки
  2. Завершение участника
  3. Маркировка оценщика

Шаг 1 включает в себя то, UserFormчто по завершении записывает введенные пользователем значения в различные закладки (как заполнители, так и вложения), предварительно установленные в пустом документе. Затем документ программно сохраняется и переименовывается из «Шаблон оценки» в «[Тип навыка] Оценка [Номер оценки]» (с переменными [], назначенными для пользовательских входов).

Шаг 2 включает в себя UserFormзапрос, который запрашивает некоторые основные пользовательские данные (имя, местоположение, номер команды и т. Д.) И отображает содержимое вложенных закладок из документа в UserForm labelsвиде вопросов, с TexBoxразделами для предоставления ответа. Затем он отправляется программным способом через вложение электронной почты, которое включает в себя сохраняемый документ и переименовывается, чтобы добавить «_ [имя участника]» в конец имени файла.

На шаге 3 ведущий помечает оценку с помощью еще одной, UserFormа затем отправляет результаты руководителю группы участников по электронной почте (снова с использованием VBA). Здесь документ сохраняется как макрос бесплатно, так как он отправляется только как ссылка на результат.

В итоге

Исходя из моего понимания, что после сохранения документа в проекте VBE появятся какие-либо обновления, цифровая подпись больше не будет действительной, и мой проект больше не будет полезен в нашей текущей рабочей среде.

Я пытаюсь лучше понять, как работают цифровые подписи (если они отличаются от моего нынешнего понимания), и я пытаюсь выработать некоторые альтернативные решения для сохраняемого документа и впоследствии при необходимости теряю подпись .

В качестве примера того, что я пытаюсь сделать, коллега заменил сохранение формы Excel записью пользовательских данных в .binфайл, сохраненный в пользовательских документах (всего 5 коротких входных данных). Поскольку эта форма никогда не сохраняется (на самом деле сохранение документа отключено), это был подходящий метод для замены SaveAsприглашения и сохранения рабочей книги в режиме макроса.

Примечание. Я не верю, что это подходящее решение для моего документа, так как объем данных, которые будут вводиться в мой документ (не говоря уже о вышеизложенном, покажет результаты только для пользователя, который внес изменения, и никто другой) ).

Обновить

Кажется, что проверенный файл имеет функцию, которая пишет в VBE (наряду с рабочим листом - большая часть проекта), так что это может быть причиной того, что у меня возникла путаница с изменениями, из-за которых подпись удалялась.

Поскольку теперь я понимаю немного больше о Сигнатурах (я, возможно, просто слишком рано спросил об этом) и о фактической ситуации с другими файлами в среде, я думаю, если документ будет иметь цифровую подпись, и после этого в VBE не будет внесено никаких изменений., документ может быть сохранен с изменениями, внесенными в содержимое документа, и это не повлияет на действительность подписи?

1
«Исходя из моего понимания, что после сохранения документа цифровой сертификат перестанет действовать, мой проект больше не будет полезен в нашей текущей рабочей среде». - Какие? Один и тот же сертификат можно использовать для подписи нескольких файлов. Ваше предположение неверно. Срок действия сертификата может истечь, и он остается действительным до его отзыва. Сохранение документа не сделает сертификат недействительным. Вам нужно получить больше информации о сертификате, прежде чем мы сможем ответить на любой из ваших вопросов. Ramhound 5 лет назад 1
Я думаю, что вы смешиваете «Цифровой сертификат» и «Цифровая подпись». Сертификат не связан ни с одним документом или файлом, подпись есть. Сертификат используется для проверки подписи. Подпись создается путем объединения подписанного документа и секретного ключа, которым обладает только лицо, создавшее сертификат. Если вы измените документ, подпись будет недействительной и не может быть воссоздана без секретного ключа. Nathan.Eilisha Shiraini 5 лет назад 0
@ Ramhound "Что?" в самом деле! Половина сражения здесь заключается в сложности рабочей среды, а также в отсутствии связи (это было обновлено однажды, без предупреждения), и, как отметил Натан, я очень растерялся. Подводя итог, нам сказали, что для всех файлов требуется «цифровой сертификат», позволяющий использовать VBA. Согласно некоторым тестам Excel, если файл впоследствии сохраняется, «аутентификация» теряется, и VBA или макросы больше не включаются. Мне трудно попытаться уточнить мой вопрос, поскольку я действительно не уверен, что именно спрашиваю. Думаю, я просто не хочу отказываться от такой долгой тяжелой работы! Samuel Everson 5 лет назад 0
@ Nathan.EilishaShiraini, которая на самом деле помогла мне прояснить, что происходит, но согласно моему вышеприведенному комментарию, я могу только следовать тому, что мне сказали, что на самом деле совсем немного. Я чувствую, что здесь есть некоторые недостающие кусочки головоломки, и это может быть намного сложнее, чем ожидалось ... Samuel Everson 5 лет назад 0
Цифровой сертификат, в частности сертификат, используемый для подписи документов, не может стать недействительным. Цифровая подпись может стать недействительной. Так о чем конкретно ты спрашиваешь? Я поддерживаю тот факт, что мы не можем вам помочь, если вы не предоставите информацию о сертификате. Ramhound 5 лет назад 0
Более 20 лет занимаясь написанием решений для VBA, я никогда не слышал и не говорил клиентам, что мой сертификат цифровой подписи 3 был или будет удален после сохранения файла. Если файл с поддержкой макросов сохраняется в формате, который не поддерживает макросы, то да, возможно, сертификат может исчезнуть, но так же и код VBA ... так что это спорный вопрос. В любом случае, вам нужен сертификат подписи Digital Code 3, и они доступны из многих источников. Rich Michaels 5 лет назад 0
У меня есть 100% шанс, что мне сообщили о неверной терминологии. На работе сегодня я сделаю некоторые раскопки, чтобы уточнить. Я полностью понимаю, что вопрос недостаточно ясен, чтобы предоставить и ответить, и я приложу все усилия, чтобы получить некоторую ясность и возвращение. Будучи новичком в SuperUser, было бы лучше оставить этот вопрос и внести необходимые изменения или удалить его и начать заново, как только у меня появится ясность? Я только спрашиваю, как я вижу из ваших и других ответов, что мой вопрос не имеет смысла. Samuel Everson 5 лет назад 0
@richmichaels спасибо за информацию! Я постараюсь выяснить, какие сертификаты и тому подобное используются. В любом случае, у меня нет голоса по этому вопросу, но это отличная информация! Samuel Everson 5 лет назад 0
@RichMichaels: я думаю, что мы смешиваем два метода подписания документа MS Office: когда вы подписываете только модуль VBA, и когда вы подписываете весь документ (код и содержимое). Самуилу нужно первое, но он думает о поведении второго. grawity 5 лет назад 0

0 ответов на вопрос

Похожие вопросы