我有一台在Ubuntu 1804上运行的服务器,带有OpenSSL 1.1.1 11 Sep 2018。客户端使用以PSK-AES256-CBC-SHA作为密码的 PSK 身份验证与服务器通信。
当我使用在 Windows 上构建的带有openssl-1.1.1c(使用 Microsoft Visual Studio 2019 构建)的客户端时,我无法使其工作。
在服务器端,我得到以下信息:
139845863200512:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../ssl/record/rec_layer_s3.c:1528:SSL alert number 40
而在客户端,
11720:error:141970DF:SSL routines:tls_construct_cke_psk_preamble:psk identity not found:ssl\statem\statem_clnt.c:2917
我在openssl-1.1.1c\ssl\statem\extensions_clnt.c中看到了以下内容。
/*
* We found a PSK using an old style callback. We don't know
* the digest so we default to SHA256 as per the TLSv1.3 spec
*/
cipher = SSL_CIPHER_find(s, tls13_aes128gcmsha256_id);
那么这是否意味着只有TLS_AES_128_GCM_SHA256可以与 TLS1.3 一起使用?任何指向我可能会丢失的东西?任何有关如何从 Windows 平台使用客户端 PSK 身份验证的教程都会有所帮助。
我可以使用相同的 PSK id 和密钥从 linux 机器连接到服务器。但无法从 Windows 框连接。