OpenSSL 1.1.1 11 Sep 2018を使用してUbuntu 1804でサーバーを実行しています。クライアントは、暗号としてPSK-AES256-CBC-SHAを使用した PSK 認証を使用してサーバーと通信します。
openssl-1.1.1c (Microsoft Visual Studio 2019 を使用してビルド) を使用して Windows でビルドされたクライアントを使用すると、クライアントを動作させることができません。
サーバー側では、次のようになります。
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 ボックスからは接続できません。