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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline m_sh_m  
#1 Оставлено : 2 апреля 2018 г. 13:56:38(UTC)
m_sh_m

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

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

Добрый день!

Есть зашифрованное сообщение в формате PKCS#7. Оно расшифровывает из командной с использованием утилиты cryptcp

Пример кода:
cryptcp -decr -thumbprint 6af7d9fd9e49e4385951417afdcdcaf616e34721 data.p7m data.zip

Но при попытке расшифровать сообщение программным способом(из Java) выдаёт сообщение:
Цитата:
Exception in thread "main" java.security.InvalidKeyException: Wrapped key is invalid
at ru.CryptoPro.JCP.Key.SecretKeySpec.unwrap(Unknown Source)
at ru.CryptoPro.Crypto.Cipher.GostCoreCipher.engineUnwrap(Unknown Source)
at ru.CryptoPro.Crypto.Cipher.BaseGostCipher.engineUnwrap(Unknown Source)
at javax.crypto.Cipher.unwrap(Cipher.java:2549)
at ru.ofd.api.service.sign.cms.PKCS7EnvEphTransport.unwrap(PKCS7EnvEphTransport.java:439)
at ru.ofd.api.service.sign.cms.PKCS7EnvEphTransport.DecryptPKCS7(PKCS7EnvEphTransport.java:279)
at ru.ofd.api.service.sign.cms.PKCS7EnvEphTransport.main(PKCS7EnvEphTransport.java:549)


Пытался расшифровать при помощи классов PKCS7EnvEphTransport.java и CMSDecrypt.java из samples.jar.

Установлена jcp версии 2.0.39014

Не подскажете в чём может быть проблема?

Контейнер c ключами и сообщение прикладываю.
romashka.001.zip (3kb) загружен 3 раз(а). e295700952234a8aa27471401a0f7192.txt (3kb) загружен 5 раз(а).

Offline Евгений Афанасьев  
#2 Оставлено : 2 апреля 2018 г. 15:18:20(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте.
Принципиально ли, как будет производиться расшифрование? Попробуйте CAdES.jar, EnvelopedSignature, я получил архив с XML файлом после расшифрования, пример:
Код:

String filePath = "<path>"; // путь к файлу

KeyStore keyStore = KeyStore.getInstance(JCP.HD_STORE_NAME);
keyStore.load(null, null);

PrivateKey privateKey = (PrivateKey) keyStore.getKey("romashka1", null);
X509Certificate cert  = (X509Certificate) keyStore.getCertificate("romashka1");

byte[] encrypted_data = Array.readFile(filePath + "e295700952234a8aa27471401a0f7192.txt");

EnvelopedSignature envelopedSignature = new EnvelopedSignature(new ByteArrayInputStream(encrypted_data));
ByteArrayOutputStream decryptedByteDataStream = new ByteArrayOutputStream();

envelopedSignature.decrypt(cert, privateKey, decryptedByteDataStream);
byte[] decrypted_data = decryptedByteDataStream.toByteArray(); // расшифрованные данные

Array.writeFile(filePath + "decrypted.zip", decrypted_data);
Offline m_sh_m  
#3 Оставлено : 2 апреля 2018 г. 16:26:45(UTC)
m_sh_m

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

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

Здравствуйте!

Да, так работает.

Спасибо большое!
Offline AlexGreen1987  
#4 Оставлено : 16 апреля 2018 г. 11:32:01(UTC)
AlexGreen1987

Статус: Новичок

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

Здравствуйте, возможно не в ту тему, заранее извиняюсь.

Стоит задача проверки ЭП документов (ГОСТ), приложенных клиентом в своем ЛК.
В компании уже стоит и используется (правда для подписи) КриптоПро JCP 2.0. Проблема в том что данное СКЗИ развернуто на серверах другого подразделения не относящегося к нашему (разные проекты).
Подскажите можно ли работать с ним удаленно т.е написать свое приложение, развернуть его на своем сервере и обращаться к СКЗИ, развернутом на другой машине(разные сегменты сети)? Получается, что один проект использует его для подписи, а другой для проверки подписи (очень не хочется плодить одно и тоже решение по всей компании, разворачивая его для каждого проекта).
Offline Евгений Афанасьев  
#5 Оставлено : 16 апреля 2018 г. 12:01:49(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Явных причин, по которым запрещено так делать, как будто нет.
Offline AlexGreen1987  
#6 Оставлено : 18 апреля 2018 г. 6:39:54(UTC)
AlexGreen1987

Статус: Новичок

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

Может быть есть пример, где кто нибудь так уже использовал КриптоПроJCP? Интересует именно удаленное использование. Как я понял своих коллег приложение должно крутиться на 1 сервере что и СКЗИ
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.