java.security.InvalidAlgorithmParameterException : parameter object not a ECParameterSpec

标签 java linux java-7 weblogic11g

我们在 linux 机器上使用 WL 11g 和 jdk1.7 update 121。

我们在调用另一台 weblogic 机器的 web 服务期间看到以下错误。任何想法

2017-02-14 18:23:20,777 [system] [DEBUG] [rule] UserProvisioningServiceUtility.log - tcContactPK:: 0
2017-02-14 18:23:20,777 [system] [DEBUG] [rule] UserProvisioningServiceUtility.log - replacing created by with actual pk
2017-02-14 18:23:20,778 [system] [DEBUG] [rule] UserProvisioningServiceUtility.log - hostname : uatapp.corp.com
2017-02-14 18:23:20,778 [system] [DEBUG] [rule] UserProvisioningServiceUtility.log - port : 7004
2017-02-14 18:23:20,778 [system] [DEBUG] [rule] UserProvisioningServiceUtility.log - scheme : https
2017-02-14 18:23:20,779 [system] [DEBUG] [rule] UserProvisioningServiceUtility.log - Invoking Webservice with url: https://uatapp.corp.com:7004/api/jsonws/lgs-services-portlet.ipeuserprovisionws/I-pe-create-use-email/user-email-id/a%40b.c/first-name/DAVID/middle-name/J./last-name/SEPANIK/dspersonid/12568/action/Add/new-roles/External_OC_Portal/createdby-userid/4003/user-company-pk/19685
2017-02-14 18:23:21,065 [system] [DEBUG] [rule] UserProvisioningServiceUtility.log - IOException : javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
    at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1916)
    at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1874)
    at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1857)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1378)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:543)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:409)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
    at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304)
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71)
    at UserProvisioningServiceUtility.callJsonService(UserProvisioningServiceUtility.java:339)
    at UserProvisioningServiceUtility.runService(UserProvisioningServiceUtility.java:93)
    at CONT_UserProvisioning_SA.processRequest(CONT_UserProvisioning_SA.java:1975)
    at CONT_UserProvisioning_SA.runRule(CONT_UserProvisioning_SA.java:862)
    at CONT_UserProvisioning_SA.action(CONT_UserProvisioning_SA.java:57)
    at com.mitratech.teamconnect.base.factory.rule.impl.LegacyJavaActionBuilder.executeAction(LegacyJavaActionBuilder.java:48)
    at com.mitratech.teamconnect.base.factory.rule.ScheduledActionExecutor.executeScheduledAction(ScheduledActionExecutor.java:75)
    at com.mitratech.teamconnect.base.factory.FQAppvEngine.executeScheduledAction(FQAppvEngine.java:2556)
    at com.mitratech.teamconnect.base.factory.TCAutomatedActionJob$1.call(TCAutomatedActionJob.java:127)
    at com.mitratech.teamconnect.base.factory.FQUtility.runAsSystemUser(FQUtility.java:649)
    at com.mitratech.teamconnect.base.factory.FQUtility.runAsSystemUserInDomain(FQUtility.java:617)
    at com.mitratech.teamconnect.base.factory.TCAutomatedActionJob.execute(TCAutomatedActionJob.java:51)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Caused by: java.lang.RuntimeException: Could not generate DH keypair
    at sun.security.ssl.ECDHCrypt.<init>(ECDHCrypt.java:82)
    at sun.security.ssl.ClientHandshaker.serverKeyExchange(ClientHandshaker.java:720)
    at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:278)
    at sun.security.ssl.Handshaker.processLoop(Handshaker.java:913)
    at sun.security.ssl.Handshaker.process_record(Handshaker.java:849)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1035)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1344)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371)
    ... 23 more
Caused by: java.security.InvalidAlgorithmParameterException: parameter object not a ECParameterSpec
    at org.bouncycastle.jce.provider.JDKKeyPairGenerator$EC.initialize(Unknown Source)
    at sun.security.

ssl.ECDHCrypt.(ECDHCrypt.java:77) ... 30 多个

最佳答案

此问题通常与 bouncycaSTLe 的版本过时有关。如果使用 Maven,我建议检查包含哪些 bouncycaSTLe 版本,并尝试将它们排除在外,让 bcprov-jdk15on 作为您应用程序中的唯一版本。

您可以阅读一篇关于类似错误的非常有趣的文章 here .

关于java.security.InvalidAlgorithmParameterException : parameter object not a ECParameterSpec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42238313/

相关文章:

java - 如何在Java中传递颜色变量?

java - 在不知道方法调用的参数的情况下使用mockito.when

java - Docker tomcat找不到应用程序日志

linux - liveCD 的 Grub 配置

java-7 - 何时/可以将 JDK 7 与 CloudBees Run@cloud 一起使用?

java - 使用 Java 持久性查询语言在表中插入和更新数据

c - 查找核心的内存页面所有权

linux - 如何在我的 linux 上设置多个 IP 地址?

java - 如何强制静态泛型方法的返回类型?

deployment - 用于 x86 windows 系统的 JavaFX exe 捆绑