Loading

javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

Udgivelsesdato: Oct 16, 2024
Beskrivelse

Symptom

The following Exception message is returned in the logs when attempting to make a connection over HTTPS:

Root Exception stack trace:
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at sun.security.ssl.Handshaker.activate(Handshaker.java:503)
at sun.security.ssl.SSLSocketImpl.kickstartHandshake(SSLSocketImpl.java:1482)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1351)
+ 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
Løsning

Cause

This problem is caused by a mismatch in the cipher suites (set of available ciphers, such as AES 256) being used between the two services. In this case, the services can not agree on a cipher to use for the communications and the connection fails. 

Resolution

You can resolve this issue by getting the JCE files from the Official website (third-party). Perform the following actions to resolve this issue (the instructions listed here assume that you are using JDK 8):

  1. Download the JCE file from Java's official website, and unzip the file, and you should see the JCE jars.
  2. Go to your JDK installation directory, and you should find your current JCE jars in $JAVA_HOME/jre/lib/security.
  3. Make a backup of the JCE jars to a different location.
  4. Remove the current JCE jars and replace then with the JCE jars which you have just downloaded.
  5. Restart your Java/Runtime. If you are using Studio to run your application, you may need to restart your Studio so that the JVM will pick up the new JCE jars.

Note:

Refer to How to find Java Cryptography Extension (JCE) is indeed working to find out whether Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files are working. 

Vidensartikelnummer

001123140

 
Indlæser
Salesforce Help | Article