永遠のプログラマ☆

高齢者でもプログラマ(4x年)

Windows schannel API で TLS1.3を使う☆

こんにちは。

2019春、プログラマには、ツライ花粉の季節。
5月にワープしたい。

 

さて、C++ でWinsock+schannelで通信ライブラリ開発。

ついこの前、SSL3消えて、

 TLS1.0からTLS1.2。

 

やっと Windows SDK でTLS1.3 登場。

 

Visual Studio C++で schannel。

 TLS1.3 通信したい。

 

 Visual Studio 2013 では、 TLS1.2 までしかサポートしてない。

TLS1.3 のサポートなし。

schannel.h

#define SP_PROT_TLS1_2_SERVER 0x00000400
#define SP_PROT_TLS1_2_CLIENT 0x00000800
#define SP_PROT_TLS1_2 (SP_PROT_TLS1_2_SERVER | \
SP_PROT_TLS1_2_CLIENT)

 

TLS1.3を使うには、

最新のWindows SDKが必要らしい。

 

Visual Studio 2017 をインストールするのが手っ取り早い。

以下のSDKがインストールされた。

Windows Software Development Kit - Windows 10.0.17763.132

 

プロジェクトを開くと以下の画面。

f:id:Broadshotx:20190208153303j:plain

 

schannel.h

を開くと 

無事に TLS1.3発見。

 

#define SP_PROT_TLS1_3_SERVER 0x00001000
#define SP_PROT_TLS1_3_CLIENT 0x00002000
#define SP_PROT_TLS1_3 (SP_PROT_TLS1_3_SERVER | \
SP_PROT_TLS1_3_CLIENT)

 

めでたしめでたし。