2

在 Windows 7Pro 上,我有一个使用 schannel 的安全套接字客户端应用程序。使用 TLSV1.0、1.1 和 1.2 连接到安全服务器,无需客户端身份验证即可正常工作。使用 TLSV1.0、1.1 和客户端身份验证连接到安全服务器可以正常工作。

使用 TLSV1.2 进行客户端身份验证的连接失败。客户端没有使用握手证书进行回复,而是使用 3 条 TLS 记录进行回复:客户端密钥交换-密码更改规范-客户端密钥交换。由于服务器没有收到客户端的证书,它会中止连接。客户端的证书有一个中间且受信任的根 ca。在所有情况下,AcquireCredentialsHandle 都被调用

SCH_CRED_NO_DEFAULT_CREDS|SCH_CRED_MANUAL_CRED_VALIDATION|SCH_CRED_NO_SERVERNAME_CHECK 和 InitializeSecurityContext(其中包括)ISC_REQ_MANUAL_CRED_VALIDATION 和 ISC_REQ_USE_SUPPLIED_CREDS。

对于 TLS V1.2,我是否需要区别对待客户端身份验证?

4

0 回答 0