Jump to content
Калькуляторы

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 своевольничает?

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

Нет.

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

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

Share this post


Link to post
Share on other sites

Еще вопрос.

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

#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?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.