Вопрос внедрения электронной подписи (ЭП) часто упирается в необходимость закупки платных лицензий криптопровайдеров (например, КриптоПро CSP). Однако для внутреннего использования, когда подпись нужна лишь для подтверждения авторства внутри компании или визуализации «штампа» на документах, можно обойтись штатными средствами операционной системы Windows и платформы 1С:Предприятие. Рассмотрим подробно, как это реализовать, какие инструменты использовать и какие юридические нюансы учесть.
Прежде чем приступать к технической настройке, проанализируем правовую базу. Согласно Федеральному закону № 63-ФЗ «Об электронной подписи», существует три вида подписей. Для внутреннего документооборота нам интересны два из них:
Для реализации НЭП без покупки стороннего ПО мы воспользуемся встроенным в ОС Windows криптопровайдером Microsoft Enhanced Cryptographic Provider.
Разберем вопрос автора темы: является ли Microsoft Enhanced Cryptographic Provider платным? Нет, этот программный модуль входит в состав стандартных библиотек Microsoft Windows. Он бесплатен и доступен на любой современной версии ОС. Его главное отличие от КриптоПро заключается в использовании алгоритмов RSA/AES, а не российских ГОСТ-алгоритмов. Для внутреннего использования это допустимо, если ваша организация не обязана строго следовать требованиям ФСБ по защите информации (как, например, госорганы).
Чтобы система 1С:ДО «увидела» этот провайдер, выполним следующие действия:
Microsoft Enhanced Cryptographic Provider v1.0.1 (для RSA).SHA256 или SHA1 (в зависимости от версии ОС).SHA256 или SHA1.Для работы ЭП необходимы сертификаты. Поскольку мы не планируем их покупать, нам нужно создать собственный «Удостоверяющий центр» (УЦ). Проанализируем два основных способа:
Если в компании есть сервер на базе Windows Server, системный администратор может развернуть роль Active Directory Certificate Services (AD CS). Рассмотрим преимущества этого подхода:
Если развертывание полноценного CA кажется избыточным, можно воспользоваться консольными командами или простыми утилитами для создания самоподписанных сертификатов. Важно понимать: чтобы 1С не выдавала ошибку «Цепочка сертификатов не проверена», созданный корневой сертификат вашего «самодельного УЦ» должен быть вручную добавлен в список «Доверенные корневые центры сертификации» на каждом рабочем месте сотрудника.
Для тех, кто планирует кастомизировать процессы подписания, платформа 1С предоставляет мощный объект МенеджерКриптографии. Рассмотрим пример кода, который позволяет проверить, подписан ли объект, и получить информацию о сертификате:
// Пример получения менеджера криптографии для встроенного провайдера
ИмяПровайдера = "Microsoft Enhanced Cryptographic Provider v1.0";
ТипПровайдера = 1;
Менеджер = Новый МенеджерКриптографии(ИмяПровайдера, "", ТипПровайдера);
// Если нужно программно подписать данные
Попытка
Сертификат = Менеджер.ВыбратьСертификат();
Если Сертификат <> Неопределено Тогда
ДанныеДляПодписи = Новый ДвоичныеДанные(ПутьКФайлу);
Подпись = Менеджер.Подписать(ДанныеДляПодписи, Сертификат);
Подпись.Записать(ПутьКФайлу + ".p7s");
Сообщить("Файл успешно подписан");
КонецЕсли;
Исключение
Сообщить("Ошибка при подписании: " + ОписаниеОшибки());
КонецПопытки;
В типовом решении «1С:Документооборот» этот функционал уже встроен, и ручное написание кода требуется крайне редко — обычно достаточно настройки в пользовательском режиме.
Одной из главных задач внутреннего ЭДО является создание визуального эффекта «официальности». Для этого в 1С:ДО используется механизм штампов. Выясним, как настроить отображение синего прямоугольника с данными подписанта на печатных формах:
Важный совет: При создании внутренних сертификатов через Microsoft CA устанавливайте срок действия не менее 3–5 лет. Стандартный срок в 1 год заставит администратора слишком часто заниматься перевыпуском ключей для всех сотрудников компании.
Как отмечали участники обсуждения, использование ЭП часто несет психологическую нагрузку: сотрудник более ответственно подходит к нажатию кнопки «Согласовано», понимая, что его действие заверено криптографически.
Если все же требуется использовать российские алгоритмы ГОСТ (например, для совместимости с внешними системами в будущем), но бюджет ограничен, проанализируем вариант с ViPNet CSP. Это программное обеспечение часто распространяется бесплатно для определенных сценариев использования. Однако стоит учитывать риски: ViPNet может конфликтовать с другими криптопровайдерами на одном ПК, а его техподдержка для бесплатных версий практически отсутствует.
Для организации полноценного и бесплатного внутреннего ЭДО в «1С:Документооборот» выполним следующие шаги:
Такой подход позволяет полностью отказаться от бумаги во внутреннем цикле документов, обеспечивая при этом высокую степень защиты данных и доверие со стороны руководства без затрат на лицензирование стороннего софта.