2017-02-14 43 views
1

我們在linux機器上使用WL 11g和jdk1.7更新121。java.security.InvalidAlgorithmParameterException:參數對象不是ECParameterSpec

在Web服務調用另一個weblogic機器期間,我們發現下面的錯誤。任何想法

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多個

回答

2

這個問題通常涉及具有BouncyCastle的過時的版本。如果使用Maven,我會建議檢查包含哪些bouncycastle版本,並嘗試將它們排除在外,讓bcprov-jdk15on成爲應用程序中的唯一版本。

您可以閱讀關於類似錯誤here的非常有趣的文章。

+0

爲我工作。這應該是被接受的答案。 – bernstein

2

我加了下面的Java ARG後,問題已經得到解決

-Dcom.sun.net.ssl.enableECC =假

感謝

相關問題