Андрей Смирнов
Время чтения: ~13 мин.
Просмотров: 10

Гайд по криптографии: что такое электронная цифровая подпись и как она работает

  • Частые вопросы и ответы

Рассылка техподдержки:

Номер карточки: SD0012097

При возникновении ошибки «Не удалось проверить сертификат по причине: В браузере требуется установить расширение для работы с электронной подписью и шифрованием.»

Алгоритм проверки электронной подписи:

В программном продукте 1С необходимо 

1. перейти в раздел «Администрирование» 

2. «Обмен электронными документами»

3. «Настройка электронной подписи и шифрования»

4. На вкладке «Сертификаты» открыть используемый сертификат

5. Нажать на кнопку «Проверить»

!1.jpg

6. Ввести пароль закрытой части ключа и нажать «Проверить»

! Обращаем Ваше внимание, что программа сама увеличит количество * в поле «Пароль:» до 16 при проверке. Данное поведение является штатным и выступает дополнительной защитой конфиденциальных данных в виде количества символов в пароле. Проверка будет осуществлена на основании введенных Вами данных.

1.jpg Если в ходе проверки напротив пункта «Наличие сертификата в личном списке» возникнет сигнализирующий об ошибке желтый символ, на него необходимо нажать для открытия технической информации об ошибке.2.jpg Если в технической информации об ошибке указано «Не удалось проверить сертификат по причине: В браузере требуется установить расширение для работы с электронной подписью и шифрованием.», а иные проверки не проводились, то это обозначает, что пользователь использует Веб-серверное приложение конфигурации 1С и осуществляет работу через браузер. Для корректной работы браузера с криптопровайдерами требуется установить дополнительное расширение. 

Для этого необходимо перейти в раздел «Администрирование» — «Обмен электронными документами» — «Настройки электронной подписи и шифрования» — вкладка «Программы»

3.jpg

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

В открывшемся окне появится информация о том, что для корректной работы необходимо установить расширение для браузера и установить компоненту. В окне необходимо нажать «Продолжить». 

4.jpg

При нажатии «Продолжить» произойдёт автоматическая загрузка компоненты 1CExtension, а также  произойдёт переход, в нашем случае в магазин Google Chrome, с предложением установить «Расширение для работы с 1С:Предприятием». Необходимо нажать «Установить».

! Обращаем Ваше внимание, что данное расширение предоставляется Бесплатно.

5.jpg

В следующем окне необходимо нажать «Установить расширение»

6.jpg

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

content-img.png

Данный файл (расширение работы с криптографией) — 1CExtension,  ранее был скачен. Его необходимо найти в загрузках и запустить.

content-img.png

Произойдёт автоматическая установка. После полного заполнения строки Completed необходимо нажать Close.

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

7.jpg

После определения криптопровайдера сертификат успешно пройдет тест.

content-img.png

На одном из крупных проектов возникла не совсем обычная для 1С задача. Нужно было организовать массовую отправку и подписание документов контрагентов с помощью электронной цифровой подписи. Поиск информации в справочной системе и на 1Сных форумах нужного результата не дал. Пришлось разбираться со средствами криптографии, электронными ключами и сторонними утилитами. Найденное решение оказалось простым и достаточно гибки для повторения в других проектах, поэтому хочу с вами поделиться. Постановка задачи в цифрах: • На предприятии заказчика работает почти 3000 человек в более 50 филиалах по всей России. • На предприятии заказчика используется УПП 1.3 (платформа 8.2.19.76). • Более 10 000 активных контрагентов. • Для большей части контрагентов (покупателей) раз в месяц нужно отправлять документы в электронном виде (Счета, акты, счета-фактуры, РТУ и т.д.). Всего, около 100 000 документов. • На отправку документов выделяется 2 рабочих дня. • В процедуре отправки должно быть задействовано минимальное количество людей. Сейчас их число удалось сократить до 2х человек. • Документы должны отправляться по электронной почте в виде вложенных PDF-файлов. Каждый PDF-файл должен быть подписан ЭЦП. Два слова, что вообще собой представляет ЭЦП. Для подписания и работы с файлами используется два ключа: закрытый и открытый. Закрытый ключ хранится у Вас на токене и используется для подписания или шифрования документов. Открытый ключ должен быть распространен всем пользователям, которые должны работать с подписанным Вами документом. Обычно это происходит автоматически при подписании файла. Далее, есть файл, который нам нужно подписать. С помощью специального ПО из содержания файла и Вашего закрытого ключа создается уникальная символьная последовательность, что-то вроде контрольной суммы. Эта последовательность и есть электронно-цифровая подпись. ЭЦП всегда уникальна для данного пользователя и данного документа. Подпись содержит информацию о дате подписания документа, подписанте, контрольную сумму для подписанного документа и ссылку или сам файл открытого ключа. Подпись может быть добавлена в подписываемый файл или сохранена в виде отдельного файла. Нас, конечно, интересует первый вариант. Как всегда, решение задачи начал с изучения того, что уже есть. Нашлось несколько модулей криптографии и ЭЦП для 1С. Но они не подошли. Как правило, они умеют подписывать или XML-файлы, или сохранять подпись и открытый ключ в отдельный файл. А нам нужно было получить на выходе подписанный PDF-документ, который можно будет просто и удобно просмотреть с помощью того же Adobe Acrobat Reader. Вторым решением было поискать, так называемые, PDF-принтеры – программы, которые умеют сохранять любой документ в виде PDF-файла. Самым подходящим решением оказался BullZip PDF Printer (http://www.bullzip.com/products/pdf/download.php), который в платной версии имеет функцию подписания создаваемых документов. Решение, в принципе, подошло, но появились серьезные бюрократические проблемы с покупкой, согласованием и установкой нового софта на территории предприятия. Пока решение проходило согласование, я обратил внимание на комплект программ КРИПТО-ПРО, который, как правило, поставляется и работает вместе с ключом ЭЦП.

Решение первое, полу-ручное

Подавляющее большинство ключей ЭЦП выпускаются в виде eToken или Rutoken USB-модулей. В моем случае был eToken. Кто не знает, основное отличие состоит в том, что eToken имеет встроенный аппаратный криптографический сопроцессор. Это значит, что при шифровании данных закрытый ключ не покидает токена. В нашем случае эта разница значения не имеет. Не буду рассматривать установку драйверов USB-ключей. Они, как правило, поставляются выпускающим удостоверяющим центром вместе с самими токенами и установка проблем не вызывает. Еще с токенами обычно поставляется лицензия на КРИПТО-ПРО и утилита КриптоПро CSP. Я использовал последнюю доступную на данный момент версию 3.9. Дальше все просто. Запускаем КриптоПро CSP. Закладка Сервис, кнопка Посмотреть сертификаты в контейнере, нажимаем Обзор для выбора токена с криптохранилищем, и выбираем нужно нам хранилице. Обычно на одном токене одно хранилище.52654e1ad43d4e69a5afb205649ded94.png Нажимаем Далее и получаем окошко с информацией по сертификату, к которому привязан ключ. Ждем кнопку Установить и устанавливаем сертификат в хранилище Личное для локального пользователя. Обычно, вместе с утилитой КриптоПро CSP в меню Пуск устанавливается ярлык для оснастки Сертификаты. Запускаем оснастку, убеждаемся, что все правильно сделано и сертификат действительно установился в раздел Личное для текущего пользователя.ad32e3c4cf3d4ace81bda630454118d9.png Дальше, Кликаем правой кнопкой по установленному сертификату, Все задачи, Экспорт. Обязательно отказываемся экспортировать закрытый ключ и сохраняем сертификат куда-нибудь на локальный компьютер, например, на рабочий стол, в формате файла X.509 (.CER) в кодировке DER. Сохраненный сертификат нам понадобиться дальше для выполнения подписи. Последнее, что нам осталось, это скачать с сайта www.cryptopro.ru/downloads утилиту КриптоПро PDF, с помощью которой и будем выполнять подпись PDF-файлов. Работа утилиты крайне проста. Выбираем папку в которой находятся PDF-файлы, выбираем папку в которую будут сохранены файлы с подписью (если это одна и так же папка, в дополнительных настройках нужно установить флажок «Перезаписывать файлы с одинаковыми именами») выбираем из контейнера сертификат, который будем использовать для подписи, вводим пин от ключа и, если все указали правильно, через несколько секунд в папке-приемнике появятся подписанные PDF-файлы. Для того, чтоб ЭЦП признавалась юридически, по закону, должна быть установлена еще метка времени, но мне для задачи это не требовалось. В принципе, все! Если у Вас небольшая организация и пара десятков контрагентов то можно вообще ничего больше не делать и оставить все в ручном режиме. Кроме того, 1С нам пока вообще не была нужна, документы в формате PDF можно создать многими способами, в том числе и из Microsoft Office. Долго не мог разобраться, почему подпись не проходит и выдает ошибку. Оказалось, что успешной работы утилиты КриптоПро PDF на компьютере должна быть установлен Adobe Acrobat Pro (не Reader, это важно!). Именно с его помощью утилита модифицирует PDF-файлы и добавляет и них подпись. Пример подписанного файла на картинке. Выглядит как обычный PDF, только на закладке Подписи появились данные о подписанте. Из важного, указано кто подписал документы (обычно это ФИО и название организации) и что с момента подписания документ не изменялся. Информацию о том, что сертификат ненадежный можно игнорировать. Это говорит только о том, что компания Adobe и ее продукт Acrobat Reader ничего не знают о Вашем сертификате.12edcc0808db41a7b177380f0fda89e4.png

Решение второе, автоматическое

Как писал выше, в моем случае ручное решение не подошло. Контрагентов много, для каждого за месяц создается несколько десятков документов. Их все нужно сохранить в PDF, подписать, отправить одним письмом. Для решения задачи придумали модифицировать и использовать стандартную для многих конфигураций обработку «Групповая обработка справочников и документов». Для самых популярных конфигураций эта обработка или входит в саму конфигурацию или ее можно найти как внешнюю на диске с ИТС. Обработка уже умеет печатать отобранные документы. В последних версиях платформы появился штатный механизм сохранения печатных форм в виде PDF файлов. Осталось совместить эти два механизма и сохранять выбранные пользователем документы в папку на локальном компьютере, а затем запускать командную строку и запускать утилиту КриптоПро PDF для выполнения подписи. Немного доработали интерфейсную часть. Убрали из обработки работу со справочниками. Оставили в интерфейсе 4 вида документов, которые нужно отправлять. Изменили систему отборов. Создали новый регистр сведений Настройки ЭЦП. В него для каждого пользователя сохраняется информация о том, по какому пути лежит КриптоПро PDF на локальном компьютере, папки для временного хранения файлов, сертификат, которым будет выполнена подпись. Еще просили сохранять пин от ключа, но мы не стали этого делать из соображений безопасности. Чтоб автоматизация была уж совсем полной, пришлось в 1С оживить модуль электронной почты. Дальше все просто. Раз в месяц оператор выбирает список контрагентов и виды документов, которые должны быть отправлены, проверяет результат отбора, нажимает кнопку Выполнить, вводит пин-код от ключа и ждет… В моем случае формирование пакета документов может длится несколько часов. Обработка группирует отобранные документы по контрагентам, дальше циклом проходится по каждому контрагенту, выбирает все его документы, сохраняет в виде PDF-файлов на диск, запускает утилиту КриптоПро PDF из командной строки, подписывает сохраненные документы, создает документ Электронное письмо с контактными данными из справочника контрагентов, в качестве вложения прикрепляет подписанные документы из папки на диске, переводит письмо в статус для отправки и переходит к следующему контрагенту. Письма отправляются регламентным заданием раз в 10 минут. Обработку можно оставлять на ночь. Возникшие проблему будут корректно обработаны, а утром пользователь увидит журнал шибок и журнал отправленных писем. Для удобства приведу кусочек кода, который выполняет саму процедуру подписания. Все параметры берутся из созданного регистра сведений.

МассивВходящих = НайтиФайлы(КаталогВходящие, "*.pdf", Ложь); КоличествоФайловВходящие = МассивВходящих.Количество(); Сообщить("Обнаружено " + КоличествоФайловВходящие + " файлов для подписи.");  КоманднаяСтрока = ИмяФайлаКриптоПро + " sign" + " --in-dir=""" + КаталогВходящие + """" + " --out-dir=""" + КаталогИсходящие + """" + " --report-dir=""" + КаталогЛоги + """" + " --err-dir=""" + КаталогОшибки + """" + " --certificate=""" + ИмяФайлаСертификата + """" + " --pin=""" + ПинКод + """" + " --overwrite-files";  ЗапуститьПриложение(КоманднаяСтрока, "", истина);  МассивИсходящих = НайтиФайлы(КаталогИсходящие, "*.pdf", Ложь); КоличествоФайловИсходящие = МассивИсходящих.Количество(); Сообщить("Подписано " + КоличествоФайловИсходящие + " файлов."); 

В данной статье рассмотрим быструю настройку работы Яндекс браузера для работы с электронной подписью. Ниже приведенные настройки будут работать в том случае, если ваш компьютер уже настроен для работы с электронной подписью:

  • установлен криптопровайдер (КриптоПРО CSP или другой);
  • установлен Личный сертификат;
  • установлены корневые сертификаты Удостоверяющего центра, который выдал вам электронную подпись.

Внимание! В данной статье описан процесс настройки ТОЛЬКО для электронных подписей, выданных с использованием криптопровайдера КриптоПРО CSP и для аппаратных ключен (Рутокен ЭЦП, JaCarta ГОСТ и пр.). Если Ваша электронная подпись выдана с использованием иного криптопровайдера (например, Vipnet CSP, Lissi CSP и пр.) дальнейшие настройки могут повредить вашу операционную систему! Для настройки обратитесь в организацию, выдавшую вам электронную подпись!

Где взять Яндекс Браузер?

Скачать Браузер можно с официальной страницы разработчика:  https://browser.yandex.ru/ Процесс скачивания и установки описывать не будем, он достаточно прост и понятен.

Установка компонентов для работы с электронной подписью

Для работы с электронной подписью Вам потребуется установка компонентов:

  • КриптоПРО CSP;
  • КриптоПРО ЭЦП Browser plugin;
  • Плагин системы электронного правительства (нужен только для работы с сайтом Госуслуг и ЕСИА).

С 1 января 2019 года рекомендуемым к использованию является КриптоПРО CSP версии 4.0 и выше, поэтому мы рекомендуем использовать именно его. Скачать актуальную версию можно с нашего сайта. Установка КриптоПРО CSP достаточно простая, с ней может справится любой пользователь — запустить скачанный файл и далее следовать мастеру установки.

Актуальную версию КриптоПРО ЭЦП Browser plugin можно скачать с сайта производителя по прямой ссылке:  https://www.cryptopro.ru/products/cades/plugin/get_2_0 Установка КриптоПРО ЭЦП Browser plugin также достаточно простая — запустить скачанный файл и следовать мастеру установки.

Также потребуется установить расширение для браузера, его можно установить по ссылке:  https://chrome.google.com/webstore/detail/cryptopro-extension-for-c/iifchhfnnmpdbibifmljnfjhpififfog . Как откроется страница нажмите «Установить», через пару секунд расширение установится.

Плагин системы электронного правительства можно скачать на странице загрузок:  https://ds-plugin.gosuslugi.ru/plugin/upload/Index.spr При переходе по ссылке скачивание плагина начнется автоматически. Установка плагина также проста, дополнительной настройки не требует. Для работы в Яндекс Браузер потребуется установка расширения. Для его установки необходимо открыть Яндекс Браузер и в нем открыть ссылку  https://chrome.google.com/webstore/detail/ifcplugin-extension/pbefkdcndngodfeigfdgiodgnmbgcfha и нажать кнопку «Установить». Через пару секунд плагин должен установиться.

Выключаем лишнее

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

Чтобы избежать проблем — рекомендуем удалить такие программы как Менеджер браузеров, Кнопка Яндекс на панели задач, Элементы Яндекс для Internet Explorer. Удаляются они штатными средствами MS Windows — через Панель управления — Программы и компоненты.

Включение настроек для работы с подписью

Включения настроек для работы с электронной подписью производится через меню браузера. Для этого выполним следующие действия: Откроем меню браузера (в правом верхнем углу браузера кнопка с тремя полосками) и выберем пункт меняю «Дополнения» как указано на рисунке или в адресной строке просто открываем страницу browser://tune.

настройка плагинов в яндекс браузер

В открывшемся окне с плагинами необходимо включить нужные нам плагины: КриптоПРО ЭЦП и Расширение для плагина Госуслуг (при необходимости).

включение плагинов яндекс браузер

После включения плагинов необходимо подключить возможность работы с защищенным соединением TLS по ГОСТ. Для этого заходим в настройки браузера и в разделе «Сеть» поставим галочку «Подключаться к сайтам, использующим шифрование по ГОСТ.» Как указано на рисунках ниже.

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

Обращаем внимание! Для корректной работы защищенного соединения требуется отключать антивирус на время работы с подписью! Это необходимо при работе на сайта ФНС или на сайте ЕРУЗ (zakupki.gov.ru). А что касается знаменитого антивируса Касперского, то у него надо делать «Выход» (отключение не помогает)! 

Обычно настройка Яндекс.Браузера для работы с электронной подписью занимает у наших специалистов 10-15 минут. Вы можете обратиться в нашу платную техническую поддержку за помощью. Стоимость настройки электронной подписи в Яндекс.Браузер обычно стоит 600 рублей!

Если помогла статья — скажите Спасибо автору:

Используемые источники:

  • https://1c-edo.ru/handbook/28/4010/
  • https://habr.com/post/253681/
  • https://avitek.ru/info/articles/kak-nastroit-yandeks-brauzer-dlya-raboty-s-elektronnoy-podpisyu/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации