I had the same problem. This article helped me: http://iwang.imtqy.com/support/2014/03/14/cxf-cause-https-error.html
Essentially, the problem is that you are using the Bouncy Castle JDK1.4 libraries instead of the later 1.5 libraries.
To fix the problem, I completely uninstalled Bouncy Castle. I found that it was being drawn in by an unrelated library, so I added the following to the dependency in the pom.xml file:
<exclusions> <exclusion> <groupId>bouncycastle</groupId> <artifactId>bcmail-jdk14</artifactId> </exclusion> <exclusion> <groupId>bouncycastle</groupId> <artifactId>bcprov-jdk14</artifactId> </exclusion> <exclusion> <groupId>bouncycastle</groupId> <artifactId>bctsp-jdk14</artifactId> </exclusion> <exclusions>
If you cannot remove it, I suggest updating the jdk15 libraries.
Explanation from a related article:
Java 1.5 introduced a change in the cryptography API with an elliptic curve. If you use the Java Cryptography Extension (JCE)> provider designed for Java 1.4 or earlier, it will not support this new API change and there may be errors with Diffie-Hellman-based ciphers when using SSL. SSL Execution attempts to set up elliptic curve cryptography with an ECGenParameterSpec object. This object was not added before Java 1.5: http://docs.oracle.com/javase/7/docs/api/java/security/spec/ECGenParameterSpec.html (Pay attention to the "Since" line).
For example, bcprov-jdk14-131-1.0.jar is Bouncy Castle, which is one such provider. This version of the provider is for JDK 1.4. Bouncy Castle provides different libraries for each level of the JDK.
source share