Não há documentação que cubra todas as conversões entre o nome da cifra e o nome que o curl está esperando como argumento.
Felizmente, curl é de código aberto e o mapeamento está disponível no código-fonte .
Para o benefício de futuros pesquisadores, reproduzo-o com mais nitidez aqui:
Conjuntos de cifras SSL2
<argument> <name>
rc4 SSL_EN_RC4_128_WITH_MD5
rc4-md5 SSL_EN_RC4_128_WITH_MD5
rc4export SSL_EN_RC4_128_EXPORT40_WITH_MD5
rc2 SSL_EN_RC2_128_CBC_WITH_MD5
rc2export SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5
des SSL_EN_DES_64_CBC_WITH_MD5
desede3 SSL_EN_DES_192_EDE3_CBC_WITH_MD5
Conjuntos de cifras SSL3 / TLS
<argument> <name>
rsa_rc4_128_md5 SSL_RSA_WITH_RC4_128_MD5
rsa_rc4_128_sha SSL_RSA_WITH_RC4_128_SHA
rsa_3des_sha SSL_RSA_WITH_3DES_EDE_CBC_SHA
rsa_des_sha SSL_RSA_WITH_DES_CBC_SHA
rsa_rc4_40_md5 SSL_RSA_EXPORT_WITH_RC4_40_MD5
rsa_rc2_40_md5 SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
rsa_null_md5 SSL_RSA_WITH_NULL_MD5
rsa_null_sha SSL_RSA_WITH_NULL_SHA
fips_3des_sha SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA
fips_des_sha SSL_RSA_FIPS_WITH_DES_CBC_SHA
fortezza SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA
fortezza_rc4_128_sha SSL_FORTEZZA_DMS_WITH_RC4_128_SHA
fortezza_null SSL_FORTEZZA_DMS_WITH_NULL_SHA
TLS 1.0: Conjuntos de cifras exportáveis de 56 bits.
<argument> <name>
rsa_des_56_sha TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA
rsa_rc4_56_sha TLS_RSA_EXPORT1024_WITH_RC4_56_SHA
Cifras AES.
<argument> <name>
dhe_dss_aes_128_cbc_sha TLS_DHE_DSS_WITH_AES_128_CBC_SHA
dhe_dss_aes_256_cbc_sha TLS_DHE_DSS_WITH_AES_256_CBC_SHA
dhe_rsa_aes_128_cbc_sha TLS_DHE_RSA_WITH_AES_128_CBC_SHA
dhe_rsa_aes_256_cbc_sha TLS_DHE_RSA_WITH_AES_256_CBC_SHA
rsa_aes_128_sha TLS_RSA_WITH_AES_128_CBC_SHA
rsa_aes_256_sha TLS_RSA_WITH_AES_256_CBC_SHA
Cifras ECC.
<argument> <name>
ecdh_ecdsa_null_sha TLS_ECDH_ECDSA_WITH_NULL_SHA
ecdh_ecdsa_rc4_128_sha TLS_ECDH_ECDSA_WITH_RC4_128_SHA
ecdh_ecdsa_3des_sha TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
ecdh_ecdsa_aes_128_sha TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
ecdh_ecdsa_aes_256_sha TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
ecdhe_ecdsa_null_sha TLS_ECDHE_ECDSA_WITH_NULL_SHA
ecdhe_ecdsa_rc4_128_sha TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
ecdhe_ecdsa_3des_sha TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
ecdhe_ecdsa_aes_128_sha TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
ecdhe_ecdsa_aes_256_sha TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
ecdh_rsa_null_sha TLS_ECDH_RSA_WITH_NULL_SHA
ecdh_rsa_128_sha TLS_ECDH_RSA_WITH_RC4_128_SHA
ecdh_rsa_3des_sha TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
ecdh_rsa_aes_128_sha TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
ecdh_rsa_aes_256_sha TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
echde_rsa_null TLS_ECDHE_RSA_WITH_NULL_SHA
ecdhe_rsa_rc4_128_sha TLS_ECDHE_RSA_WITH_RC4_128_SHA
ecdhe_rsa_3des_sha TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
ecdhe_rsa_aes_128_sha TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
ecdhe_rsa_aes_256_sha TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
ecdh_anon_null_sha TLS_ECDH_anon_WITH_NULL_SHA
ecdh_anon_rc4_128sha TLS_ECDH_anon_WITH_RC4_128_SHA
ecdh_anon_3des_sha TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA
ecdh_anon_aes_128_sha TLS_ECDH_anon_WITH_AES_128_CBC_SHA
ecdh_anon_aes_256_sha TLS_ECDH_anon_WITH_AES_256_CBC_SHA
novos conjuntos de cifras HMAC-SHA256 especificados no RFC
<argument> <name>
rsa_null_sha_256 TLS_RSA_WITH_NULL_SHA256
rsa_aes_128_cbc_sha_256 TLS_RSA_WITH_AES_128_CBC_SHA256
rsa_aes_256_cbc_sha_256 TLS_RSA_WITH_AES_256_CBC_SHA256
dhe_rsa_aes_128_cbc_sha_256 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
dhe_rsa_aes_256_cbc_sha_256 TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
ecdhe_ecdsa_aes_128_cbc_sha_256 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
ecdhe_rsa_aes_128_cbc_sha_256 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
Conjuntos de cifras AES GCM nas RFC 5288 e RFC 5289
<argument> <name>
rsa_aes_128_gcm_sha_256 TLS_RSA_WITH_AES_128_GCM_SHA256
dhe_rsa_aes_128_gcm_sha_256 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
dhe_dss_aes_128_gcm_sha_256 TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
ecdhe_ecdsa_aes_128_gcm_sha_256 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
ecdh_ecdsa_aes_128_gcm_sha_256 TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
ecdhe_rsa_aes_128_gcm_sha_256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ecdh_rsa_aes_128_gcm_sha_256 TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
Portanto, se você quiser usar a cifra TLS_DHE_RSA_WITH_AES_128_CBC_SHA
, o comando seria:
curl --ciphers dhe_rsa_aes_128_cbc_sha <url>
Para especificar várias cifras, separe a lista com vírgulas. Portanto, se você quiser usar a cifra TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
também, o comando seria:
curl --ciphers dhe_rsa_aes_128_cbc_sha,ecdh_rsa_aes_128_gcm_sha_256 <url>
Para visualizar uma lista das cifras que o curl está usando, você precisará de um serviço externo - como este:
curl --ciphers ecdhe_rsa_aes_256_sha https://www.howsmyssl.com/a/check
Embora o NB, esse serviço não aceite todas as cifras, o que significa que se você estiver restringindo a conexão a apenas uma cifra que não estiver em uso, você receberá o erro "Não é possível se comunicar com segurança com o par: não há algoritmo de criptografia comum" em vez de uma resposta.
Não existe
curl format
. O formato das cifras usadas pelo curl depende do back-end, que pode ser pelo menos NSS, GnuTLS, SecureTransport, SChannel, OpenSSL.Mas parece que você está pedindo a sintaxe do OpenSSL. Nesse caso, consulte https://www.openssl.org/docs/apps/ciphers.html#CIPHER-SUITE-NAMES para obter uma tradução entre os nomes de cifras.
fonte
Se você estiver recebendo o erro "falha na configuração da lista de códigos".
Confira aqui o documento oficial
Escolha o nome correto para sua biblioteca de segurança de back-end. Você pode verificar a biblioteca dependente de ondulação
fonte