Действительно ли защита сообщений WCF шифрует содержимое сообщений?

Я прочитал документацию, представленную в MSDN, и некоторые другие сообщения на этом сайте. Тем не менее, все еще немного неясно, будет ли WCF (, в частности NetTcpBinding ), действительно шифровать содержимое сообщения при использовании безопасности сообщений с сертификатами. Кто-нибудь знает наверняка?

Например, вы можете указать учетные данные как для транспорта, так и для сообщения в своей конфигурации :

       <security mode="TransportWithMessageCredential">
          <transport clientCredentialType="Certificate"/>
          <message clientCredentialType="Certificate"
                   negotiateServiceCredential="true" />
       </security>

. Насколько я могу судить, документация MSDN подразумевает, что безопасность сообщений просто зависит либо от имени пользователя/пароля, либо от аутентификации на основе сертификата -(согласования ), но конкретно не указывается, что само сообщение фактически зашифровано в уровень сообщений.

Например, если я использую ТОЛЬКО безопасность сообщений с согласованием на основе сертификата -, я не думаю, что содержимое сообщения на самом деле зашифровано (, т.е. анализатор пакетов может перехватить необработанное содержимое сообщения --, даже если служба применяет аутентификацию )?

Если возможно шифрование на уровне истинного сообщения -(с использованием NetTcpBinding ), как это делается в коде? Я полагаю, что это связано с AlgorithmSuite, хотя я не уверен,

binding.Security.Mode = SecurityMode.Message;
binding.Security.Message.ClientCredentialType = MessageCredentialType.Windows;
binding.Security.Message.AlgorithmSuite = new System.ServiceModel.Security.TripleDesSecurityAlgorithmSuite(); 
5
задан Sean Thoman 10 July 2012 в 22:17
поделиться