java.security.ProviderException: java.security.KeyException

来源:互联网 发布:常见数据质量问题 编辑:程序博客网 时间:2024/05/06 14:02

问题:

在centos6.5上使用openjdk8 用https请求微信api

javax.net.ssl.SSLException: java.security.ProviderException: java.security.KeyException    at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)    at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)    at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1906)    at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1889)    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1410)    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:553)    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:412)    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:179)    at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:328)    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:612)    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:447)    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:884)    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)    ....    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)Caused by: java.security.ProviderException: java.security.KeyException    at sun.security.ec.ECKeyPairGenerator.generateKeyPair(ECKeyPairGenerator.java:147)    at java.security.KeyPairGenerator$Delegate.generateKeyPair(KeyPairGenerator.java:703)    at sun.security.ssl.ECDHCrypt.<init>(ECDHCrypt.java:77)    at sun.security.ssl.ClientHandshaker.serverKeyExchange(ClientHandshaker.java:721)    at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:281)    at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)    at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)    ... 57 moreCaused by: java.security.KeyException    at sun.security.ec.ECKeyPairGenerator.generateECKeyPair(Native Method)    at sun.security.ec.ECKeyPairGenerator.generateKeyPair(ECKeyPairGenerator.java:128)    ... 66 more

原因

dd /usr/lib/jvm/lib/amd64/libsunec.so 依赖的是libnss,所以更新libnss即可

解决:

1.更新nss

sudo yum upgrade nss

2.重启服务器

0 0
原创粉丝点击