.Net Framework 4.0 で TLS 1.2 が本当に使えないのか調べてみた その2

Windows 2000で TLS 1.2 が本当に使えないのか調べてみた
Windows XP + .Net Framework で TLS 1.2 を使ってみた

.Net Framework 4.0 で TLS 1.2 が本当に使えないのか調べてみた その1

namespace System.Net
{
 class public auto sealed ansi SecurityProtocolType extends [mscorlib]System.Enum
 {
   public staticSystem.Net.SecurityProtocolType Ssl3 = int32(0x30)
   public staticSystem.Net.SecurityProtocolType Tls = int32(0xc0)
 }
}

.namespace System.Net
{
 class private auto abstract sealed ansi beforefieldinit    SecurityProtocolTypeExtensions extends [mscorlib]System.Object
 {
  public staticSystem.Net.SecurityProtocolType Tls12 = int32(0xc00)
  public staticSystem.Net.SecurityProtocolType Tls11 = int32(0x300)
 }
}

この数値の意味(なんで2Bitずつフラグが立ってるのか)がよく分かんなかったのだけど、それっぽい定数定義を見つけた。

namespace System.Net
{
 private auto sealed ansi SchProtocols extends [mscorlib]System.Enum
 {
 
public static System.Net.SchProtocols Zero = int32(0x0)
 
public static System.Net.SchProtocols PctClient = int32(0x2)
 
public static System.Net.SchProtocols PctServer = int32(0x1)
 
public static System.Net.SchProtocols Pct = int32(0x3)
 
public static System.Net.SchProtocols Ssl2Client = int32(0x8)
 
public static System.Net.SchProtocols Ssl2Server = int32(0x4)
 
public static System.Net.SchProtocols Ssl2 = int32(0xc)
 
public static System.Net.SchProtocols Ssl3Client = int32(0x20)
 
public static System.Net.SchProtocols Ssl3Server = int32(0x10)
 
public static System.Net.SchProtocols Ssl3 = int32(0x30)
 
public static System.Net.SchProtocols TlsClient = int32(0x80)
 
public static System.Net.SchProtocols TlsServer = int32(0x40)
 
public static System.Net.SchProtocols Tls = int32(0xc0)
 
public static System.Net.SchProtocols Tls11Client = int32(0x200)
 
public static System.Net.SchProtocols Tls11Server = int32(0x100)
 
public static System.Net.SchProtocols Tls11 = int32(0x300)
 
public static System.Net.SchProtocols Tls12Client = int32(0x800)
 
public static System.Net.SchProtocols Tls12Server = int32(0x400)
 
public static System.Net.SchProtocols Tls12 = int32(0xc00)
 
public static System.Net.SchProtocols Ssl3Tls = int32(0xf0)

 
public static System.Net.SchProtocols UniClient = int32(0x80000000)
  
public static System.Net.SchProtocols UniServer = int32(0x40000000)
  
public static System.Net.SchProtocols Unified = int32(0xc0000000)
  
public static System.Net.SchProtocols ClientMask = int32(0x80000aaa)
  
public static System.Net.SchProtocols ServerMask = int32(0x40000555)

 }
}

サーバーが下位ビットで上位ビットがクライアントサポートらしい
後どうやら、以下の変数にも値が格納されてるっぽい

System.Net.SslConnectionInfo::Protocol
System.Security.Authentication.SslProtocols enabledSslProtocols

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です