tcpTransport + шифрование + сжатие + проверка подлинности Windows - PullRequest
1 голос
/ 28 марта 2012

Вот что мне нужно:

  • Сжатие -> требуется пользовательская привязка
  • NetTcpBinding
  • Шифрование
  • Имя пользователя Windows в Windows (аутентификация Windows в порядке, но она должна быть неблокирующей)

Кажется, почти невозможно собрать все это вместе.

Однако теперь я думаю, что подошел ближе, но это все равно не работает в разных доменах. Я не хочу, чтобы проверка подлинности Windows блокировала доступ к веб-службе, как в настоящее время. Мне просто нужно знать личность пользователя и предлагать данные на его основе. Есть также некоторые методы, которые требуют анонимного доступа.

  <bindings>
<customBinding>
  <binding name="ZipBinding" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00">
    <customMessageEncoding innerMessageEncoding="binaryMessageEncoding" messageEncoderType="WcfExtensions.GZipMessageEncoder, WcfExtensions">
      <readerQuotas maxDepth="999999999" maxStringContentLength="999999999" maxArrayLength="999999999" maxBytesPerRead="999999999" maxNameTableCharCount="999999999">
      </readerQuotas>
    </customMessageEncoding>
    <windowsStreamSecurity protectionLevel="EncryptAndSign"/>
    <tcpTransport maxBufferSize="999999999" maxReceivedMessageSize="999999999" />
  </binding>
</customBinding>

А почему EncryptAndSign не требует сертификата? Он использует SSL для шифрования сообщений, верно? Я был бы счастлив использовать sslStreamSecurity, но он тоже не работал.

Я полагаю, мое текущее решение использует безопасность сообщений? Транспортной безопасности будет более чем достаточно, и она также будет быстрее, но я не уверен, что мне придется изменить

...