У меня есть старое устройство, которое подключается к веб-странице HTTPS и загружает некоторый контент. Я хочу, чтобы это устройство загружало контент из домена, которым я управляю, но клиент имеет встроенный корневой CA и подключается, только если SSL-соединение использует сертификат этого CA.
Конечно, я могу исправить это, изменив программное обеспечение на клиенте и заменив URL-адрес https на HTTP-адрес, удалив все компоненты HTTPS из соединения.
Однако я ищу способ заставить это работать без изменения клиента (только изменения DNS), и теперь я прочитал из «нулевых шифров SSL».
Может ли использовать один из шифров SSL без аутентификации (например, TLS_NULL_WITH_NULL_NULL
или, TLS_DH_anon_WITH_AES_256_CBC_SHA
возможно, заставить это устройство принимать мое поддельное соединение? Может быть, оно принимает эти поддельные шифры ...
Но я понятия не имею (и не нашел много информации в Интернете), как я могу заставить свой веб-сервер использовать эти шифры.
В настоящее время я использую Apache и пытался настроить эти шифры, но это не сработало, и в документации говорится, что нулевые шифры были удалены, потому что они небезопасны. Тем не менее, я знаю, что они небезопасны и хотели бы использовать их в любом случае ...
Есть ли другой веб-сервер, который я мог бы использовать для согласования нулевого шифра с этим клиентом и, надеюсь, подключить его к моему серверу, даже если у него нет действительного сертификата?
Теоретически, если устройство принимает эти шифры, это должно работать с поддельным сервером, так как эти шифры не аутентифицируют сервер, не так ли?
openssl s_server -key k.pem -cert c.pem -accept 443 -www
и вывод не содержал никаких нулевых шифров, а -cipher TLS_DH_anon_WITH_RC4_128_MD5
также не работал. РЕДАКТИРОВАТЬ, хорошо, получил сервер для работы -cipher ADH
. Давайте посмотрим, что клиент говорит об этом ...
openssl s_server -cipher <list>
чтобы увидеть, будет ли клиент подключаться с нулевым шифром. Возможно, вам придется скомпилировать OpenSSL, чтобы эта команда тоже работала.