Как проверить, поддерживает ли клиентское приложение веб-сервисов TLS?
У меня есть клиентское приложение, которое обращается к веб-сервису HTTPS. Для поддержки SSL используется внешняя библиотека.
Поставщик услуг сообщил, что он прекращает поддержку SSL 3 и с определенной даты будет поддерживать только соединения TLS 1.0 (или более поздние версии).
Я могу настроить клиент, например, для доступа к тестовому веб-серверу на моем ПК (или серверу Linux) с помощью запроса HTTPS GET.
Как я могу настроить тестовую службу, используя что-то вроде Apache или, возможно, Perl, чтобы положительно проверить, поддерживает ли клиент TLS 1.0 или более позднюю версию?
2 ответа
Я еще не нашел решение в соответствии с тем, что искал. Однако есть онлайн-сайты, которые сообщают, какой уровень SSL поддерживает ваш клиент.
Один (могут быть и другие, я не одобряю этот) - это howsmyssl.com, чьи отчеты выглядят так:
Ваш SSL-клиент плохой.
Версия: Хорошо
Ваш клиент использует TLS 1.2, самую современную версию протокола шифрования. Это дает вам доступ к самому быстрому и наиболее безопасному шифрованию в сети.
...Небезопасные шифры: плохо
Ваш клиент поддерживает наборы шифров, которые, как известно, небезопасны:
...
Что в данном случае показывает, что мое клиентское программное обеспечение поддерживает>= TLS 1.0 и не ограничивается <= SSL 3
Я публикую этот ответ на случай, если кто-то еще, сейчас или в будущем, сочтет полезным проверить уровни протокола.
Сноска: см. Более поздний ответ malgassar для ссылки на исходный код GitHub на языке Go, который можно использовать для реализации локального тестового сервера в соответствии с тем, что я искал изначально.
Возможно, он не был доступен в то время, когда исходное сообщение было сделано еще в 2015 году, но упомянутый вами веб-сайт (howsmyssl.com) предоставляет API в виде ссылки на службу REST ( https://www.howsmyssl.com/s/api.html), который можно использовать с любым клиентским кодом (например, в моем случае aC# .NET Windows) через веб-запрос. Вы также можете ввести ссылку в своем браузере и просмотреть возвращенный результат после отправки запроса в своем браузере.