永遠のプログラマ☆

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

TLS1.3 接続エラー AcquireCredentialsHandle 0x80090331

こんにちは。

Visual Studio C++ schannel API で TLS1.3 トライ。

 

テストで使ったTLS1.3 のサイト。

"www.tls13.facebook.com"

 

f:id:Broadshotx:20190213084556j:plain

Chrome では TLS1.3 OK

Windows 8.1 でテスト。

WIndows 10 Pro でも同じエラー。

 

TLS1.2 とロジックは同じ。

違うのはプロトコルの選択だけ。

#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)

 

だが、エラー発生。

AcquireCredentialsHandle 0x80090331

 

 SEC_E_ALGORITHM_MISMATCH (0x80090331)

 

アルゴリズムが不一致とな。。。。

 

うーむ、そもそもここの説明には、
SP_PROT_TLS1_3_SERVER や SP_PROT_TLS1_3_CLIENT がない。

SCHANNEL_CRED structure
https://docs.microsoft.com/en-us/windows/desktop/api/schannel/ns-schannel-_schannel_cred

 

ハマり中 (^-^)