Привязки WCF клиента / обязательные элементы для шифрования - PullRequest
0 голосов
/ 16 января 2009

Я пытаюсь реализовать шифрование для моей службы WCF. Я знаю, что у меня есть несколько вариантов сделать это. Я не заинтересован в них. Я хотел бы использовать пароль для регенерации повторяющихся ключей RSA. Эти ключи затем будут использоваться для обмена ключами AES, которые будут использоваться для шифрования фактически переданных данных.

Я думаю, что для этого мне нужна пользовательская привязка. Мне также было бы интересно попытаться просто добавить свой собственный элемент привязки в привязку NetTCP. Кто-нибудь пытался либо настроить существующую привязку, либо создать полностью настраиваемую привязку?

Обновление 1

Я бы очень хотел принять участие в создании пользовательских привязок. Я могу получить часть шифрования и работать оттуда.

Update2

У меня есть привязка клиента и пользовательский элемент привязки. Прямо сейчас я реализую переопределение для MessageEncoder.WriteMessage. Мне нужно знать, куда отправляется это сообщение, чтобы я мог использовать правильный ключ шифрования. Я не могу получить доступ к этому адресу назначения.

1 Ответ

0 голосов
/ 18 января 2009

Вот несколько ссылок для вас:

Пользовательские привязки из документации MSDN

Блог Кирка Эванса: WCF и пользовательские привязки

В основном вы будете делать что-то вроде этого:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <bindings>
      <customBinding>
        <binding name="NetHttpBinding">
          <reliableSession />
          <compositeDuplex />
          <oneWay />
          <binaryMessageEncoding />
          <httpTransport />
        </binding>
      </customBinding>
    </bindings>
    <services>
      <service name="MyService">
        <endpoint
          address="http://localhost:8001/myService/"
          binding="customBinding"
          bindingConfiguration="NetHttpBinding"
          contract="MyServiceContract"
          name="HttpBinding" />
      </service>
    </services>
  </system.serviceModel>
</configuration>

Эта первая ссылка должна вам помочь больше всего. Удачи!

...