证书签名validation失败
我的网站托管在亚马逊上。 它建立在java 1.4.2_13的微软版本上。 我注意到电子邮件没有出去。 我没有对代码进行任何更改。 我在亚马逊的网站上找到了这个文件,并按照他们的指示找出我们的java环境没有通过测试。 所以,我导入了新的ssl根证书。 我可以validation它是否在密钥库中,但是当我运行其shaTest并且仍然没有发送电子邮件时,我收到以下错误消息。 任何帮助表示赞赏。 谢谢!
Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: Certificate signature validation failed at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.b(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect (Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.URLConnection.getContent(Unknown Source) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getContent(Unknown Source) at java.net.URL.getContent(Unknown Source) at ShaTest.main(ShaTest.java:11) Caused by: sun.security.validator.ValidatorException: Certificate signature validation failed at sun.security.validator.SimpleValidator.engineValidate(Unknown Source) at sun.security.validator.Validator.validate(Unknown Source) at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source) at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(Unknown Source) ... 14 more Caused by: java.security.NoSuchAlgorithmException: 1.2.840.113549.1.1.11 Signature not available at java.security.Security.getEngineClassName(Unknown Source) at java.security.Security.getEngineClassName(Unknown Source) at java.security.Security.getImpl(Unknown Source) at java.security.Signature.getInstance(Unknown Source) at sun.security.x509.X509CertImpl.verify(Unknown Source) at sun.security.x509.X509CertImpl.verify(Unknown Source) ... 18 more
Java本身在1.4.2中得到了SHA256支持,但微软Java可能没有 – 特别是因为它已经停止了很长时间。 你也许可以使用bouncycastle 。
注意Java 1.4于2002年问世。 那是14年前的事了。 那应该是一个巨大的红旗; 我不会在连接到互联网的任何机器上运行它。
- 在Spring Cloud AWS中禁用Cloudformation
- AWS Managed ElasticSearch上的弹性传输客户端
- 如何计算S3文件内容的SHA-256校验和
- 使用Java API的S3 / AWS的SSL问题:“证书中的主机名不匹配”
- com.amazonaws.services.s3.model.AmazonS3Exception:拒绝访问
- 如何使用REST API和数据库扩展Java应用程序?
- 使用ResourceNotFoundException的简单DynamoDB请求失败
- 无法从类路径上的/AwsCredentials.properties文件加载AWS凭据
- AWS Java客户端的未知主机exception?