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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this