Windows-11でTLS 1.3を使用するためにアップグレードする必要があるTLSクライアントに取り組んでいます。SChannel API を使用して TLS 1.3 の実装に成功した人はいますか?
リンクの下の Microsoft によると、TLS 1.3 は win-11 および server-2022 でサポートされています。
https://docs.microsoft.com/en-us/windows/win32/secauthn/protocols-in-tls-ssl--schannel-ssp-
以下のコード スニップは、TLS1.3 用に追加されています。
#define SECURITY_PROTOCOL_TLSV13 0x00
securityInfo->bySecurityProtocol = SECURITY_PROTOCOL_TLSV13;
sChannelCred->grbitEnabledProtocols =SP_PROT_TLS1_3_CLIENT;
status = pMyFunTab->**AcquireCredentialsHandleA**(NULL, UNISP_NAME_A, SECPKG_CRED_OUTBOUND, NULL, &sChannelCred, NULL, NULL, phCred, &ts);
戻りステータス = SEC_E_ALGORITHM_MISMATCH (0x80090331)
**error details: Secure connection failed. An error occurred while trying to connect to the host, error code 0x80090331. The client and server cannot communicate, because they do not possess a common algorithm.**
API リンク:
https://docs.microsoft.com/en-us/windows/win32/api/sspi/nf-sspi-acquirecredentialshandlea https://github.com/MicrosoftDocs/win32/blob/docs/desktop-src/SecAuthN/acquirecredentialhandle --schannel.md
同じ問題を修正するために、以下の変更を試みました。
テスト済みの Windows バージョン: Windows 11 21h2 OS ビルド 22000.434
レジストリの変更: リンクの下に提案されているとおり: Windows 10 で TLS 1.3 を有効にする方法
クライアントの何が問題なのかを理解するのに役立つかもしれないアドバイスと同様に、切り取られた C++ コードの提案や小さなサンプルは大歓迎です。
参考までに、私は CURL LIB を使用していません。
ありがとうございました
よろしく: Ajay Jaiswal