Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline pashko79  
#1 Оставлено : 8 мая 2015 г. 13:33:29(UTC)
pashko79

Статус: Участник

Группы: Участники
Зарегистрирован: 06.05.2015(UTC)
Сообщений: 14
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Данная тема уже поднималась на форуме в том или ином виде, но все же окрою новую ветку.
Исходные данные:
Метод аутентификации внешнего ПО возвращает зашифрованный ключ сессии. Шифрование проходит на моем открытом ключе (передан сертификат).
В ответ приходит cms (envelopedData), созданное на той стороне с помощью ms crypto api, на c#.
Проблема:
Ни одним их доступных примеров (как из комплекта JCP, так и аналогичные, работающие, методы аутентификации в других системах) мне не удалось расшифровать сообщение...
Все время упираюсь в ошибку InvalidKeyException: Wrapped key is invalid при попытке выполнить unwrap.
Перепробовал все комбинации алгоритмов и режимов cipher. Само сообщение нормально разбирается (sv и iv по 8 байт).
Мой ключ - 3410DH.
Подскажите, в чем может быть проблема.
Offline Евгений Афанасьев  
#2 Оставлено : 8 мая 2015 г. 13:40:48(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,955
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 701 раз в 662 постах
Offline pashko79  
#3 Оставлено : 8 мая 2015 г. 15:15:49(UTC)
pashko79

Статус: Участник

Группы: Участники
Зарегистрирован: 06.05.2015(UTC)
Сообщений: 14
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Автор: afev Перейти к цитате

Спасибо, обязательно попробую и отпишусь о результате. Хотел только заметить, чо в версии 2.0.37283 класса EnvelopedSignature нет, поэтому упоминание о версии JCP 2.0 в приведенном посте не совсем корректно.
Offline pashko79  
#4 Оставлено : 8 мая 2015 г. 16:11:50(UTC)
pashko79

Статус: Участник

Группы: Участники
Зарегистрирован: 06.05.2015(UTC)
Сообщений: 14
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Автор: pashko79 Перейти к цитате
Автор: afev Перейти к цитате

Спасибо, обязательно попробую и отпишусь о результате. Хотел только заметить, чо в версии 2.0.37283 класса EnvelopedSignature нет, поэтому упоминание о версии JCP 2.0 в приведенном посте не совсем корректно.


Попробовал пример по ссылке:
ru.CryptoPro.CAdES.exception.EnvelopedInvalidRecipientException
Какие дополнииельные данные я могу привести?

Хочу сказать, что зашифрованное сообщение генерируется очень крупным спец. оператором ЭДО, их api многократно проверено и ежедневно используется.
Offline Евгений Афанасьев  
#5 Оставлено : 8 мая 2015 г. 16:58:35(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,955
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 701 раз в 662 постах
Автор: pashko79 Перейти к цитате
Хотел только заметить, чо в версии 2.0.37283 класса EnvelopedSignature нет, поэтому упоминание о версии JCP 2.0 в приведенном посте не совсем корректно.

В посте говорится о версии 2.0 вообще. Последняя на сайте - 38150.

Автор: pashko79 Перейти к цитате

ru.CryptoPro.CAdES.exception.EnvelopedInvalidRecipientException

Включите логирование для JCPLogger уровня FINE (см. https://support.cryptopr...irovnija-kriptopro-jcp). Видимо, не удалось использовать указанный сертификат в качестве получателя ни для одного блока данных.
Offline pashko79  
#6 Оставлено : 10 мая 2015 г. 9:08:27(UTC)
pashko79

Статус: Участник

Группы: Участники
Зарегистрирован: 06.05.2015(UTC)
Сообщений: 14
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Автор: afev Перейти к цитате

Включите логирование для JCPLogger уровня FINE (см. https://support.cryptopr...irovnija-kriptopro-jcp). Видимо, не удалось использовать указанный сертификат в качестве получателя ни для одного блока данных.


Да, при включенном логировании вывелось сообщение:
FINE: Skip certificate sn 7297b66200000000170f, subjec <далее subjectDN>

Сертификат соответствует закрытому ключу.
Offline Евгений Афанасьев  
#7 Оставлено : 10 мая 2015 г. 13:03:38(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,955
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 701 раз в 662 постах
Такое сообщение может быть, если сертификат не соответствует recipient id из RecipientInformation:
Код:

RecipientId recipientId = recipient.getRID();
... recipientId.match(recipientCertificate) ...

Можете декодировать сообщение в каком-нибудь asn1-декодировщике и посмотреть поля получателей - есть ли среди них ваш сертификат (поля "серийный номер", "издатель" и т.п.).
+ можете попробовать проверить, например, с помощью csptest от CSP.

Отредактировано пользователем 10 мая 2015 г. 14:46:16(UTC)  | Причина: Не указана

Offline pashko79  
#8 Оставлено : 11 мая 2015 г. 10:38:39(UTC)
pashko79

Статус: Участник

Группы: Участники
Зарегистрирован: 06.05.2015(UTC)
Сообщений: 14
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Автор: afev Перейти к цитате
Такое сообщение может быть, если сертификат не соответствует recipient id из RecipientInformation:
Код:

RecipientId recipientId = recipient.getRID();
... recipientId.match(recipientCertificate) ...

Можете декодировать сообщение в каком-нибудь asn1-декодировщике и посмотреть поля получателей - есть ли среди них ваш сертификат (поля "серийный номер", "издатель" и т.п.).
+ можете попробовать проверить, например, с помощью csptest от CSP.


Попробовал csptest (версия csp 3.9), результат:
A CSP has been acquired.
Default Provider will be used with CryptMsgOpenToEncode.
The message to decode has been opened.
An error occurred in running the program.
.\cryptlo.c:583:Decode MsgUpdate failed
Error number 0x8009310b (2148086027).
Встречено неверное значение тега ASN1.


Total: SYS: 0,047 sec USR: 0,047 sec UTC: 0,096 sec
[ErrorCode: 0x8009310b]

Вообще asn1 декодером сообщение открывется... могу скинуть файлом в бейс64.
Offline Евгений Афанасьев  
#9 Оставлено : 11 мая 2015 г. 13:04:31(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,955
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 701 раз в 662 постах
Автор: pashko79 Перейти к цитате
Попробовал csptest

Как попробовали? Какая команда? Как сохранено сообщение (der)?

Offline pashko79  
#10 Оставлено : 11 мая 2015 г. 13:19:25(UTC)
pashko79

Статус: Участник

Группы: Участники
Зарегистрирован: 06.05.2015(UTC)
Сообщений: 14
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Автор: afev Перейти к цитате
Автор: pashko79 Перейти к цитате
Попробовал csptest

Как попробовали? Какая команда? Как сохранено сообщение (der)?


Сообщение приходит в бинарном виде, в http ответе. Как говорил - могу переслать сообщение в файле, в кодировке бейс64.
Дешифрование выполняд командой:
csptest.exe -lowenc -decrypt -in "encoded_base64.txt" -my "E=mail@mail.ru" -password 54321 >> 1.txt


RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
3 Страницы123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.