Статус: Сотрудник
Группы: Участники
Зарегистрирован: 30.06.2016(UTC) Сообщений: 3,470 Сказал «Спасибо»: 53 раз Поблагодарили: 798 раз в 737 постах
|
Автор: coldplay Добрый день. Судя по скриншоту, у Вас установлен КриптоПро CSP версии ниже 4.0. Поэтому в системе не зарегистрированы криптопровайдеры ГОСТ Р 34.10-2012. Либо обновите КриптоПро CSP, либо запросите сертификат, используя запрос на сертификат через эту страницу. |
|
1 пользователь поблагодарил Александр Лавник за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 16.02.2016(UTC) Сообщений: 60
Сказал(а) «Спасибо»: 18 раз Поблагодарили: 2 раз в 2 постах
|
ProblemTest.zip (9kb) загружен 5 раз(а).Вот пример проблемного файла и все, чтобы воспроизвести.В архиве: 1) Тестовый сертификат ГОСТ Р 34.10-2012. 2) Проблемный зашифрованный архив, при шифровании которого был выбран тип криптопровайдера ГОСТ 2001 3) Тот же самый зашифрованный архив, при шифровании которого был выбран тип криптопровайдера ГОСТ 2012 4) Приватная часть для расшифровки Алиас и пароль в примере тесткейса : Код:
public static void main(String[] args) throws IOException, NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, InvalidKeySpecException, InvalidAlgorithmParameterException, Asn1Exception, BadPaddingException, NoSuchProviderException, IllegalBlockSizeException {
try (
FileInputStream work = new FileInputStream(new File("SomePath/ProblemTest/01_20180704_110030_ticket2012.zip.enc"));
FileInputStream fail = new FileInputStream(new File("SomePath/ProblemTest/01_20180704_110030_ticket.zip.enc"))) {
PrivateKey privateKey = receiveSenderPrivateKey("SomePath/ProblemTest/", "testcert", "12345");
byte[] workBytes = CryptoUtil.decrypt(Util.readBytes(work), privateKey);
byte[] failBytes = CryptoUtil.decrypt(Util.readBytes(fail), privateKey);
System.out.println(Util.unzipFile(new ByteArrayInputStream(workBytes)));
System.out.println(Util.unzipFile(new ByteArrayInputStream(failBytes)));
}
}
В логах : Код:
/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk_copy/Contents/Home/bin/java ..
июл 09, 2018 4:40:57 PM ru.CryptoPro.JCP.pref.JCPPref a
INFO: user: 501
июл 09, 2018 4:40:57 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0 38481
июл 09, 2018 4:40:58 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
{20180704_110030_ticket=[B@44ebcd03, 20180704_110030_ticket.p7s=[B@694abbdc, 20180704_110030_reject=[B@2e005c4b}
Exception in thread "main" java.util.zip.ZipException: invalid distance too far back
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)
at java.util.zip.ZipInputStream.read(ZipInputStream.java:194)
Process finished with exit code 1
Оба архива получаются корректными, если использовать криптоарм. Вопрос остается тем же, что нужно поменять в методе decrypt, чтобы получить корректный архив ? Отредактировано пользователем 9 июля 2018 г. 17:09:53(UTC)
| Причина: Не указана
|
1 пользователь поблагодарил coldplay за этот пост.
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Спасибо, проверю и отвечу. |
|
1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Посмотрел, в текущей сборке расшифровываются оба архива (внутри 3 файла). Не могли бы вы проверить с последней выложенной сборкой? |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 16.02.2016(UTC) Сообщений: 60
Сказал(а) «Спасибо»: 18 раз Поблагодарили: 2 раз в 2 постах
|
Это с сертифицированной Код:
июл 10, 2018 4:34:34 PM ru.CryptoPro.JCP.pref.JCPPref a
INFO: user: 501
июл 10, 2018 4:34:35 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0 39014
июл 10, 2018 4:34:35 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
{20180704_110030_ticket=[B@78691363, 20180704_110030_ticket.p7s=[B@41d477ed, 20180704_110030_reject=[B@3590fc5b}
Exception in thread "main" java.util.zip.ZipException: invalid distance too far back
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)
at java.util.zip.ZipInputStream.read(ZipInputStream.java:194)
Попробовать с несертифицированной ?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Автор: coldplay Попробовать с несертифицированной ? Да. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 16.02.2016(UTC) Сообщений: 60
Сказал(а) «Спасибо»: 18 раз Поблагодарили: 2 раз в 2 постах
|
Получилось, все работает. Спасибо!
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Предположительно, проблема была в (changelog) * jcp: исправлена ошибка передачи параметров шифрования при экспорте/импорте сессионного ключа (JCP-916) |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close