HttpWebRequest
заботится о согласовании SSL / TLS, если вы обращаетесь к защищенному URL (https). Набор шифров, согласованный для сеанса, зависит от возможностей как клиента, так и сервера. Проще говоря, это происходит в следующих шагах:
- Клиент подключается к серверу.
- Клиент говорит привет и вместе с ним предоставляет свои возможности в виде набора криптографических алгоритмов (например, [RSA + AES128 + SHA1], [RSA + AES256 + SHA1], ...)
- Сервер выбирает самый сильный «набор алгоритмов», который он поддерживает, и уведомляет клиента о том, что мы будем использовать этот набор для текущего сеанса.
Итак, чтобы ответить на ваш вопрос, вам нужно убедиться, что и ваш клиент и сервер имеют возможность AES256.
Клиентская сторона
Поскольку вы используете HttpWebRequest
, который внутренне использует API-интерфейсы Windows, вы зависите от API-интерфейсов Windows. Насколько я знаю, Windows XP и Windows Server 2003 не поддерживают новые вещи, такие как TLS 1.0, TLS 1.2, AES 256, SHA 256, ECC и т. Д. Для этого ваш клиент должен работать в Windows Vista, Windows 7 или Windows 2008
Серверная сторона
Поскольку нет никаких признаков использования сервера, я не могу ничего комментировать. Если это IIS, приведенный выше текст все еще применяется. Хотя вам нужно будет включить определенные биты в IIS. См. эту превосходную статью для получения помощи.
Совет
Используйте сетевой монитор, чтобы увидеть, что происходит за кулисами. Для этого вы можете использовать Wireshark или Microsoft Network Monitor .