我想使用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之间建立联系?
由于
答案 0 :(得分:0)
好的,我发现"为什么加密警报"。我想这只是因为我正在使用自动签名证书进行测试!!
我还有一个问题,使用HttpServerApi,如何在其他证书中选择一个证书?
感谢