Нужен ваш совет для решения проблемы Java.
В настоящее время у нас есть проблема при доступе к веб-сервису с использованием кода Java.Наш поставщик использует SSL - 2048 бит RSA (SHA256 с RSA) с простым значением DH (алгоритм Диффи-Хеллмана), превышающим 1024 для SSL.У нас есть Java-версия 1.6.0.10 в производстве.
Когда мы выполняем код, мы получаем ошибку -
Caused by: java.lang.RuntimeException: Could not generate DH keypair at com.sun.net.ssl.internal.ssl.DHCrypt.<init>(DHCrypt.java:106)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverKeyExchange(ClientHandshaker.java:556)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:183)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
... 6 more
Caused by: java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64, and can only range from 512 to 1024 (inclusive) at com.sun.crypto.provider.DHKeyPairGenerator.initialize(DashoA13*..)
at java.security.KeyPairGenerator$Delegate.initialize(KeyPairGenerator.java:627)
at com.sun.net.ssl.internal.ssl.DHCrypt.<init>(DHCrypt.java:100) ... 13 more
Это известная ошибка / ограничение java, и она уже исправлена в v7 и далее, но все еще существует в '1.6.0.10 '
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=7044060 https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6521495
В приведенных выше ссылках я нашел следующее утверждение -
ВРЕМЯ ПРЕДСТАВЛЕНИЯ КЛИЕНТА: Использование JCE-реализации BouncyCastle, который не налагает это ограничение, или напрямую прибегает к API BigNumber.
Мы не можем перейти на последнюю версию Java.Есть ли что-нибудь, что мы можем реализовать, чтобы решить эту проблему рукопожатия SSL?Нужны ли нам изменения на стороне сервера для реализации bouncycastle?Или мы можем использовать только на стороне клиента?Любые советы по решению этой проблемы высоко ценится.