2016-11-20 4 views
1

То, что я хочу, это тест tls handshake, когда psk активен. Я также хочу, чтобы каждый HTTP-заголовок обменивался во время соединения между клиентом (моим ноутбуком) и общедоступным сервером. Теперь мне интересно, есть ли публичный сервер psk tls, где я могу выполнить свой тест.Есть ли общедоступный psk-сервер для тестирования tls handshake?

С уважением.

+0

Попробуйте мой маленький и незавершенный проект [TlsPskServer2] (https://github.com/afarber/jetty-newbie/tree/master/TlsPskServer2/src/main/java/de/afarber/tlspskserver2). –

ответ

2

Я сомневаюсь, что существует веб-сервер, использующий PSK в Интернете для открытого тестирования. Также я сомневаюсь, что браузеры поддерживают комплекты шифрования PSK. Но вы можете настроить свой собственный веб-сервер, используя PSK с OpenSSL:

openssl s_server -psk 1a2b3c4d -nocert -www 

и согласующий клиента:

openssl s_client -connect 127.0.0.1:4433 -psk 1a2b3c4d 

Что касается протокола HTTP: он не зависит от уровня TLS, т.е. не изменить, если используется PSK или обычная проверка подлинности с помощью сертификатов.

0

Даже если какой-либо публичный TLS-сервер будет поддерживать PSK, вы не сможете протестировать его с ним. Существует принципиальная разница между тем, как работает аутентификация открытого ключа (которая используется большинством серверов TLS) и PSK.

Public Key Authentication: Аутентификация Incase открытого ключа сервера (те, которые не включают аутентификации клиента), сервер отправляет сертификат, который содержит открытый ключ и клиент шифрует это предварительно главный секрет и посылает это сервер, который только сервер может расшифровать. Таким образом, оба имеют один и тот же секрет предварительного ключа и могут использовать один и тот же набор дериваций для дальнейшего получения финального ключа.

Pre-Shared ключ: Как видно из названия указывает, ранее совместно требует, чтобы обе стороны имеют тот же ключ предварительно распределяется между собой. Они просто обмениваются идентификаторами между ними, чтобы указать, какие из предустановленных они будут использовать для создания финального ключа.

Таким образом, даже если есть сервер, который поддерживает PSK, у вас должен быть одинаковый набор (или, по крайней мере, один) ключей, которые он имеет, что невозможно, поскольку эти серверы не будут делиться своими ключами с кем-либо другим от которого он должен быть предоставлен (законные клиенты).

Итак, лучший способ для вас - использовать тестовые клиентские и серверные инструменты openssl и протестировать его.