Добрый день.
Пытаемся проверить взаимодействие по TLS с односторонней аутентификацией с использованием ГОСТ Р 34.10-2012
- сервер - КриптоПРО JTLS 2.0 и Apache Tomcat 7.0.73
- клиент - Валидата CSP 5.0.329 (демонстрационная версия)
При установке соединения видим разрыв подключения с ошибкой
java.lang.RuntimeException: Invalid key exchange
at ru.CryptoPro.ssl.n.a(Unknown Source)
at ru.CryptoPro.ssl.n.a(Unknown Source)
at ru.CryptoPro.ssl.f.o(Unknown Source)
at ru.CryptoPro.ssl.f.a(Unknown Source)
at ru.CryptoPro.ssl.am.a(Unknown Source)
at ru.CryptoPro.ssl.am.i(Unknown Source)
at ru.CryptoPro.ssl.am.startHandshake(Unknown Source)
at ru.CryptoPro.ssl.am.getSession(Unknown Source)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.handshake(JSSESocketFactory.java:289)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: 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:2550)
at ru.CryptoPro.ssl.a.d.a(Unknown Source)
at ru.CryptoPro.ssl.a.c.a(Unknown Source)
... 14 more
Данный сертификат сгенерирован в тестовом УЦ КриптоПРО (https://testgost2012.cryptopro.ru/certsrv/), сертификат этого УЦ добавлен в Доверенные корневые центры сертификации.
Аналогичное соединение с использованием сертификата ГОСТ Р 34.10-2001 работает.
Генерируется сертификат с такими параметрами в КриптоПро CSP как на скриншоте. Сертификат в архиве.
![](/forum2/Themes/soclean/icon_file.gif)
Clip529.png
(32kb) загружен 23 раз(а).![](/forum2/Themes/soclean/icon_file.gif)
server.zip
(2kb) загружен 2 раз(а).Как сгенерировать корректный сертификат?
В поддержке Валидаты ответили, что нужен "сертификат сервера с ключом проверки ЭП по ГОСТ Р 34.10-2012 длиной 256 бит, используя эллиптические группы A или C из RFC 4357 (не забудьте создать ключ с возможностью шифрования)." Какие конкретно параметры для генерации при этом выставить - не подсказали.