问题标签 [sslhandshakeexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 从 Java 发送邮件时出错(SSLHandShake 异常)
从 Java 发送邮件时出现以下异常。
它在独立的 java 程序中发送邮件,但在从 JBoss 服务器运行时抛出此异常。代码已经工作了六个月,但突然开始抛出这个异常。
似乎某些证书已过期。
java - 收到致命警报:handshake_failure 来自 Java 但不是来自浏览器
我已经浏览了关于这篇文章的堆栈溢出中的大部分链接,但我似乎对这个概念没有清楚的理解。请注意,我是这个话题的新手,我仍处于探索阶段,
这是我的问题(我怀疑它可能是重复的)
我的程序给出了这个错误,
注意:有一个日志显示“证书有效”。所以无论如何,证书问题不存在,但我从这里了解到,服务器可能拥有不是由 CA 颁发的证书。但我的问题是我能够从浏览器访问 WSDL。但是,当我为我的 Java 提供相同的密钥库路径时,它无法通过给出此错误来访问那里的服务器!!!
所以这是我的疑问:
当我的浏览器能够加载 WSDL 时,为什么我的 Java 不能访问?浏览器是否还有其他一些我的 java 无法查找的证书?我的 java 期望的所有证书路径是什么?
我试图在启用 SSL 设置的情况下将 wsdl 加载到 SOAP UI 中,但它说没有运气
感谢任何类型的输入或指导或参考。
android - SSLHandshakeException CertPathValidatorException 在 Android 2.3 上但不在 Android 4 上
我遇到的问题是我得到了一个 SSLHandshakeException,它只出现在任何 Android 2.3 手机上,但不会出现在较新的(Android 4+)手机上。
为了接受服务器的证书,我从我的资源中读取了保存的证书,并将其与用于此连接的 TrustManager 连接。
Google 推荐了这种做法(2014 年 4 月 9 日):http: //developer.android.com/training/articles/security-ssl.html
异常堆栈跟踪输出:
我的代码:
异常前的输出:
OpenSSL 连接返回:
java - 尝试解决 SSLHandshakeException 时获取 SocketTimeoutException
我收到以下异常:
为了解决这个问题,我发现我需要通过运行这个程序来安装某种证书(我不明白它是什么) :(来源)
如java InstallCert localhost:8081
,其中localhost
是服务器运行的地址,端口号是服务器的端口号。(我正在运行tomcat服务器)
但是当我在编译后运行它时,我会看到:
现在有两个问题我想问:
- 该计划的目的是什么?它想要达到什么目的?
- 可能是什么原因
java.net.SocketTimeoutException
?
java - javax.net.ssl.SSLHandshakeException - 无法找到请求目标的有效证书路径]
连接到 LDAP 服务器时出现以下错误,我已将 SSL 证书导入到 //jre/lib/security。从 JDK/bin 文件运行程序时,我能够连接到服务器,但在此之外我无法执行它。我将 JAVA_HOME 和路径变量都设置为导入证书的同一个 jdk。
我尝试使用该程序的服务器是 Windows 服务器,32 位,服务包 2。
未知 LDAP 错误 javax.naming.CommunicationException:简单绑定失败:saata 01.corp.oncor.com:1636 [根异常是 javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun。 security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效证书路径]
java - 在 Android 2.3.3 上使用 Volley 并获得 SSLHandshakeException
我们的服务器使用 SSL 认证,但在 Android 2.3.3 with volley 中我收到此错误(Android > 4 没问题):
引起:javax.net.ssl.SSLHandshakeException:org.bouncycastle.jce.exception.ExtCertPathValidatorException:无法验证证书签名。
有人知道如何解决吗?
ssl - 等待关闭 javax.net.ssl.SSLHandshakeException 时出现异常:
我正在集成具有 2 路 SSL 的 Web 服务。来自同一客户的一项此类服务已经集成并且运行良好。
我的意思是应用程序 A 已经与托管在应用程序 B 上的 WS 1 集成,它现在正在运行。现在我正在将应用程序 A 与托管在应用程序 B 上的 WS 2 集成
两个服务使用相同的密钥库和信任库。
WS 1 工作正常,WS 2 失败,我不知道这是怎么发生的。SSL 调试日志的详细信息如下。
我验证了密码套件对于两个 Web 服务都是相同的。
SSL 握手失败的 SSL 调试日志 - WS 2:
在这里我添加了适当的 ssl 日志,我发现工作服务的 ssl 日志和失败的服务之间的区别是证书链不是由客户端发送的。
如果您发现这里出了什么问题,请帮助我。
java - Spring javamailsender 发送 SSL 电子邮件
在我的应用程序中,org.springframework.mail.javamail.JavaMailSenderImpl 未配置为发送 SSL 电子邮件(根据https://javamail.java.net/nonav/docs/api/com/sun/mail/smtp的默认值/package-summary.html为假)。
话虽如此,我通过这个 JavaMail API 发送了两种类型的电子邮件,一种是多部分/相对的,另一种是纯文本的。当部署在我们的开发服务器上时,这两封电子邮件都已成功发送。但是多部分电子邮件无法在另一台开发服务器(A 阶段服务器)上发送。
该应用程序部署在 Tomcat6 上并在 JDK 1.6 上运行。
我调试了为 tomcat 服务器配置的密钥库中可用的所有私钥和证书(Web 应用程序在 HTTPS 上运行)。这看起来不错(我也探索了替换密钥库的选项)。
现在,当我发送电子邮件时,失败的邮件具有来自 java 邮件 API 的以下调试
现在为了成功发送,下面是调试语句
此外,抛出的异常是 org.springframework.mail.MailSendException ,嵌套原因是通常的 SSL 握手异常
我还从 sun.security.provider.certpath.SunCertPathBuilderException 中检索了 AdjacencyList 以检索 sun.security.provider.certpath.BuildStep 并使用 getCertificate() 方法打印证书详细信息。根据使用 Apache Tomcat 服务器配置的密钥库,该证书是有效的。以下是调试中的一些细节
我需要你的帮助来解决这个问题。询问您对此的看法。
编辑..............
由于进一步的学习和评论,重新发布如下我尝试从配置为 HTTPS 的 Apache Tomcat 服务器 6.0 发送带有内联图像的电子邮件。目标 SMTP 服务器没有来自受信任 CA 的有效证书。
现在,我能够成功地将没有附件的电子邮件发送到服务器,并且在 HTTP 上运行时我也能够发送带有附件的电子邮件(非安全)。但是,我无法从 tomcat 的 HTTPS 配置发送电子邮件到 smtp 服务器。
我正在使用 Spring 的 JavaMailSenderImpl 发送电子邮件。Mailsender的bean配置如下
正如您在下面看到的,一旦客户端开始向服务器发送数据,就会创建异常
http://springinpractice.com/2012/04/29/fixing-pkix-path-building-issues-when-using-javamail-and-smtp中有一个很好的描述。但是,这也不起作用(我不确定来自 smtp 服务器的自签名证书是否会导致问题)。
我还尝试使用 Truststore 配置在 javamail 属性上启用 STARTTLS。那也没有用。
SMTP 服务器是一个内网服务器,不对外暴露。因此,即使使用自签名证书,基本上我也可以信任此 SMTP。
如何做到这一点?
android - 尝试访问 https url 时出现 SSLHandshakeException
我正在尝试https
通过我的 android 应用程序访问一个 url 并获取javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
例外是:
这是允许https
url 的以下代码:
我在我的类的doInBackground
方法中调用上面的代码。AsyncTask
代码是:
这是我的 SSLFactory 类:
java - 使用 Java 的 SSL 服务器/客户端
我正在尝试在 Java 中创建安全连接。为此,我创建了以下服务器和客户端
服务器:
客户:
之后,我尝试将我的证书添加到特定路径的信任库。生成的密钥已添加到工作目录中的密钥库中。
如果尝试使用许多不同的关键字遵循谷歌前 5 页上的所有教程和说明,但没有运气。我总是收到 handshake_failure 异常:
由于代码只是复制粘贴,我认为这不是代码问题,而是证书问题。所以我的问题是:我做错了什么,我还需要做什么?