Так как я ограничил свои Шифры ECDHE из-за уязвимостей Затора, я не могу сделать завихрение от машины Centos больше. (работы из Ubuntu)
$ curl -v https://mysite.mydomain.com
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none
* NSS error -12286 (SSL_ERROR_NO_CYPHER_OVERLAP)
* Cannot communicate securely with peer: no common encryption algorithm(s).
Открытие с работами openssl:
$ openssl s_client -connect mysite.mydomain.com:443
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-GCM-SHA384
Я попробовал явным шифром, - небезопасный и - tlsv1.2, никакая удача
$ curl --ciphers TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 -v https://mysite.mydomain.com
curl: (59) Unknown cipher in list: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Править: попробованный корректным именем шифра NSS, и меньше чем 384 бита:
curl --ciphers ecdhe_rsa_aes_128_sha_256 https://mysite.mydomain.com
* Connected to xxx (xxx) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* Unknown cipher in list: ecdhe_rsa_aes_128_sha_256
* Closing connection 0
curl: (59) Unknown cipher in list: ecdhe_rsa_aes_128_sha_256
Найденный этой ошибкой https://bugzilla.redhat.com/show_bug.cgi? id=1185708, но не помогает мне получить передачу это.
SSLLabs сообщают о тех шифрах, как поддерживается:
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ECDH 256 bits (eq. 3072 bits RSA) FS 256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) ECDH 256 bits (eq. 3072 bits RSA) FS 128
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028) ECDH 256 bits (eq. 3072 bits RSA) FS 256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027) ECDH 256 bits (eq. 3072 bits RSA) FS 128
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) ECDH 256 bits (eq. 3072 bits RSA) FS 256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) ECDH 256 bits (eq. 3072 bits RSA) FS 128
RHEL/CentOS не включает ECC по умолчанию в NSS. Вы должны явно указать какие шифры вы хотите, например
curl --ciphers ecdhe_rsa_aes_128_gcm_sha_256 ....
или любой другой шифр, поддерживаемый вашим сервером, а также поддерживаемый вашей версией curl/NSS.
Смотрите https://stackoverflow.com/a/31108631/3081018 для более подробной информации.
Я пробовал с явным шифром, --insecure и --tlsv1. 2, не повезло
Эта проблема не связана с валидацией сертификатов, поэтому --insecure
не поможет.
curl --шифр TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Шифровые имена с NSS и OpenSSL разные, и так как вы используете curl с NSS бэкэндом, то вы должны использовать синтаксис NSS. Смотрите https://git.fedorahosted.org/cgit/mod_nss.git/plain/docs/mod_nss.html#Directives для указания шифров.
Также, поддержка ECC с NSS доступна только начиная с curl 7.36.