java - 我们正在尝试建立 2 路 SSL 连接。收到握手错误。附上日志

标签 java ssl spring-boot sslhandshakeexception

我已经在我的 keystore 和信任库中添加了证书,然后尝试使用 spring boot 调用 https 端点。获取以下日志。对 ssl 日志了解不多。因此向社区寻求帮助。

Debug模式下的 SSL 日志:

[OUT] http-nio-8080-exec-4, WRITE: TLSv1.2 Handshake, length = 80

[OUT] http-nio-8080-exec-4, READ: TLSv1.2 Alert, length = 2

[OUT] http-nio-8080-exec-4, RECV TLSv1.2 ALERT: fatal, handshake_failure

[OUT] %% Invalidated: [Session-1, TLS_RSA_WITH_AES_256_CBC_SHA256]

[OUT] http-nio-8080-exec-4, called closeSocket()
[OUT] http-nio-8080-exec-4, handling exception: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

最佳答案

以上问题已修复。实际上,通过 spring 设置的 SSL 上下文在握手期间无法发送客户端证书,我发现的原因是我的 Keystore pwd 与私钥密码不同。尽管在通过 spring 加载 keystore 期间,我为两者提供了正确的 pwssword,但它仍然无法根据私钥密码提取证书。

在 key 生成过程中为 keystore 和私钥提供相同的密码后解决。

关于java - 我们正在尝试建立 2 路 SSL 连接。收到握手错误。附上日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49310022/

相关文章:

java - 让 JNA 与第 3 方 DLL 交互的技巧是什么?

java - 如何从不同的线程使用 ApplicationContext session 范围的类

spring-boot - Spring Cassandra 3.0.1.RELEASE(Datastax 4.6+) 日志查询

java - 使用Java Config时如何防止Spring生命周期方法?

javac:无效的目标版本:执行 Maven 命令时在 Mac 上为 1.8

internet-explorer - 在 HTTPS 站点上嵌入 Youtube 时出现 Internet Explorer 警告?

google-app-engine - 使用 Google Domains 和 Google Bucket 进行静态托管时如何安装 SSL?

java - Spring Boot 要求添加 bean,即使存在

java - 如何使用 Java 获取 div 标签包含的文本?

ssl - 有什么方法可以在 PHPStorm 调试功能中启用 https 连接?