Понимание работы ЭЦП и особенности расширенной настройки

Электронная цифровая подпись


Ответить
Аватара пользователя
Andrew
Разработчики FossDoc
Сообщения: 869
Зарегистрирован: 26 дек 2008, 16:03

Понимание работы ЭЦП и особенности расширенной настройки

Сообщение Andrew » 01 фев 2013, 13:31

Быстрый старт с ЭЦП

Для того, чтобы ваш документ мог быть подписан ЭЦП, достаточно включить функцию при дизайне типа документа:
Функция ЭЦП на типе документа.jpg
Функция ЭЦП на типе документа.jpg (170 КБ) 3083 просмотра
Система поддерживает разных поставщиков ЭЦП, но в бесплатную версию входит лишь Microsoft крипто-провайдер. Убедитесь, что в свойствах в администрировании он выбран.
Выбор провайдера ЭЦП.jpg
Выбор провайдера ЭЦП.jpg (37.94 КБ) 3083 просмотра
После этого вы должны получить сертификат (собственно ваш приватный-публичный ключ), обычно это делается через центр сертификации в домене Windows.

Подпись документа ЭЦП
Подписать документ ЭЦП достаточно легко — требуется стать на вкладку ЭЦП, и нажать одну кнопку, как показано на рисунке ниже:
Диалог подписи ЭЦП.jpg
Диалог подписи ЭЦП.jpg (147.91 КБ) 3084 просмотра
Как видим, по умолчанию система подписывает только вложенные файлы, но не поля карточки.

С чем это связано? Ответ прост: если вы создали свой тип документа, то никто не может знать, в какой момент времени и какие поля вы планируете заполнять. Следовательно, подписывать «все подряд» - плохая идея, ведь если изменить хоть что-либо — ЭЦП нарушается.

Важно отметить, что большинство систем документооборота ограничиваются лишь подписью файлов-вложений к карточке, и скорее всего в 99% случаев вам будет этого достаточно для работы и полноценной защиты. В этом случае, вы можете не уделять внимание всему, что описано ниже - про "Расширенную настройку ЭЦП".

Если же вам все же нужно подписать не только вложенные файлы, но например еще и несколько полей карточки, и дочерние документы? Для этого потребуется настроить все это.

Расширенная настройка ЭЦП
Внимание! Описанное в данном разделе ниже предполагает понимание и владение расширенным администрированием. Всегда создавайте резервные копии (бекап базы) при подобных операциях, а также испытывайте все на тестовом сервере, а не сразу на рабочей системе.

Допустим мы имеем тип документа «Договор», в нем вложенные файлы, два поля, и дочерние документы «Дополнительные соглашения». Мы планируем настроить ЭЦП так, чтобы одним нажатием кнопки выполнялась подпись карточки «Договор», его файлов, а также всех дочерних документов «Дополнительные соглашения» и их файлов.

Внешний вид карточки «Договор» и карточки «Дополнительное соглашение»
Наши документы, на которых мы будем испытывать ЭЦП — «Договор» и дочерний в нем «Дополнительное соглашение».
Карточка договора.jpg
Карточка договора.jpg (42.02 КБ) 3083 просмотра
В вкладке «Дополнительные соглашения» можно создавать такие документы:
Карточка дополнительного соглашения.jpg
Карточка дополнительного соглашения.jpg (40.26 КБ) 3083 просмотра
Создание нового типа ЭЦП
Под «Тип ЭЦП» мы понимаем набор свойств, который нужно подписывать.

Создаем новый тип ЭЦП:
Создание нового типа ЭЦП.jpg
Создание нового типа ЭЦП.jpg (79.64 КБ) 3084 просмотра
Заполните свойства:
Создание типа ЭЦП - Свойства.jpg
Создание типа ЭЦП - Свойства.jpg (91.58 КБ) 3087 просмотров
Список подписываемых полей
В окне списка полей требуется ввести уникальные имена. Узнать уникальные имена полей вы можете узнать, раскрыв свойствах каждого поля, например:
Копируем уникальное имя поля.jpg
Копируем уникальное имя поля.jpg (79.82 КБ) 3084 просмотра
Теперь мы можем заполнить «Список подписываемых полей»: берем уникальные имена «Содержание» и «Корреспондент» - EDMS_FIELD_DOCUMENT_CONTENT и EDMS_FIELD_KORRESPONDENT, в итоге:
Заполнение списка подписываемых полей.jpg
Заполнение списка подписываемых полей.jpg (88.39 КБ) 3086 просмотров
Теперь наш тип ЭЦП почти готов. Но его нужно «связать» с нашим типом документа «Договор». Для этого сохраните и закройте карточку «Тип ЭЦП», и в ветку «Типы документов» вставьте ссылку на свой тип документа, как показано на рисунке ниже:
Ссылка в закрепленных видах документов.jpg
Ссылка в закрепленных видах документов.jpg (22.42 КБ) 3084 просмотра
Взять ссылку вы можете из своей библиотеки, или просто скопируйте из вкладки «Объект» у типа документа его идентификатор.

Проверка работы «Договора» с нашим типом ЭЦП

После описанных действий, снова идем на вкладку «ЭЦП» у документа-договора, и пробуем просмотреть список подписываемых полей, видим вот что:
Список подписываемых полей - Содержание и Корреспондент.jpg
Список подписываемых полей - Содержание и Корреспондент.jpg (32.41 КБ) 3085 просмотров
Все получилось, так, как мы и задумали, но нам еще нужны «Вложенные файлы». Но нужно понимать, что вложенный файл это не просто «поле» в документе, а это полноценный объект в системе, у которого есть свои поля (например имя файла и тело файла). К счастью, подключить подпись вложенных файлов достаточно легко — просто скопируйте ссылку на объект «Подпись вложенных файлов» из других типов ЭЦП, например из «Документ»:
Копирование ссылки подпись файлов-вложений.jpg
Копирование ссылки подпись файлов-вложений.jpg (57.28 КБ) 3083 просмотра

После такой манипуляции ЭЦП будет подписывать не только два поля в карточке, но и каждый вложенный файл в документе.

Как автоматически подписать ЭЦП дочерние документы
Разумеется по аналогии вы можете настроить тип ЭЦП и для всех дочерних документов. Но не очень удобно каждый раз нажимать кнопку, особенно если мы создали вначале «Договор», потом тут же создали в нем дочернее «Дополнительное соглашение». Нам нужно чтобы после всего того, как документы созданы, «подписать» их одним нажатием.

Этот вопрос решает технология «Подпись подобъектов». Рассмотрим как самому создать такую запись, аналогичную «Подпись файлов-вложений», которую мы использовали выше.

Этап 1: настроить тип ЭЦП для дочернего типа документа
Вначале настройте ЭЦП для дочернего типа документа, аналогично как мы делали для «Договора» (раздел "Создание нового типа ЭЦП") . Визуально отличий не будет, разве что у вас будут другие наборы полей.

Этап 2: создайте запись в контейнере «Подпись подобъектов»
Стоя на типе ЭЦП «Договор», в его контейнере «Подпись подобъектов» создайте новую запись, заполните так, как показано на рисунке ниже:
Новая запись подпись подобъектов.jpg
Новая запись подпись подобъектов.jpg (100.7 КБ) 3085 просмотров
Сохраните и закройте форму. Теперь, последний этап — указать ссылку на поле, которое хранит в себе собственно «Дополнительные соглашения»:
Копирование ссылки на поле дополнительные соглашения.jpg
Копирование ссылки на поле дополнительные соглашения.jpg (76.71 КБ) 3084 просмотра
Проверка результата
В финале проверяем какие атрибуты подписывает ЭЦП:
Финальный просмотр подписываемых полей.jpg
Финальный просмотр подписываемых полей.jpg (35.42 КБ) 3084 просмотра
Если теперь мы создадим «Договор», создадим в нем набор дочерних документов, все сохраним, прямо на «Договоре» нажмем «Подписать ЭЦП», то система подпишет нам сам договор, его поля, его файлы, а также обойдет каждое «доп.соглашение» и аналогично подпишет и его.

Ответить

Вернуться в «Настройка ЭЦП»