По какой-то причине ответ Кандиде не строился. Это было полезно, однако, поскольку это заставило меня найти это, которое отлично работало:
System.Windows.Threading.Dispatcher.CurrentDispatcher.Invoke((Action)(() =>
{
//your code here...
}));
Я думаю, что это может помочь; в прошлом году мы использовали это для сжатия веб-сервисов, и это работало очень хорошо, я полагаю, что это могло быть улучшено с классами шифрования;
Создающие Пользовательские Расширения SOAP - Расширение Сжатия
Что-либо, что Вы делаете для обеспечения "шифрования", которое не использует SSL/TLS, вероятно, будет уязвимо. Теперь необходимо ли спросить себя, действительно ли стоит записать dev часы, которые Вы могли проводить на функции на резиново-куриных мерах безопасности? Возможно, это.
API.NET как DPAPI и Win32 crypt32 API облегчают шифровать блобы данных со статическими ключами. Но как Ваши клиенты получат ключи? Любой установил клиент SOAP, должен будет или иметь ключ, который врезаются в его конфигурацию, или получать его по небезопасному Интернету.
Это - проблема, которую SSL/TLS решает для Вас; танец, который Вы делаете с сертификатами TLS, - то, что решает проблему передачи открытых ключей по недоверяемым каналам.
, Возможно, я наивен, но был бы, вынуждая коммуникацию быть через https быть приемлемым? Я разрабатываю веб-сервисы, которые работают 2.0 и имели успех только с тем, чтобы заставлять IIS осуществить https на виртуальном каталоге.
, Который был бы самым простым способом пойти, вероятно, но к сожалению я не управляю конфигурацией IIS, и не может гарантировать, что это может выполнить https.
В этом случае, возможно, лучший выбор любому индивидуальному, шифруют части сообщений SOAP (в конце концов, Вам, возможно, не понадобится все сообщение, которое будет зашифровано - просто определенные чувствительные поля?), или Вы могли решить использовать HttpModule, чтобы прервать все сообщения и воздействовать на содержание. В любом случае Вы, вероятно, оказываетесь перед необходимостью обеспечивать пользовательские прокси.
Возможно, я наивен, но был бы, вынуждая коммуникацию быть через https быть приемлемым? Я разрабатываю веб-сервисы, которые работают 2.0 и имели успех только с тем, чтобы заставлять IIS осуществить https на виртуальном каталоге.
, С другой стороны, или кроме того, можно проверить HttpRequest. Свойство .
IsSecureConnectionМы на самом деле используем WSE 3.0 в наших веб-сервисах, которые были первоначально разработаны pre-WCF. Для безопасности мы используем SAML, основанная на маркере система основывалась на Криптографических классах в Системе. Безопасность.
Это работает очень хорошо. Однако этот метод ни в коем случае не "прост".
Вы можете использовать шифрование параметров в C # с помощью расширения System.Security.Cryptography.
Шифрование ваших параметров и их дешифрование будет сложнее, но гораздо более безопасным.
How To: Encrypt и расшифровывать данные с помощью симметричного (Rijndael) ключа (C # / VB.NET)
Я использую этот подход для веб-службы OTP (одноразовый пароль), и он прекрасно работает для меня.