httppost Empty key问题

问题是这样的:异常如下:
javax.net.ssl.SSLException: java.lang.IllegalArgumentException: Empty key
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1964)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1921)
at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1904)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1420)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:394)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:141)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
at com.quanh.eflow.util.HttpClientFactory.post(HttpClientFactory.java:229)
at com.quanh.eflow.service.SuppService.balance(SuppService.java:332)
at com.quanh.eflow.task.FLOW60012002.start(FLOW60012002.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.quanh.eflow.thread.TradeMappingThread.run(TradeMappingThread.java:40)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: Empty key
at javax.crypto.spec.SecretKeySpec.(SecretKeySpec.java:96)
at com.sun.crypto.provider.TlsKeyMaterialGenerator.engineGenerateKey0(TlsKeyMaterialGenerator.java:174)
at com.sun.crypto.provider.TlsKeyMaterialGenerator.engineGenerateKey(TlsKeyMaterialGenerator.java:89)
at javax.crypto.KeyGenerator.generateKey(KeyGenerator.java:546)
at sun.security.ssl.Handshaker.calculateConnectionKeys(Handshaker.java:1339)
at sun.security.ssl.Handshaker.calculateKeys(Handshaker.java:1185)
at sun.security.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:1122)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:348)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1052)

尝试解决办法如下:
1、httppost请求忽略ssl证书,然后试了httpclient做忽略设置。改用hutool,或okhttp。都无果
2、发现curl 直接请求url时,能正常。那查了,可能是代码中查找的是jdk中的配置,然后通过这样的命令keytool -import -trustcacerts -file "_ca_bundle.crt" -alias "alias" -keystore "/usr/local/java/jdk1.8.0_181/jre/lib/security/cacerts"
把证书加载进去。结果还是无果

非法参数异常