Как найти сертификат SSL, который поддерживает определенные шифры

У нас есть сайт, и нам нужно подключиться к сторонней службе, которая использует систему с определенной поддержкой шифров. Я пробовал LetsEncrypt и Comodo, но ни одна из них не работает.

Есть ли ресурс, который я могу найти, чтобы узнать, какой центр сертификации SSL поддерживает желаемые шифры, не выполняя установку и выполняя nmap --script ssl-enum-ciphers -p 443 example.org

Здесь поддерживаются ли шифры:

Cipher#  0 : TLS_RSA_WITH_AES_256_CBC_SHA256 
Cipher#  1 : TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 
Cipher#  2 : TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 
Cipher#  3 : TLS_RSA_WITH_AES_256_CBC_SHA 
Cipher#  4 : TLS_DHE_RSA_WITH_AES_256_CBC_SHA 
Cipher#  5 : TLS_DHE_DSS_WITH_AES_256_CBC_SHA 
Cipher#  6 : TLS_RSA_WITH_AES_128_CBC_SHA256 
Cipher#  7 : TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 
Cipher#  8 : TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 
Cipher#  9 : TLS_RSA_WITH_AES_128_CBC_SHA 
Cipher#  10 : TLS_DHE_RSA_WITH_AES_128_CBC_SHA 
Cipher#  11 : TLS_DHE_DSS_WITH_AES_128_CBC_SHA 
Cipher#  12 : TLS_EMPTY_RENEGOTIATION_INFO_SCSV 
Cipher#  13 : TLS_DH_anon_WITH_AES_256_CBC_SHA256 
Cipher#  14 : TLS_DH_anon_WITH_AES_256_CBC_SHA 
Cipher#  15 : TLS_DH_anon_WITH_AES_128_CBC_SHA256 
Cipher#  16 : TLS_DH_anon_WITH_AES_128_CBC_SHA 
Cipher#  17 : SSL_RSA_WITH_DES_CBC_SHA 
Cipher#  18 : SSL_DHE_RSA_WITH_DES_CBC_SHA 
Cipher#  19 : SSL_DHE_DSS_WITH_DES_CBC_SHA 
Cipher#  20 : SSL_DH_anon_WITH_DES_CBC_SHA 
Cipher#  21 : TLS_RSA_WITH_NULL_SHA256 
Cipher#  22 : SSL_RSA_WITH_NULL_SHA 
Cipher#  23 : SSL_RSA_WITH_NULL_MD5 
Cipher#  24 : TLS_KRB5_WITH_DES_CBC_SHA 
Cipher#  25 : TLS_KRB5_WITH_DES_CBC_MD5
1
задан 14 November 2018 в 19:24
2 ответа

Сертификат не определяет явно, какие шифры доступны на сервере. На самом деле это контролируется (например, на серверах приложений, использующих OpenSSL) параметром конфигурации Cipher String, который позволяет администратору сервера включать или отключать определенные шифры или наборы шифров, либо отдавать предпочтение определенному порядку шифров.

Здесь есть полезная информация: https://www.owasp.org/index.php/TLS_Cipher_String_Cheat_Sheet

2
ответ дан 3 December 2019 в 17:02

По сути, существует два типа сертификатов, которые различаются типом используемого открытого ключа: типичные сертификаты RSA и менее используемые сертификаты ECC. Первые используются для шифра с аутентификацией RSA (например, TLS_RSA_WITH_AES_256_CBC_SHA256 , TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 ... в вашем списке используется шифр с ECDAherS (в вашем списке нет шифра с ESipherS) и ECC с ESipherSA ваш список).

Некоторые шифры в вашем списке вообще не используют сертификаты, например TLS_DH_anon_WITH_AES_256_CBC_SHA или TLS_KRB5_WITH_DES_CBC_SHA . Другие шифры в вашем списке вообще не настоящие, а только псевдошифры: TLS_EMPTY_RENEGOTIATION_INFO_SCSV . Кроме того, существуют шифры DSS, для которых требуются сертификаты DSA, которые в любом случае не выдаются общедоступными центрами сертификации.

Кроме того, многие шифры в этом списке ужасно небезопасны, например SSL_RSA_WITH_NULL_MD5 (без шифрования), SSL_RSA_WITH_DES_CBC_SHA (легко взломать шифрование) или TLS_DH_anon_WITH_AES_256_CBC_SHA (нет защиты от атак человека посередине, поскольку нет аутентификации сервера).

У нас есть сайт, и нам нужно подключиться к третьему партийная служба, использующая систему с поддержкой определенного шифра.

Если вам нужно подключиться к сторонней службе, значит, вы являетесь клиентом TLS. У клиентов TLS сертификатов обычно нет. Клиентам TLS могут потребоваться (клиентские) сертификаты, если требуется взаимная аутентификация. В этом случае тип сертификата не имеет никакого отношения к шифру - только сертификаты сервера имеют такое отношение. Но серверу, скорее всего, потребуются определенные сертификаты, такие как сертификаты, выданные сторонними центрами сертификации, или другие сертификаты с определенными свойствами. Какие свойства должен иметь сертификат, должны быть задокументированы сторонней службой.

3
ответ дан 3 December 2019 в 17:02

Теги

Похожие вопросы