В соответствии с документацией OpenJDK code /, кажется, что список шифров (около 50) включен по умолчанию. Мое приложение построено поверх CentOS linux плюс OpenJDK, и из него я пытаюсь создать openssl s_client connect
с поддерживаемым и включенным шифром AES128-GCM-SHA256
.
$ openssl s_client -connect 0.0.0.0:8443 -cipher AES128-GCM-SHA256
CONNECTED(00000003)
139724265166752:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:769:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 99 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
Start Time: 1576462403
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
Показывает сбой рукопожатия , что означает, что либо шифр отсутствует, либо не включен, что звучит противоречиво. Как мне приступить к отладке на этом? У меня вопрос: есть ли способ явно включить шифр, чтобы заставить это рукопожатие openssl работать.
Кроме того, если шифры включены по умолчанию, почему бы вначале отказать рукопожатию openssl?
Буду признателен за любые предложения / помощь.
[Изменить]: После подключения с флагом -debug
.
CONNECTED(00000003)
write to 0x26d1de0 [0x2715b90] (99 bytes => 99 (0x63))
0000 - 16 03 01 00 5e 01 00 00-5a 03 03 7b 91 0a a7 f0 ....^...Z..{....
0010 - 13 15 3b 09 33 36 ba 3f-a9 ad df b6 6f 5a 30 a7 ..;.36.?....oZ0.
0020 - 22 dc e6 59 a1 d4 a8 14-34 5f 6f 00 00 04 00 9c "..Y....4_o.....
0030 - 00 ff 01 00 00 2d 00 23-00 00 00 0d 00 20 00 1e .....-.#..... ..
0040 - 06 01 06 02 06 03 05 01-05 02 05 03 04 01 04 02 ................
0050 - 04 03 03 01 03 02 03 03-02 01 02 02 02 03 00 0f ................
0060 - 00 01 01 ...
read from 0x26d1de0 [0x271b0f0] (7 bytes => 7 (0x7))
0000 - 15 03 03 00 02 02 28 ......(
140413620455328:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:769:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 99 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
Start Time: 1576463672
Timeout : 300 (sec)
Verify return code: 0 (ok)
---