由于 TLS 解密错误导致 TLS 握手失败

use*_*917 5 ssl certificate pki

我正在尝试调试 TLS 相关问题。TLS 在两个应用程序客户端 A 和服务器 B 之间设置。A 和 B 都交换了证书,并且我已验证证书具有正确的扩展名,并且也已通过其根 CA 成功验证。叶证书的根 CA 已上传并可供应用程序信任存储区使用。在wireshark中的TLS期间,我看到以下消息流:

CLIENT : Client Hello 
SERVER : Server Hello , Certificate , Certificate request , Server Hello Done
CLIENT : Certificate , Client key exchange 
CLIENT : Certificate Verify , Change Cipher spec , Encrypted Handshake Message 
SERVER : Alert : Level Fatal, Description : Decrypt Error )
Run Code Online (Sandbox Code Playgroud)

TLS 日志还显示:

TLS protocol error(ssl reason
code=block type is not 01 [106]),lib=rsa routines
[4],fun=RSA_padding_check_PKCS1_type_1 [112], errno=12 for
192956|<CLID::StandAloneCluster><NID::xxx.xxx.xxx.xxx><CT::0,0,0,0.0><IP::>
192956|<DE
V::><LVL::Error><MASK::0800>
Run Code Online (Sandbox Code Playgroud)

有什么指示可能导致服务器端解密错误吗?TLS 交换期间的证书很好,可以正确链接到其根证书。

任何指示都会有很大帮助!

提前致谢!

小智 3

显然发生的情况是,服务器无法解密客户端发送给他的第一条加密消息(在更改密码规范之后“完成”),该消息应该由客户端的“更改密码规范”中指定的密码套件进行加密和验证。密码规范”消息。

这意味着服务器实际上并不拥有通过证书或类似内容提供给客户端的公钥中的私钥。