【发布时间】:2018-01-12 14:22:59
【问题描述】:
我们有一个当前通过 HTTP 协议运行的应用程序。我们的目标是将其迁移到 HTTPS。我们已经进行了必要的更改,但在登录应用程序期间,我收到“peer not authenticated”错误消息。
我是 SSL 世界的新手,所以我用谷歌搜索并捕获了 Wireshark 跟踪,通信如下所示:
- 客户端向服务器发送 [SYN]。
- 服务器向客户端发送 [SYN,ACK]。
- 客户端向服务器发送 [ACK]。
- 客户端向服务器发送消息
ClientHello。 - 服务器发送
ServerHello然后它的证书和消息“ServerHello, Certificate, ServerHelloDone - 警报 61,致命级别,描述:证书未知 // 此处失败。
请就可能出现的问题分享您的意见。我们被困在这里,无法继续前进。
【问题讨论】:
-
请添加wireshark跟踪的截图,以便我们知道警报来自哪里(客户端或服务器)。
-
听起来客户端无法验证服务器的证书,可能是因为客户端不知道或不信任用于签署服务器证书的根证书颁发机构。客户端必须知道根权限,否则客户端需要禁用证书验证(这对安全性不利)。
-
如果我将服务器安全证书导入客户端,我们会看到此问题得到解决。我们对三个不同的客户进行了尝试。这有什么意思吗?为什么要在客户端安装属于服务器的证书?
-
@PavanDittakavi 这意味着它必须是自签名的,这意味着除非通过该导入过程明确配置为这样做,否则没有人会信任它。最好的解决方案是让 CA 签署。
标签: ssl https tcp x509certificate handshake