- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 jetty 中使用 OpenJDK1.8.0 的 Web 服务尝试建立到 Microsoft 服务器的 HTTPS 连接,但出现此错误:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Certificates does not conform to algorithm constraints
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1509)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
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.writeRecord(SSLSocketImpl.java:747)
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:828)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2116)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
......
信任 Microsoft 服务器的证书看起来不错:
签名哈希算法:sha256没有算法匹配 jre_path/lib/security/java.security
disableAlgorithm:
jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 1024jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768
我检查了 jetty 和 Microsoft 中的 TLS Cipher Suite 支持,一切正常:
我的问题:
谢谢!
最佳答案
由于Windows server使用的证书中的signature algorithm采用了 future 的TLSv1.3标准的算法,所以OpenJDK抛出了这个异常。
关于algorithm - OpenJDK :javax.net.ssl.SSLHandshakeException : java. security.cert.CertificateException: 证书不符合算法约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43064823/
我正在尝试 LDAPS 身份验证,但我忽略了 SSL 证书。 public class BlindSSLSocketFactoryTest extends SocketFactory { pr
我尝试使用 SOAPConnection 调用 https,并且我已经指向 keystore 和信任库,如下所示: System.setProperty("javax.net.ssl.keyS
我在 2 个不同的服务器上部署了 2 个应用程序,我的 GUI 应用程序在 Tomcat 上,CAS(中央身份验证)在 Websphere 上。我已经创建了 keystore 文件并在 tomcat
我正在开发我的安卓应用。我正在尝试从我的证书文件流生成 X509Certificate 实例,但得到 CertificateException ,这是我的简单代码: import java.sec
我正在尝试创建到网站 ( https://www.otten-markenshop.de/ ) 的 SSL 连接,并使用浏览器或 curl 它可以工作,但 wget 和 Java 都无法连接。我最感兴
您好,我尝试验证另一个证书,但在读取文件中的第一个证书时出现错误: //Get Public Key BasicX509Credential publicCredential = new BasicX
我的 IntelliJ 需要很长时间才能启动。因此,当我检查启动日志时,我可以看到它们与 jetbrains 证书有关: Caused by: java.security.cert.Certifica
我正在尝试使用 Retrofit 调用此 API:https://api.wheretheiss.at/v1/satellites/25544 这是建立连接的代码: retrieveButton.se
据我所知,在大多数情况下,此异常说明证书所有者 CN(公用名)与 url 中的主机名不匹配。但是在我的情况下,它们确实匹配,但仍然会出现异常。 远程服务器证书层次结构是: 带有 CN=sms.main
这个问题已经有答案了: Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
我正在尝试使用 java 读取 URL try{ HttpURLConnection c = (HttpURLConnection) new URL(args[0]).openConnecti
我总是收到 java.security.cert.CertificateException: No subject alternative names present 异常(exception),但是
我有一个在 WebLogic 12.2.1 中运行的 JAX-RS Web 服务。我能够使用浏览器通过 HTTP 和 HTTPS 调用该服务。由于 SSL 证书是自签名的,因此在浏览器中出现提示时我必
堆栈跟踪是: Caused by: java.security.cert.CertificateException: No subject alternative names present at s
我正在运行 kafka 2.13-2.4.1 并在用 java 编写的 kafka 客户端(消费者)和 kafka 集群(3 个节点,每个节点有一个代理)之间配置 SSL 连接。我通过Confluen
问题是当我尝试使用 Java 在 Active Directory (AD) 中创建用户时出现此异常,但当我想从现有用户获取值时则没有问题。我需要一种解决方案,使其不仅在我的计算机本地工作,而且在全局
我开始在访问 https://ws.plimus.com/ 时遇到问题与 async-http-client几天之前。我收到“一般 SSLEngine 问题”消息,在堆栈跟踪中我可以看到它是由 jav
在我们的 QC 服务器上,我们完成了以下步骤: openssl genrsa -out server.key 2048 openssl req -new -out server.csr -key se
我需要一些帮助来修复项目中的证书异常。我收到 java.security.cert.CertificateException: Certificate data canot be processed
我正在尝试将自签名证书导入受信任的证书,以便默认浏览器接受与使用它的网站的连接。 使用 https://github.com/bitfireAT/cadroid 中的代码它归结为通过 X509Trus
我是一名优秀的程序员,十分优秀!