Все, что вы делаете для обеспечения «шифрования» без использования SSL / TLS, может быть уязвимым. Теперь вы должны спросить себя, стоит ли тратить часы на разработку, которые вы могли бы потратить на функции, связанные с мерой безопасности "каучук-курица"? Может быть, это так.
.NET API, такие как DPAPI и Win32 crypt32 API, упрощают шифрование больших двоичных данных с помощью статических ключей. Но как ваши клиенты получат ключи? Любой установленный клиент SOAP должен будет либо сжечь ключ в своей конфигурации, либо получить его через небезопасный Интернет.
Это проблема, которую SSL / TLS решает для вас; Танец, который вы делаете с сертификатами TLS, - это то, что решает проблему передачи открытых ключей по ненадежным каналам.