Как подписать xml файл электронной подписью
Средство криптографической защиты КриптоПро имеет большое количество модулей, вспомогательных дистрибутивов, которые совместимы с ПО. Целый комплекс программных средств позволяет эффективно шифровать данные, осуществлять верификацию электронных документов, создавать подпись на различных типах документов.
Чтобы грамотно использовать СКЗИ и обеспечивать надлежащую защиту электронного документооборота необходимо правильно настроить КриптоПро и внимательно ознакомиться с инструкцией по правильному использованию программы. Купить программу КриптоПро можно в SoftMagazin, выбрав подходящий тип лицензии для компьютеров или серверов.
Как подписать документ электронной подписью КриптоПро PDF
Если вы не знаете, как подписать PDF файл ЭЦП КриптоПро, ознакомьтесь прежде всего с ПО, которое необходимо для подписания файла данного типа. Прежде всего, для работы приложения КриптоПро PDF потребуется установленное СКЗИ КриптоПро CSP, имеющее версию не меньше 3.6. Также для запуска программы потребуется одна из данных программ, установленная на ПК: Adobe Acrobat или Adobe Reader.
Установив средство для работы с PDF-файлами и непосредственно КриптоПро PDF, можно приступать к созданию ЭЦП. Настроить необходимые функции можно через меню Adobe Acrobat или Adobe Reader. Так, например, во вкладке «Создание» можно отрегулировать метод создания подписи. В пункте «Подписание» есть возможность выбрать необходимый тип подписи, если зайти во вкладку «Работа с сертификатами».
Как подписать файл с помощью ЭЦП КриптоПро
В одном из предыдущих обзоров детально расписано, про КриптоПро CSP, как подписать файл в программе Microsoft Word, например. Чтобы ознакомиться с этапами формирования подписи, прочитайте обзор «КриптоПро - что это такое».
Как выгрузить сертификат из КриптоПро
Понадобится зайти в Панель Управления для запуска КриптоПро CSP. Открыв вкладку «Сервис» выбрать из списка контейнеров нужный с сертификатом. Чтобы открыть сертификат, необходимо нажать на пункт «Свойства». В пункте «Состав» нужно будет выбрать «Копировать в файл». Нужно отказаться от экспортирования закрытого ключа и выбрать путь сохранения сертификата.
Как перенести сертификат КриптоПро на другой компьютер
Перенести сертификаты из программы на другой компьютер можно несколькими способами. Можно воспользоваться экспортом-импортом сертификатов. В пункте «Личное» необходимо выбрать из списка сертификатов и перенести его через Мастер Экспорта. Личные сертификаты экспортируются через Панель Управления.
Другим способом является инсталляция сертификатов из контейнеров электронной цифровой подписи. Так, если вы имеете версию ПО КриптоПро выше 3.6, есть возможность скопировать удостоверение в контейнер закрытого ключа. В таком случае потребуется просто перенести контейнеры, выбрать необходимые сертификаты и установить их на новый ПК.
Как скопировать сертификат из КриптоПро на флешку
Осуществить копирование можно несколькими способами – при помощи Windows, либо непосредственно при помощи программы. Если ваша версия программы не меньше 3.0, можно воспользоваться средствами Windows. Необходимо папку с закрытым ключом разместить в корень флеш-накопителя, также желательно не изменять имя файла.
Если же производить дублирование на флешку при помощи КриптоПро, то понадобится вкладка «Сервис». Нужно нажать «Скопировать» и через обзор выбрать копируемый контейнер. Выбрав новое имя контейнера, в окне нужно будет выбрать флешку, на которую он будет размещен.
КриптоПро АРМ: как подписать файл
Программа КриптоАРМ позволяет осуществлять шифрование данных, создание и проверку цифровой подписи на основе криптоалгоритмов, применяющихся в КриптоПро. Чтобы подписать файл при помощи данной программы, ее необходимо установить на ПК. После инсталляции потребуется открыть документ, в котором нужно поставить подпись.
Нажав на файл документа правой кнопкой мыши, нужно выбрать одну из функций КриптоАРМ, например, «Подписать и зашифровать». Кроме файла потребуется непосредственно: сертификат, выбор алгоритма шифрования. Также необходимо будет выбрать кодировку и каталог размещения для файла. Следующим этапом является тип подписи, например, «Утверждено», добавить комментарий при необходимости, выбрать сертификат. Для завершения формирования подписи понадобится выбор криптопровайдера, сертификаты получателя и другие функции.
При возникновении данной ошибки, необходимо убедиться, что в подсоединен именно носитель с сертификатом, а сама флешка должна соответствовать сертификату. Возможным вариантом решения проблемы является удаление паролей к закрытым ключам. Операцию можно проделать, зайдя через «Сервис» и нажать «Удалить запомненные пароли», и произвести переустановку личного сертификата.
Проблема может возникнуть, если имя съемного носителя было изменено, либо в папке содержатся не весь перечень необходимых файлов с нужным форматом. Для корректной работы с флеш-накопителем, контейнер закрытого ключа должен быть целым.
КриптоПро не видит флешку, как носитель
Чтобы отрегулировать видимость флешки понадобится настройка программы. Произвести настройку нужно зайти в Панель Управления и выбрать криптопровайдер. Открывшееся окно имеет несколько вкладок. Выберите «Оборудование». Здесь необходимо выбрать пункт «Настроить считыватели».
Флеш-накопитель должен отображаться в списке доступных считывателей. Если его нет, потребуется его «Добавить». Каждый съёмный носитель называется «Дисковод». После нажатия кнопки «Далее» флешка должна отобразиться в списке считывателей.
Получите ключ подписи (сертификат) в Удостоверяющем центре. Список аккредитованных удостоверяющих центров опубликован на сайте Росреестра (Список удостоверяющих центров). Получить усиленную квалифицированную электронную подпись можно в нашем Удостоверяющем центре ООО «Программный центр»
Вместе с подписью приобретите и установите на компьютер программу КриптоПро CSP (она содержит требующиеся российские стандарты подписи), которую также можно приобрести в нашем Удостоверяющем центре ООО «Программный центр»
Другие программы для подписи не требуются: КриптоАРМ (возможности КриптоАРМ в части подписания аналогичны возможностям программ серии «Полигон», модулям «Полигон Про» и программы «Подпись Про»).
Программные модули платформы «Полигон Про»
Подписание файлов проекта
Чтобы подписать XML-файл, печатные документы и другие файлы, которые приложены к проекту, выполните следующее:
Сформируйте электронный документ без ошибок.
На ленте на вкладке «Главная» в меню кнопки «Подготовить пакет документов» (или меню кнопки ) нажмите кнопку
Откроется окно «Подпись документов»:
На панели «Документ» показаны все документы, которые относятся к проекту.
По центру располагается панель предварительного просмотра и информация о расположении документа.
Кнопки , , позволяют выбрать вид предпросмотра.
Чтобы подписать документы, у каждого документа на панели «Выбор подписантов» обязательно должен быть выбран подписант.
Чтобы выделить документ, щелкните левой кнопкой мыши по нужному документу.
Чтобы выделить все документы сразу, нажмите кнопку .
Чтобы выделить группу документов:
нажмите на первый файл левой кнопкой мыши и, удерживая клавишу Ctrl, выделите все необходимые файлы;
нажмите на первый файл левой кнопкой мыши и, удерживая Shift, нажмите на последний необходимый файл в списке (все файлы, которые располагаются между первым и последним файлом, будут выделены).
На панели «Выбор подписантов» из выпадающего списка выберите подписанта, то есть каким сертификатом необходимо подписать документы.
При наведении курсора на подписанта отображается тип сертификата и срок действия.
Чтобы добавить еще одного подписанта, нажмите кнопку , затем выберите сертификат.
Нажмите .
Если документ был подписан ранее, рядом с названием будет отображена иконка .
Чтобы соподписать данный документ, выделите его, выберите подписанта и установите галочку «Добавить подписантов в существующий файл подписи». Нажмите .
Подписание любых файлов
Чтобы подписать любой файл на Вашем компьютере:
1. На ленте на вкладке «Главная» в меню кнопки «Подготовить пакет документов» (или меню кнопки ) нажмите кнопку .
2. В открывшемся окне выберите файл, который требуется подписать:
3. В окне «Выбор сертификата» выберите сертификат из списка, которым необходимо подписать документ, и нажмите :
При активных переключателях:
- показываются только действующие сертификаты ЭП.
- показываются только сертификаты, которые выданы нашим Удостоверяющим центром.
С помощью меню кнопки «Сортировка» Вы можете отсортировать список по убыванию или возрастанию: даты окончания, издателя и имени.
В той же папке, где расположен подписанный файл, будет сформирован файл подписи с тем же именем, с расширением *.sig.
Проверка электронной подписи
Если Вы получили подписанный файл извне и хотели бы проверить, не был ли он изменен, либо проверить, правильно ли сформирована подпись файла, выполните следующие действия:
1. На ленте на вкладке «Главная» в меню кнопки «Подготовить пакет документов» (или меню кнопки ) нажмите кнопку .
2. Выберите файл подписи (с расширением *.sig), либо подписанный файл, который необходимо проверить.
Примечание: чтобы включить отображение всех файлов, в окне открытия файлов выберите «Все файлы».
Откроется протокол с информацией, правильно ли был подписан документ и кем.
Программа «Подпись Про»
Для удобного взаимодействия с Удостоверяющим центром ООО «Программный центр», управления цифровыми сертификатами и закрытыми ключами ЭП, а также для подписания различных файлов электронной подписью была разработана программа «Подпись Про».
Программа «Подпись Про» позволяет подписывать электронной подписью файлы любых форматов, в том числе XML-файлы и проверять корректность созданной ЭП.
Подписание любых файлов
Чтобы подписать любой файл на Вашем компьютере:
На ленте на вкладке «Главная» нажмите кнопку или клавишу F4.
В открывшемся окне выберите нужный файл:
При создании присоединенной подписи создается новый файл, в который помещается подписываемый документ и подпись к нему. Чтобы сформировать такую подпись, снимите галочку в пункте «Формировать подпись в отдельном файле (отсоединенная)».
Отсоединенная подпись формируется в отдельном от подписываемого документа файле. Чтобы сформировать такую подпись, установите галочку в пункте «Формировать подпись в отдельном файле (отсоединенная)».
Для выбора кодировки установите маркер в нужном пункте.
В различных структурах установлены свои правила приема электронных документов. Так, например, в Росреестре принимают файлы с отсоединенной подписью в кодировке DER.
Именно такие параметры установлены по умолчанию.
Чтобы изменить параметры по умолчанию, в окне «Настройки» в разделе «Подпись» выберите кодировку, а также тип подписи.
При активных переключателях:
- показываются только действующие сертификаты ЭП.
- показываются только сертификаты, которые выданы нашим Удостоверяющим центром.
С помощью меню кнопки «Сортировка» Вы можете отсортировать список по убыванию или возрастанию: даты окончания, издателя и имени.
Проверка электронной подписи
Если Вы получили подписанный файл извне и хотели бы проверить, не был ли он изменен, либо просто проверить правильность сформированной подписи файла, выполните следующие действия:
Примечание: чтобы включить отображение всех файлов, в окне открытия файлов выберите «Все файлы».
Откроется протокол с информацией, правильно ли был подписан документ и кем.
Программы серии «Полигон»
Подписание файлов проекта
Чтобы подписать XML-файл выполните следующее:
- Сформируйте электронный документ, для этого в главном окне программы откройте меню кнопки «Сохранить» и выберите строку «Выгрузить в XML…», откроется окно электронного документа:
Подключите устройство, содержащее секретный ключ подписи, к компьютеру, то есть вставьте в порт компьютера флэш или смарт-карту (похожа на флэш). Если секретный ключ записан непосредственно в компьютере, и смарт-карту Вы не приобретали, то этот шаг выполнять не нужно.
Примечание: В Росреестр необходимо представить два файла: файл электронного документа *.xml и файл соответствующей ему электронной подписи *.xml.sig, скопируйте оба этих файла на свой носитель из папки Экспорт, находящейся внутри папки, где установлена программа (например, С:\Межевой план\Экспорт или Мои документы\Межевой план\Экспорт).
Примечание: квалифицированная усиленная электронная подпись (электронно-цифровая подпись) формируется в двоичном DER-формате в отдельном файле в соответствии с требованиями Росреестра. Не пытайтесь «прочитать» файл sig – там будет только набор нечитаемых символов. В подпись автоматически добавляется дата и время подписания документа.
Подписание любых файлов
В программе имеется возможность подписать любой имеющийся файл, например, файл отсканированного документа, являющегося приложением к электронному документу, в том числе таким же способом можно подписать и электронный документ (XML-файл).
В меню кнопки «Сохранить» выберите команду «Подписать файл…».
Подключите устройство, содержащее секретный ключ подписи, к компьютеру (если имеется такое устройство: флэш, смарт-карта).
В открывшемся окне выберите нужный файл (сначала выберите Тип файла:Все файлы).
Проверка электронной подписи
Если Вы получили подписанный файл извне и хотели бы проверить, не был ли изменен полученный файл после его подписания, либо просто проверить правильность сформированной подписи файла, выполните:
В меню кнопки «Сохранить» выберите команду «Проверить ЭЦП».
Подписание файлов с помощью других программных средств
Кроме механизма, предусмотренного в наших программах, Вы можете использовать для подписания другие программы, например, КриптоАРМ. Необходимые Вам функции этой программы аналогичны тем, что имеются в нашей программе, однако, при необходимости Вы можете обратиться к следующей инструкции для подписания электронных документов с помощью КриптоАРМ.
Инструкция по подписанию файлов, если не используются программы серии «Полигон», «Полигон Про» или «Подпись Про».
Как подписать файл электронно-цифровой подписью?
Данная инструкция является примерной, конкретные шаги могут зависеть от установленного на Вашем компьютере программного обеспечения. Часть инструкция выполнена в феврале 2012 года, однако в наших программах предусмотрена более удобная возможность подписания файлов электронных документов усиленной квалифицированной электронной подписью.
Для подписи файлов электронных документов: межевой план, карта план, технический план электронной подписью необходимо убедиться в наличии установленных программ:
криптопровайдер «КриптоПро CSP».
«Крипто АРМ» – эта программа необходима только тогда, когда у Вас не используются программы серии "Полигон", эта программа в части подписания идентична программам серии "Полигон", поэтому она не нужна; для подписания файлов программами серии "Полигон" смотрите предыдущую страницу инструкции; подписывать можно как программами серии "Полигон", так и программой КриптоАРМ, если Вы считаете, что это будет удобнее, чем использовать имеющиеся возможности программ серии "Полигон".
Каждый файл (XML, скан печатного документа и файлы приложений) необходимо подписать, так как орган кадастрового учета принимает только пары файлов: оригинальный файл и файл подписи к нему. Для того, чтобы подписать файл необходимо выбрать его в окне проводника и нажать правой кнопкой мыши (ПКМ), появится контекстное меню, в нем следует выбрать пункт «КриптоАРМ», а затем «Подписать…».
В появившемся окне нажать кнопку «Далее»
Затем убедиться в правильности имени файла
и нажать кнопку «Далее». Затем установить выходной формат файла
Важно! установить переключатель в положение «DER-кодировка», папку для выходных файлов указать по своему усмотрению. Нажать кнопку «Далее». В следующем окне назначить параметры подписи
откроется окно выбора сертификата
в нем выберите сертификат Вашего ключа (смотрите по имени владельца). После выбора нажмите кнопку «ОК» и «Далее». В последнем окне перед подписанием документа нажмите кнопку «Готово».
Важно! Для каждого файла необходимо сделать файл подписи, так как принимается только пара: оригинальный файл (xml или другой) + подпись к нему (sig-файл).
Итоги вебинара «Уточнение границ земельного участка с уточнением границ его части»
Для собственного использования создал инструкцию для подведов. Буду рад, если кому-нибудь пригодится в работе. Ниже представлен текст с картинками из инструкции по созданию подписанного ЭЦП электронного документа, с использованием ПО КриптоПро. В самом конце приложена ссылка на исходник, он выполнен в виде Гугл документа, шаблон - брошюра, формат листа А4. Его можно использовать по своему усмотрению.
КриптоПро CSP
Для подписи электронных документов, будем использовать программное обеспечение КриптоПро CSP.
Использование иных криптографических программ под административную ответственность руководителей и лиц, использующих ПО СКЗИ, не имеющих действующего сертификата соответствия ФСБ РФ.
Инструменты КриптоПро
Для работы с ЭЦП запустите утилиту “Инструменты КриптоПро”. В ней собраны все необходимые инструменты для работы с ЭЦП
Для работы можно использовать ЭЦП, выданную Казначейством района Для этого необходимо скачать и установить корневой сертификат Федерального казначейства РФ по ссылке. Так как это корневой сертификат, то и установить его необходимо в хранилище корневых сертификатов.
Установка сертификатов
Используя Инструменты КриптоПро, перейдите в пункт меню “Сертификаты” и установите сертификат Федерального казначейства в “доверенные корневые центры сертификации”.
Затем повторите процедуру для ЭЦП сотрудника, выбрав место установки сертификата “Личное”. Подготовка завершена.
Создание подписанного документа
Подписать можно абсолютно любой файл.
Перейдите в пункт “Создание подписи”
Нажмите на кнопку “Выбрать файл для подписи” и выберите файл, который нужно подписать.
Выберите подпись, которой необходимо подписать документ. Обратите внимание - ЭЦП должно быть актуальной.
После выбора ЭЦП станет активной кнопка “Подписать”. Необходимо её нажать. Если документ подписан и нет ошибок - под кнопкой “подписать появится соответствующая надпись. Либо будет указана ошибка с кодом.
Далее перейдите в папку, где хранился подписываемый документ, в нем будет два файла - сам документ и его подпись. Размещать или пересылать необходимо оба документа.
Заключение
Инструкцию делал для подведов. Писал максимально простым языком. Если кому то пригодится в работе - буду рад.
Можно использовать классы в пространстве имен System.Security.Cryptography.Xml для подписания XML-документа или его части при помощи цифровой подписи. Цифровые подписи XML (XMLDSIG) позволяют убедиться, что данные не были изменены после подписания. Дополнительные сведения о стандарте XMLDSIG см. в разделе рекомендации по синтаксису XML-подписиконсорциум W3C (W3C) и обработке.
Код в этой статье относится к Windows.
В примере кода в этой процедуре показано, как подписать весь XML-документ с помощью цифровой подписи и присоединить подпись к документу в Signature элементе <>. Пример создает ключ подписывания RSA, добавляет его в безопасный контейнер ключей и затем использует этот ключ для создания цифровой подписи XML-документа. Впоследствии ключ можно извлечь для проверки цифровой подписи XML либо использовать для подписывания другого XML-документа.
Сведения о том, как проверить цифровую подпись XML, созданную с помощью этой процедуры, см. в разделе как проверить цифровые подписи XML-документов.
Создание цифровой подписи XML-документа
Создайте объект CspParameters и укажите имя контейнера ключей.
Создайте асимметричный ключ, используя класс RSACryptoServiceProvider. Этот ключ автоматически сохраняется в контейнер ключей при передаче объекта CspParameters в конструктор класса RSACryptoServiceProvider. Этот ключ будет использоваться для подписывания XML-документа.
Создайте объект XmlDocument, загрузив XML-файл с диска. Объект XmlDocument содержит XML-элемент для шифрования.
Создайте новый объект SignedXml и передайте в него объект XmlDocument.
Добавьте ключ подписывания RSA в объект SignedXml.
Создайте объект Reference, определяющий, что именно требуется подписать. Чтобы подписать весь документ целиком, установите для свойства Uri значение "" .
Добавьте объект XmlDsigEnvelopedSignatureTransform в объект Reference. Преобразование позволяет проверяющему представить XML-данные в той же самой форме, которую использовал подписавший. XML-данные могут быть представлены различными способами, поэтому этот шаг крайне важен для выполнения проверки.
Добавьте объект Reference в объект SignedXml.
Вычислите подпись, вызвав метод ComputeSignature.
Извлеките XML-представление сигнатуры ( Signature элемент> <) и сохраните его в новый XmlElement объект.
Добавьте элемент в объект XmlDocument.
Пример
В этом примере предполагается, что файл с именем test.xml существует в том же каталоге, что и скомпилированная программа. Можно поместить следующий XML-код в файл с именем test.xml и использовать его вместе с данным примером.
Компиляция кода
Не следует хранить или передавать закрытый ключ из пары асимметричных ключей в виде обычного текста. Дополнительные сведения о симметричных и асимметричных криптографических ключах см. в разделе Создание ключей для шифрования и расшифровки.
Читайте также: