Можно ли заказать наборы шифров со стороны сервера на Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Можно ли заказать наборы шифров со стороны сервера на Java?

Сообщение Anonymous »

В документации Java указано, что:

Код: Выделить всё

public final void setUseCipherSuitesOrder​(boolean honorOrder)
Устанавливает, следует ли учитывать предпочтения локальных наборов шифров.

Параметры:
HonorOrder — следует ли соблюдать порядок локальных наборов шифров в #getCipherSuites во время установления связи SSL/TLS/DTLS.


Порядок наборов шифров :

Код: Выделить всё

String[] cs = new String[]{
"TLS_RSA_WITH_AES_256_GCM_SHA384",
"TLS_RSA_WITH_AES_256_CBC_SHA256",
"TLS_RSA_WITH_AES_256_CBC_SHA"
};
Если я установлю параметры сокета, например:

Код: Выделить всё

SSLServerSocket.getSSLParameters().setUseCipherSuitesOrder(true);
SSLServerSocket.setEnabledProtocols(....);
SSLServerSocket.setEnabledCipherSuites(cs);
с помощью # nmap -sT -p 465 адрес_хоста --script ssl-enum-ciphers.nse результат:

Код: Выделить всё

PORT    STATE SERVICE
465/tcp open  smtps
| ssl-enum-ciphers:
|   TLSv1.2:
|     ciphers:
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 4096) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 4096) - A
|       TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 4096) - A
|     compressors:
|       NULL
|     cipher preference: client
|_  least strength: A
Порядок шифрования по-прежнему определяется клиентом: предпочтение шифрования: клиент. Можно ли установить приоритет по серверу? Использование JDK 12.

Подробнее здесь: https://stackoverflow.com/questions/571 ... de-in-java

Вернуться в «JAVA»