Перейти к содержимому
Калькуляторы

OpenSSL и подписанный запрос в РКН

С такой странной проблемой столкнулся.

 

Создаю XML-файл (запрос для ЕРДИ), кодировка CP1251, формат unix (перевод строки 0x0A).

Подписываю такой командой: openssl smime -sign -in request.xml -out request.sig -signer key.pem -outform DER

Пакую в zip-архив, копирую на свой рабочий ПК, на ПК распаковываю (чтобы при копировании по SFTP формат файла не менялся).

Проверяю на https://www.gosuslugi.ru/pgu/eds/order - подпись не верна.

Меняю формат файла (0x0A заменяю на 0x0D,0x0A), проверяю подпись - подпись верна.

 

Не пойму, почему такое происходит.

OpenSSL подписал не те данные, что были в файле? Может быть ему нужно задать ключ, что файл бинарный?

Или это веб-сервис https://www.gosuslugi.ru/pgu/eds/order своевольничает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И сам же себе отвечаю.

Да, это OpenSSL чудил. Добавил ключ "-binary", теперь подпись проходит проверку.

Но странно, что OpenSSL так некорректно работает с символом перевода строки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Но странно, что OpenSSL так некорректно работает с символом перевода строки.

 

Видимо, он исключает его из подписи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Видимо, он исключает его из подписи.

Нет.

Если в XML-файле вручную заменить 0x0A на 0x0D,0x0A, то тогда подпись проходит проверку.

То есть OpenSSL подписал файл, в котором символ перевода строки 0x0D,0x0A.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще вопрос.

Делаю проверку ЭЦП полученного дампа:

#openssl smime -binary -verify -inform DER -in "$SIG" -content "$XML"

Verification failure
140080318371496:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:pk7_smime.c:328:Verify error:unable to get local issuer certificate

 

Я неправильно проверяю?

Или для проверки необходимо наличие цепочки доверия? Если да, то как подключить CA RTK?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Разобрался.

Предлагаю ознакомиться: http://forum.nag.ru/forum/index.php?showtopic=79836&view=findpost&p=1141603

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

до 11.06.2015 17:00 проверка на перевод строки в их сервисе не было, в конце рабочего дня и рабочей недели вдруг удивительно перестала приниматься подпись. я верю в совпадения, но увиденной пост, что не только у меня возникли проблемы навевает на мысли о проверки на вшивость со стороны контролирующих органов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.