Как подписать документ с помощью эцп. Инструкция по подписанию файлов электронной подписью Как подписать xml файл

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

В сфере государственных закупок электронной подписью подписывают поданные заявки. Это дает заказчикам гарантию, что они имеют дело с реальными участниками. Также контракты, которые заключаются по итогам госзакупок, вступают в действие только после визирования с помощью ЭЦП.

Также цифровая подпись необходима в таких ситуациях:

  1. Отчетность для контролирующих органов. Можно сдать ее в электронном виде таким службам, как ФНС, Росстат, ПФР и ФСС. Это значительно упрощает передачу информации и повышает правильность: большинство сервисов предлагают автоматическую проверку на ошибки.
  2. Электронный документооборот (ЭДО). Одно из самых распространенных применений, так как подписанное таким способом письмо соответствует бумажному с печатью и визой. Позволяет перейти на безбумажный документооборот как внутри компании, так и за ее пределами.
  3. Государственные услуги. Гражданин РФ может визировать подаваемые заявления в ведомства через портал госуслуг, участвовать в общественных инициативах, пользоваться личным кабинетом на сайте ФНС, даже оформлять кредит.
  4. В качестве доказательств можно использовать счет-фактуры, договоры, официальные письма, подписанные электронно. Согласно АПК РФ, такой документ является аналогом бумажного с собственноручной визой.

Какие бывают электронные подписи

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

  1. Простая. Распространена для подписания писем или спецификаций, подтверждается с использованием паролей, кодов и иных средств, чаще всего используется в системах корпоративного ЭДО.
  2. Усиленная . Получается в процессе криптографической обработки информации и использования закрытого ключа. Позволяет установить, кто подписал документ, а также факт внесения изменений после подписания.
  3. Усиленная . Аналогична неквалифицированной, но для ее создания и проверки используются наработки криптозащиты, сертифицированные ФСБ РФ. Такие ЭП выдаются только аккредитованными

Завизировать документ можно несколькими способами. Рассмотрим наиболее часто встречающиеся.

Подписываем с помощью программного комплекса «КриптоПРО CSP»

Как подписать электронной подписью документ Ворд (MS Word)

1. Открываем нужный файл, жмем в меню «Файл» — «Сведения» — «Добавить электронную подпись (КРИПТО-ПРО)».

2. Выбираем нужную ЭП, добавляем комментарий, если нужно, и жмем «Подписать».

3. Если нет ошибок, то система показывает окно с успешным подписанием.

Если установлен плагин КриптоПРО Office Signature

1. Открываем нужный файл, выбираем «Файл», затем — «Добавить цифровую подпись».

2. Аналогично предыдущему варианту, выбираем необходимую ЭП, добавляем, если нужен, комментарий и жмем «Подписать».

3. Если нет ошибок, то система показывает сообщение, что документ успешно подписан.

Как подписать электронной подписью документ PDF (Adobe Acrobat PDF)

1. Открываем необходимый PDF-файл, нажимаем на панели «Инструменты» и видим ярлык «Сертификаты». Выбираем его.

2. Нажимаем на «Поставить цифровую подпись» и выбираем область на файле, где будет располагаться отметка о подписании.

4. Откроется окно с предварительным видом штампа. Если все верно, то нажимаем «Подписать».

5. Система выдаст оповещение об успешном подписании. На этом все.

Подписание программным комплексом «КриптоАРМ»

При таком способе есть возможность шифрования всех современных форматов, а также архивов.

Итак, разберемся, как подписать документ ЭЦП с помощью «КриптоАРМ».

1. Открываем программу «КриптоАРМ» и выбираем самый первый пункт действий — «Подписать».

2. Внимательно изучаем инструкцию Мастера созданий ЭП. Нажимаем «Далее».

3. Жмем на «Выбор файла», переходим к нужному файлу, щелкаем по нему и жмем «Далее».

4. Выбираем подписываемый файл, нажимаем «Далее».

5. Видим окно «Выходной формат». Если нет обязательных требований, то кодировку оставляем как есть. Можно сохранить в формат ZIP (для отправки по e-mail) или выбрать место сохранения конечного результата. Жмем «Далее».

6. В «Параметрах» можно выбрать свойство, добавить комментарий, а также выбрать присоединенную ЭП (присоединяется к исходному файлу) или отсоединенную (сохраняется отдельным файлом), а также дополнительные параметры по желанию. Когда все готово, жмем «Далее».

7. Теперь необходимо выбрать сертификат, для этого жмем «Выбрать», указываем необходимый сертификат и жмем «Далее».

8. На следующем этапе видим итоговое окно с кратким описанием данных. Если в следующий раз файлы будут подписываться в таком же порядке, то можно сохранить профиль. Жмем «Готово».

9. Если нет ошибок, то система выдаст сообщение об успешном подписании.

Не могу придти к общему пониманию механизмов подписи xml-документов. Буду благодарен за помощь разобраться)

Ситуация у меня такая:

1) есть удостоверяющий центр, выпущенные сертификаты которого проставляются на серверах в хранилище windows.. в личные, доверенные и так далее..не суть.

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

CAPICOM.SignedData _signedData = new CAPICOM.SignedData(); _signedData.Verify(signedData, false, CAPICOM_SIGNED_DATA_VERIFY_FLAG.CAPICOM_VERIFY_SIGNATURE_AND_CERTIFICATE); if (_signedData.Content != data) throw new Exception("Контент подписи не совпадает с полученным контентом"); var _certificate = _signedData.Certificates; // сертификат пользователя

Так мы получаем сертификат пользователя (открытый ключ). Важно то, что подпись пройдет проверку только в том случае, если соответствующий открытый ключ сертификата стоит на сервере в хранилище сертов. Это нам и нужно, пускать только тех, чьи серты мы сами выпускали) Здесь вроде понятно.

2) теперь нужно, чтобы эти же пользователи подписывали своими сертами xml-и. Моё ПО на клиенте генерит сами xml-и и подписывает их указанным пользователем сертификатом:

Public static void SignXml(XmlDocument xmlDoc, /*RSA*/AsymmetricAlgorithm Key) { SignedXml signedXml = new SignedXml(xmlDoc); signedXml.SigningKey = Key; Reference reference = new Reference(); reference.Uri = "";//подпись всего xml-документа XmlDsigEnvelopedSignatureTransform env = new XmlDsigEnvelopedSignatureTransform(); reference.AddTransform(env); signedXml.AddReference(reference); KeyInfo keyInfo = new KeyInfo(); keyInfo.AddClause(CryptService.GetKeyInfoClause(Key)); // RSA or GOST signedXml.KeyInfo = keyInfo; signedXml.ComputeSignature(); XmlElement xmlDigitalSignature = signedXml.GetXml(); xmlDoc.DocumentElement.AppendChild(xmlDoc.ImportNode(xmlDigitalSignature, true)); }

XmlDocument doc = new XmlDocument(); doc.PreserveWhitespace = true; doc.Load(path); SignedXml sx = new SignedXml(doc); XmlNodeList nodeList = doc.GetElementsByTagName("Signature"); sx.LoadXml((XmlElement)nodeList); return sx.CheckSignature();

Код работает, но у меня возникают вопросы с пониманием: в таком случае можно подписать xml абсолютно любым сертификатом, не выпущенным нашим УЦ, и так как инфа об открытом ключе хранится в самом подписанном xml, подпись проходит проверку. Этот вариант мне не подходит. У метода CheckSignature есть перегрузка с параметром типа AsymmetricAlgorithm , который проверит сертификат подписи на существование в хранилище, проверит его валидность, срок действия и так далее. Это мне и нужно, но я не знаю заранее какой из пользователей прислал подписанный xml.

Скажите пожалуйста: как проверять подпись xml или как её правильно создавать, чтобы проверку подписи проходили только те xml-и, которые подписаны только нашими сертификатами (которые установлены в хранилище)?

P.s. и в чем вообще смысл держать в xml и саму подпись, и открытый ключ для расшифровки подписи? Если при подписи убрать строку signedXml.KeyInfo = keyInfo; , то xml проверку подписи не проходит.

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

Заверка текстов, созданных в XML

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

  1. Вы можете использовать новый компонент Microsoft Office – InfoPath 2003 года для формирования ЭЦП в XML-формате.
  2. Создание автографа, как для обычного формата. При этом вам нужно будет использовать программу КриптоПро.

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

Работа с форматом PDF

Часто возникает вопрос, как подписать файл электронной подписью, если документ создан в формате PDF. Для того, чтобы формировать и проверять ЭЦП документации, созданной в формате PDF, компанией «КриптоПро» была разработана программа «КриптоПро PDF». Данный продукт является способом формирования, а также проверки ЭЦП для писем, которые были созданы в программах Adobe Acrobat, Adobe Reader.

Достаточно важным фактом является то, что «КриптоПро» является бесплатной программой, то есть для ее использования вам не придется осуществлять оплату за предоставленные услуги. Чтобы пользоваться данной программной, вам потребуется ее установить, и уже после этого вы сможете проверять документы.

Подписываем многофайловые отправления

Иногда возникает вопрос, как подписывать фалы ЭЦП, если отправление содержит не один, а несколько актов. В таком случае вы можете формировать свой заверительный автограф отдельно для каждого из них.

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

В статье описывается как подписать документы (pdf, word, excel, xml, архив) с помощью ЭЦП. Рассмотрим какое программное обеспечение необходимо, чтобы подписать документы с помощью ЭЦП, их плюсы и минусы.

Как подписать файл с помощью ЭЦП

Есть две программы с помощью которых можно подписать файл с помощью ЭЦП:

  1. ViPNet CryptoFile;
  2. КриптоАРМ.

ViPNet CryptoFile

С помощью этой программы можно подписать любой файл, например: doc, xls, jpg, xml, txt, подписать декларацию эцп, архив. После подписания файл будет с окончанием.sig

Плюсы: бесплатная требующая регистрации на сайте программа (ключ получите на электронную почту). Также есть возможность при подписании файла с ЭЦП использовать прикрепленную подпись к файлу, т.е. файл и ключ будет находиться в одном файле или отдельно от файла.

Минусы: при подписании можно добавить только одну электронную подпись;

Подписать документ ЭЦП можно правой кнопкой мыши на файле выбрать в меню ViPNet CryptoFile -> Подписать.

КриптоАРМ

Минусы: платное программное обеспечение;

Плюсы: можно добавить множество ЭЦП подписей при подписывании файла.

Подписать документ ЭЦП можно правой кнопкой мыши на файле выбрать в меню КриптоАРМ -> Подписать.

Как подписать pdf с помощью ЭЦП

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

Для того чтобы подписать pdf документ с помощью ЭЦП необходимо ПО .

Плюсы: Электронная подпись видна в документе.

Минусы: Стоимость программы (90 дней бесплатно.)

также, необходимо чтобы был установлен Acrobat Reader DC или Adobe Acrobat Pro.

Прежде чем вставить электронную подпись в документе pdf, необходимо настроить Acrobat Reader DC для работы с программой КриптоПро PDF, для этого в Acrobat Reader DC нажимаем Ctrl+K или заходим в меню Редактирование -> Установки, в категориях выбираем Подписи -> где «Создание и оформление» нажимаем Подробнее см. рисунок:

В «Методе подписания по умолчанию» выбираем КриптоПро PDF как на рисунке:

Подписываем документ pdf с ЭЦП

Открываем документ pdf -> в правой панели нажимаем на заполнить и подписать

В верхней панели программы Acrobat Reader нажимаем на «Заполнить и подписать» -> «Дополнительные инструменты»

Необходимо выбрать инструмент Сертификаты для добавления на панель.

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

Выберите сертификат -> ОК -> Подписать.

Цифровая подпись в pdf выглядет вот таким образом:



Наш документ pdf подписан, таким же способом можно поставить несколько подписей в одном файле pdf.

Как подписать документ Word с помощью ЭЦП

Если Вам необходимо подписать документ с видимой частью подписи в документе, то читайте инструкцию ниже, если же Вам необходимо подписать документ word и отправить например в налоговую, то Вам подойдет инструкция выше «Как подписать файл с помощью ЭЦП».

Для того чтобы подписать документ Word с помощью ЭЦП нам необходима программа КриптоПро Office Signature.

— платное программное обеспечение, служит для подписания документов Wort, Excel.

После установки можно сразу приступить к подписанию документов Word ЭЦП, для этого открываем документ Word который необходимо подписать с ЭЦП -> меню Ставка -> в блоке Текст нажать на Строка подписи и выбрать Строка подписи (КРИПТО-ПРО).

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

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

Подписанный ЭЦП документ word выглядит вот так:


Как подписать документ Excel с помощью ЭЦП

Не буду повторяться, для того чтобы подписать документ Excel c помощью ЭЦП, необходимо проделать все тоже самое что и для Word см, чуть выше.

Внимание : Если Вам необходимо подписать документ excel с видимой частью подписи в документе, то читайте инструкцию дальше «Как подписать документ Word с помощью ЭЦП» , если же Вам необходимо подписать документ excel и отправить например в налоговую, то Вам подойдет инструкция в начале страницы «Как подписать файл с помощью ЭЦП».

Как подписать договор с помощью ЭЦП

В зависимости в каком формате создан договор, прочитайте выше статью Как подписать документ Word или PDF.

Как подписать доверенность с помощью ЭЦП

Прочитайте выше статью и выберите подходящий вариант как подписать доверенность с помощью ЭЦП.

Вопросы:

Разрешается ли редактирование файла подписанного ЭЦП

— Нет, после подписания файл отредактировать не получиться, например, если попытаться отредактировать текст подписанный в Word-е, то все подписи удаляются.

Как выглядит документ подписанный ЭЦП

— Все зависит каким методом вы подписывали документ. Если подписывали документ как в инструкции в начале, файл будет с расширение.sig. Также файл и ЭЦП может быть отдельным файлом, это зависит от метода подписания файла.

Если же вы подписывали документ pdf, word или excel с помощью специальных программ, то отличить их не предоставляется возможным. Необходимо открыть документ и уже внутри удостовериться, есть ли подпись или нет.

Согласно закону 218-ФЗ «О государственной регистрации недвижимости» электронные XML-документы и отсканированные образы документов необходимо подписывать усиленной квалифицированной электронной подписью . Все программы серии «Полигон», «Полигон Про» и программа «Подпись Про» подписывают именно такой подписью.

Для подписания:

    Получите ключ подписи (сертификат) в Удостоверяющем центре . Список аккредитованных удостоверяющих центров опубликован на сайте Росреестра (Список удостоверяющих центров). Получить сертификат можно в нашем Удостоверяющем центре ООО «Программный центр» .

    Вместе с подписью приобретите и установите на компьютер программу КриптоПро CSP (она содержит требующиеся российские стандарты подписи), которую также можно приобрести в нашем Удостоверяющем центре ООО «Программный центр» .

Примечание: другие программы для подписи не требуются : КриптоАРМ (возможности КриптоАРМ в части подписи аналогичны возможностям программ серии«Полигон », «Полигон Про » и программы «Подпись Про »).

Примечание: если ключ подписи Вами был получен в Удостоверяющем центре до выхода закона 63-ФЗ "Об электронной подписи" (до 01.07.2013 г.), то такой ключ действует до 01.01.2014 года. Его необходимо заменить на новый для использования в 2017 году. Это связано с тем, что по новому закону в подписи должен быть номер свидетельства СНИЛС (Пенсионного фонда РФ).

Программные модули платформы «Полигон Про»

Подписать электронный документ в программных модулях платформы «Полигон Про»

Чтобы подписать XML-файл выполните следующее:

Примечание: если будут обнаружены ошибки, то ниже структуры XML-файла будет выведен протокол проверки электронного документа с предупреждениями и/или ошибками. Рекомендуется исправить ошибки, а также обратить внимание на предупреждения.

Аналогично можно подписать XML-файл сразу из окна «Просмотр XML », для этого в панели инструментов нажмите на кнопку - « Подписать XML -файл » .

  • После нажатия откроется окно со списком установленных сертификатов. Выберите нужный и нажмите « ОК » .

  • Далее программа выполнит подписание основного документа и выдаст сообщение об успешном выполнении.

Примечание: в той же папке, что и подписанный файл, будет сформирован файл подписи с тем же именем, с расширением *. sig .

Подписать группу файлов в программных модулях платформы «Полигон Про»

В программе имеется возможность подписать группу файлов одновременно, для этого выполните следующее:

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

  • Нажмите на кнопку « Подписать » , после чего откроется окно со списком установленных сертификатов. Выберите нужный и нажмите « ОК » .

  • Далее программа выполнит подписание всех документов и выдаст сообщение о подписании.

Примечание: если возникнут ошибки при подписании, будет выведен протокол проверки с предупреждениями и/или ошибками. Для корректного подписания требуется исправить ошибки.

Подписать файл в программных модулях платформы «Полигон Про»

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

  • Главная » в подменю кнопки «Подписать все » нажмите на кнопку - «Подписать… », после чего откроется окно выбора файла.

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

    Откроется окно со списком установленных сертификатов. Выберите нужный и нажмите «ОК ».

  • Далее программа выполнит подписание выбранного документа и выдаст сообщение о готовности.

Примечание: в той же папке что и подписанный файл будет сформирован файл подписи с тем же именем, с расширением * . sig .

Проверить электронную подпись в программных модулях платформы «Полигон Про»

Если Вы получили подписанный файл извне и хотели бы проверить, не был ли изменен полученный файл после его подписания, либо просто проверить правильность сформированной подписи файла, выполните:

    На ленте программного модуля во вкладке «Главная » в подменю кнопки «Подписать все » нажмите на кнопку «Проверить… ».

    Выберите файл содержащий подпись (с расширением *. sig ), который необходимо проверить, либо при необходимости подписанный файл. Если эти два файла находятся в разных папках, то программа выдаст окно с предупреждением, где необходимо нажать на кнопку «Повтор » и выбрать исходный файл.

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

Программа «Подпись Про»

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

Инструкция по подписанию файлов, если не используются программы серии «Полигон», «Полигон Про» или «Подпись Про».

Как подписать файл электронно-цифровой подписью?

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

Для подписи файлов электронных документов: межевой план, карта план, технический план электронной подписью необходимо убедиться в наличии установленных программ:

    криптопровайдер «КриптоПро CSP»;

    «Крипто АРМ» - эта программа необходима только тогда, когда у Вас не используются программы серии "Полигон", эта программа в части подписания идентична программам серии "Полигон", поэтому она не нужна; для подписания файлов программами серии "Полигон" смотрите предыдущую страницу инструкции; подписывать можно как программами серии "Полигон", так и программой КриптоАРМ, если Вы считаете, что это будет удобнее, чем использовать имеющиеся возможности программ серии "Полигон" ;

Каждый файл (XML, скан печатного документа и файлы приложений) необходимо подписать, так как орган кадастрового учета принимает только пары файлов: оригинальный файл и файл подписи к нему. Для того, чтобы подписать файл необходимо выбрать его в окне проводника и нажать правой кнопкой мыши (ПКМ), появится контекстное меню, в нем следует выбрать пункт «КриптоАРМ», а затем «Подписать… ».



Затем убедиться в правильности имени файла



Важно! установить переключатель в положение «DER-кодировка », папку для выходных файлов указать по своему усмотрению. Нажать кнопку «Далее ». В следующем окне назначить параметры подписи


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


откроется окно выбора сертификата


в нем выберите сертификат Вашего ключа (смотрите по имени владельца). После выбора нажмите кнопку «ОК » и «Далее ». В последнем окне перед подписанием документа нажмите кнопку «Готово ».

Важно! Для каждого файла необходимо сделать файл подписи, так как принимается только пара: оригинальный файл (xml или другой) + подпись к нему (sig-файл).

Понравилось? Лайкни нас на Facebook