客户端/服务器https交换密钥错误

时间:2015-01-20 09:09:20

标签: https client-server server

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

HTTPS模式仅用于加密数据,我不需要验证。

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

此外,我使用HttpServerApi lib和我的客户端(Windows)使用WinHttp开发了我的服务器。所以客户端向服务器发起请求,有一个密钥交换,但结果是:加密警报(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中,我是:标头校验和:0x0000 [不正确,应该是0x4ac1(可能是由“IP cheksum offload”造成的?)

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

由于

1 个答案:

答案 0 :(得分:0)

好的,我发现"为什么加密警报"。我想这只是因为我正在使用自动签名证书进行测试!!

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

感谢