1

OpenSSL сообщает, что шифровальный код для данного веб-сервера ECDHE-RSA-AES128-SHA256:

$ openssl s_client -connect 10.87.0.51:12656 </dev/null | grep Cipher
depth=0 C = VE, ST = xxxx, L = xxxxx, O = xxxxx, CN = xxxx.xxx.xx, emailAddress = xxxx@xxxxx.com
verify error:num=18:self signed certificate
verify return:1
depth=0 C = VE, ST = xxxxx, L = xxxxx, O = xxxxx, CN = xxxxxx.xx.xx, emailAddress = xxxx@xxxxx.com
verify return:1
DONE
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-SHA256
    Cipher    : ECDHE-RSA-AES128-SHA256

GnuTLS соглашается с AFAIK (не уверен в том, как интерпретировать часть AES CBC, поскольку она использует другую номенклатуру)

$ gnutls-cli --no-ca-verification -p 12656 10.87.0.51 < /dev/null | sed -n '/Description/,$p'
- Description: (TLS1.2)-(ECDHE-RSA-SECP256R1)-(AES-128-CBC)-(SHA1)
- Session ID: 5B:B6:66:65:8F:82:29:8B:5C:45:50:29:2F:6C:2D:7A:2C:C8:C0:EE:EB:CC:B7:79:19:1C:26:EA:97:CA:D6:A9
- Ephemeral EC Diffie-Hellman parameters
 - Using curve: SECP256R1
 - Curve size: 256 bits
- Version: TLS1.2
- Key Exchange: ECDHE-RSA
- Server Signature: RSA-SHA256
- Cipher: AES-128-CBC
- MAC: SHA1
- Compression: NULL
- Options: safe renegotiation,
- Handshake was completed

- Simple Client Mode:

Но SSLscan / openssl говорит, что это не удалось при тестировании:

$ sslscan 10.87.0.51:12656 | grep -e Accepted -e ECDHE-RSA-AES128-SHA256
    Failed    TLSv1  128 bits  ECDHE-RSA-AES128-SHA256
    Accepted  TLSv1  128 bits  ECDHE-RSA-AES128-SHA
    Accepted  TLSv1  128 bits  AES128-SHA
    Accepted  TLSv1  128 bits  ECDHE-RSA-RC4-SHA
    Accepted  TLSv1  128 bits  RC4-SHA
    Accepted  TLSv1  128 bits  RC4-MD5
    Accepted  TLSv1  112 bits  ECDHE-RSA-DES-CBC3-SHA
    Accepted  TLSv1  112 bits  DES-CBC3-SHA

Я ошибаюсь, чтобы увидеть здесь противоречие? Я абсолютно новичок в этом.

Изменить: SSLscan на самом деле не отправляет сервер Hello для ECDHE-RSA-AES128-SHA256, но вместо этого дважды подключается по протоколу TCP и отключается, возвращая «Подпрограммы SSL / ssl3_client_hello / нет доступных шифров». Мне нужно копаться дальше в SSLscan.

1 ответ1

0

Во время начального рукопожатия TLS клиент отправляет сообщение Client Hello, которое содержит, помимо прочего, номер версии, запрошенный метод сжатия, расширения (например, SNI) и, что важно, в этом случае список наборов шифров, которые поддерживает клиент.

Сервер отвечает сообщением Server Hello , которое содержит различные элементы, в том числе сертификат сервера, необязательный запрос сертификата клиента и, что важно, выбранный набор микросхем, выбранный из списка, ранее представленного клиентом.

В вашем примере сервер исправлен, а клиент изменился. Поэтому выбранный набор шифров зависит от возможностей ваших клиентов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .