Обмен открытыми ключами в .NET

Я пытаюсь обменять открытые ключи клиента и сервера.

Как только я делаю запрос от клиента и отправляю ключ на сервер, сервер вызывает следующее исключение:

введите здесь описание изображения

Исключением является HttpRequestValidationException. Пишет, что от клиента было обнаружено потенциально опасное значение Request.Form (содержимое открытого ключа).

Что означает это исключение? Почему мне не разрешено обмениваться публичными ключами с помощью обычных POST-запросов?

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


person Matthew    schedule 20.04.2013    source источник
comment
Похоже на чрезмерно усердную (и ошибочную IMO) защиту от XSS.   -  person CodesInChaos    schedule 21.04.2013


Ответы (1)


Я нашел ответ.

Мне пришлось ввести эту строку в мой файл web.config на сервере:

<httpRuntime requestValidationMode="2.0" />
person Matthew    schedule 20.04.2013
comment
+0: ​​вообще не очень хорошая идея. Отправка двоичных данных в формате Base64 была бы безопаснее. - person Alexei Levenkov; 21.04.2013
comment
Спасибо за ваш ответ :) - person Matthew; 21.04.2013
comment
@AlexeiLevenkov Я не думаю, что ключом являются двоичные данные. Это XML. - person CodesInChaos; 21.04.2013