Реализовать веб-службу, использующую безопасность транспортного уровня с WCF через HTTP, довольно просто: Включить SSL для моей службы WCF
Реализовать веб-службу, использующую безопасность транспортного уровня с WCF через net.tcp, довольно сложно: WCF с netTcpBinding и безопасностью транспорта сертификатов
... и решение net.tcp обычно включает что-то подобное как на стороне сервера, так и на стороне клиента:
<serviceCertificate
findValue="MyServiceCertificate"
storeLocation="LocalMachine"
storeName="My"
x509FindType="FindBySubjectName" />
В случае с HTTP вам даже не нужно упоминать сертификат ни на клиенте, ни на сервере. В случае NET.TCP вы должны хранить, находить и указывать сертификат как на клиенте, так и на сервере в большинстве источников, которые я читал.
Что делает волшебство, благодаря которому вам не нужно беспокоиться о сертификатах в режиме HTTP? И почему эта магия недоступна вам при использовании net.tcp?