Our team is working on a web application written in java that is sending data to salesforce. We are getting the following error:

java.lang.RuntimeException: Could not generate DH keypair
at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1333)
at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:519)
Caused by: java.security.InvalidAlgorithmParameterException: unknown curve name: 1.2.840.10045.3.1.7
at org.bouncycastle.jce.provider.JDKKeyPairGenerator$EC.initialize(Unknown Source)
at sun.security.ssl.ECDHCrypt.(ECDHC......

We upgraded our application server to tomcat 8 from tomcat 7 and Java to 6 to from 6. In previous system it worked fine. Can somebody please support us to get rid of this issue?

closed as off-topic by crmprogdev, Raul, Ratan Paul, Keith C, Sebastian Kessel Apr 10 '17 at 16:03

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Programming questions not specific to Salesforce are off-topic here, but can be asked on Stack Overflow." – crmprogdev, Raul, Ratan Paul, Keith C, Sebastian Kessel
If this question can be reworded to fit the rules in the help center, please edit the question.

  • This question seems only peripherally related to Salesforce and would receive better help on Stack Overflow. – Adrian Larson Apr 10 '17 at 13:17

The error message doesn't seem related, but just to be sure, make certain that you are using a supported handshake protocol. The only supported handshake protocols moving forward are TLS 1.1 and TLS 1.2.


Salesforce disabled SSL 3.0 encryption

In November and December 2014 Salesforce disabled SSL 3.0 encryption to prevent it from being used to access the Salesforce platform. Any channels connecting to Salesforce will need to use TLS 1.0 encryption or higher—see below for supported encryption protocols. There are three different channels that require encryption to access Salesforce: internet browser, API (inbound) integrations, and call-out (outbound) integrations.


Salesforce disabling TLS 1.0

Salesforce is requiring an upgrade to TLS 1.1 or higher by July 22, 2017 in order to align with industry best practices for security and data integrity. On that date we will disable TLS 1.0. Action is required prior to this date to prevent any disruption to your production instance. This article contains all of the information currently available on Salesforce's disablement of the TLS 1.0 encryption protocol. This article will be updated as new information becomes available. Please check back often for guidance on preparing for TLS 1.0 disablement.

Not the answer you're looking for? Browse other questions tagged or ask your own question.