2017-06-28 5 views
0

TLS/SSLで保護されたTCPトランスポート層を使用するWCFサービスを実装し、サーバー上でWindows認証(kerberos/NTLM)を使用して呼び出し元のクライアントを識別します。 Windows認証の部品はすでに動作していますが、接続が暗号化されているかどうかはわかりません。Windowsの認証とSSLを使用したWCF

私はNetTcpBindingを使用して、このようにそれを作成しています:

 var binding = new NetTcpBinding() 
     { 
      ReceiveTimeout = TimeSpan.FromMinutes(30), 

      OpenTimeout = TimeSpan.FromMinutes(1), 
      CloseTimeout = TimeSpan.FromSeconds(30), 

      MaxReceivedMessageSize = int.MaxValue, 

      ReliableSession = 
      { 
       Enabled = true, 
       InactivityTimeout = TimeSpan.FromMinutes(1) 
      }, 

      Security = 
      { 
       Mode = SecurityMode.Transport, 
       Transport = 
       { 
        ClientCredentialType = TcpClientCredentialType.Windows, 
        ProtectionLevel = ProtectionLevel.EncryptAndSign, 
        SslProtocols = SslProtocols.Tls12 
       } 
      } 
     }; 

私はすでにのwiresharkでいくつかのパッケージを盗聴し、最初のパッケージのいずれかに次のが見つかりました:「アプリケーション/交渉」。

私は接続がTLSで暗号化されていることを110%確信したいだけですが、確認する方法がわからないためではありません。 自分の環境でクライアント証明書を使用することはできません。

何かを設定する方法については、マイクロソフトのウェブサイトへのリンクを貼り付けないでください。 WindowsのauthとTLSの両方を使用する方法を示す例はありません。 アプリケーションはスタンドアロンですので、はありませんIISまたは何か!

ご協力いただきましてありがとうございます。

答えて

0

これはNet.Tcpは、トランスポート・セキュリティおよびスタンドアロンのホスティングとの結合のための例です:https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/transport-security-with-windows-authentication

それはあなたがそうであるように、ほぼ正確な構成となっています。唯一の例外は、信頼性の高いセッションを追加することです(セキュリティにはまったく影響しません)。利用可能なSSLプロトコルをTls12(デフォルト値はSsl3 | Tls | Tls11 | Tls12)に制限します。だから、まだ安全です。

したがって、答えは:はい、それは安全です。

関連する問題