dtls握手失败,并发出警报解密错误

时间:2019-11-01 07:55:41

标签: visual-studio visual-c++ openssl handshake dtls

我正在从客户端(带有VS C ++的openssl)实现dtls-srtp握手,但是失败了。 Wireshark上的消息流结果如下:

  • 客户您好

  • 服务器Hello,证书(片段),证书(片段),证书(片段),证书(重组),证书请求,服务器Hello完成

  • 证书(片段),证书(片段),证书(片段),证书(重组),客户端密钥交换,证书验证(片段)
  • 服务器Hello,证书[重组错误,协议DTLS:新片段与旧数据重叠(重新传输?)]
  • 客户您好
  • 服务器Hello,证书[重组错误,协议DTLS:新片段与旧数据重叠(重新传输?)]
  • 客户端,您好,证书[重组错误,协议DTLS:新片段与旧数据重叠(重新传输?)]
  • 服务器Hello,证书[重组错误,协议DTLS:新片段与旧数据重叠(重新传输?)]
  • 证书验证(重新组合),更改密码规范,证书[重新组合错误,协议DTLS:新片段与旧数据重叠(重新传输?)]
  • 警告(级别:致命,描述:解密错误)

有人知道这里发生了什么吗?是证书/密钥的问题,还是我错过了任何SSL选项/参数?

我试图更改mtu值,但是没有用。

已修改:来自客户端的日志

  

* SSL_CB_HANDSHAKE_START未知:在/连接初始化之前

     

SSL_CB_LOOP SSL_connect:之前/连接初始化

     

SSL_CB_LOOP SSL_connect:SSLv3写入客户端问候A

     

SSL_CB_EXIT SSL_connect:SSLv3读取服务器问候A

     

SSL_CB_EXIT SSL_connect:SSLv3读取服务器问候A

     

-> connect err = -1 errRet = SSL_ERROR_WANT_READ

     

SSL_CB_LOOP SSL_connect:SSLv3读取服务器问候A

     

SSL_CB_LOOP SSL_connect:SSLv3读取服务器证书A

     

SSL_CB_LOOP SSL_connect:SSLv3读取服务器证书请求A

     

SSL_CB_LOOP SSL_connect:SSLv3读取服务器已完成A

     

SSL_CB_LOOP SSL_connect:SSLv3写入客户端证书A

     

SSL_CB_LOOP SSL_connect:SSLv3写入客户端密钥交换A

     

SSL_CB_LOOP SSL_connect:SSLv3写入证书验证A

     

SSL_CB_EXIT SSL_connect:错误

     

-> connect err = -1 errRet = SSL_ERROR_SYSCALL *

0 个答案:

没有答案