【问题标题】:client/server https exchange key error客户端/服务器 https 交换密钥错误
【发布时间】:2015-01-23 21:50:29
【问题描述】:

我想通过 HTTP/HTTPS 封装进行客户端/服务器通信。

HTTPS模式只用于加密数据,不需要认证。

对于 HTTPS 连接,我在服务器端创建并安装了证书。

此外,我使用 HttpServerApi lib 开发了我的服务器,并使用 WinHttp 开发了我的客户端 (Windows)。所以客户端开始请求服务器,有一个密钥交换,但结果是:加密警报(21)解密失败:

> 192.168.3.138   192.168.1.6     TLSV1 ClientHello
> 192.168.1.6     192.168.3.138   Server Hello, Certificate, Server Hello Done 
> 192.168.3.138   192.168.1.6     TLSV1 ClientKeyExchange, Change Cipher Spec, Encrypted Handshake Message
> 192.168.1.6     192.168.3.138   TLSV1 Change Cipher Spec, Evrypted Handshake Message
> 192.168.3.138   192.168.1.6   TLSV1 Application Data, Application Data
> 192.168.3.138   192.168.1.6   TLSV1 Application Data, Application Data
> 192.168.3.138   192.168.1.6   TLSV1 Application Data
> 192.168.3.138   192.168.1.6   TLSV1 Encrypted Alert

这是 wireshark 的详细信息(服务器端),192.168.3.138 是我的客户端。

192.168.1.6 192.168.3.138 TLSV1 Change Cipher Spec, Evrypted Handshake Message中,我有: Header checksum: 0x0000 [不正确,应该是0x4ac1(可能是“IP cheksum offload”引起的?)]

如何在我的服务器证书和端口 443 或我开发的 Http Server 之间建立联系?

谢谢

【问题讨论】:

    标签: https client-server server


    【解决方案1】:

    好的,我找到了“为什么要加密警报”。我认为这只是因为我正在使用自动签名证书进行测试!!

    我还有一个问题,对于 HttpServerApi,我如何在其他证书中选择一个证书?

    谢谢

    【讨论】:

      猜你喜欢
      • 2016-02-27
      • 2019-05-24
      • 2016-09-16
      • 2023-03-31
      • 1970-01-01
      • 2015-07-02
      • 2019-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多