The Official SSL Docs Liste des chiffres dans un format différent de celui des boucles. Par exemple, si je veux que Curl utilise le chiffrement TLS_ECDHE_RSA_WITH_3DES_DEE_CBC_SHA, je dois le transmettre curl --ciphers ecdhe_rsa_3des_sha
. Je sais ce que certains des mappages sont, mais pas tous - par exemple, qu'est-ce que je dois passer à curl pour l'obtenir pour utiliser Cipher TLS_DHE_RSA_WITH_AES_128_GCM_SHA256?
Y a-t-il quelque part que je puisse trouver un document montrant comment les noms de chiffrement dans la carte Documents SSL aux noms de chiffrement que CURL accepte?
Edit: J'avais finalement découvert que ma boucle est soutenue par NSS, pas OpenSSL, et le problème est spécifiquement car il n'y a pas de bonne documentation sur l'utilisation de NSS- BURL soutenu, alors qu'il nécessite un argument différent de celui de OpenSSL pour utiliser le même chiffre. Donc, ma question est spécifique à NSS.
Il n'y a pas de documentation couvrant toutes les conversions entre le nom du chiffre et le nom que CURL s'attend à un argument.
Heureusement, CURL est open source et le mappage est disponible dans le code source .
Pour le bénéfice des futurs chercheurs, je le reproduit plus soigneusement ici:
<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
<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
<argument> <name>
rsa_des_56_sha TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA
rsa_rc4_56_sha TLS_RSA_EXPORT1024_WITH_RC4_56_SHA
<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
<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
<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
<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
Donc, si vous voulez utiliser le chiffrement TLS_DHE_RSA_WITH_AES_128_CBC_SHA
, la commande serait:
curl --ciphers dhe_rsa_aes_128_cbc_sha <url>
Afin de spécifier plusieurs chiffres, séparez la liste avec des virgules. Donc, si vous voulez utiliser le chiffrement TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
aussi, la commande serait:
curl --ciphers dhe_rsa_aes_128_cbc_sha,ecdh_rsa_aes_128_gcm_sha_256 <url>
Pour afficher une liste des chiffres utilisés par COPHERS, vous aurez besoin d'un service externe - comme celui-ci:
curl --ciphers ecdhe_rsa_aes_256_sha https://www.howsmyssl.com/a/check
Bien que NB, ce service n'accepte pas tous les chiffres, ce qui signifie que si vous limitez la connexion à un seul chiffre qui n'est pas utilisé, vous obtiendrez une erreur "ne peut communiquer de manière sécurisée avec pair: aucun algorithme de cryptage commun" au lieu d'une réponse.
Il n'y a pas curl format
. Le format des chiffres utilisés par CURL dépend du backend qui peut être au moins NSS, GNUTLS, SECURETRANSPORT, SCHANNEL, OPENSSL.
Mais il semble que vous demandiez la syntaxe OpenSSL. Dans ce cas, voir https://www.openssl.org/docs/apps/ciphers.html#cipher-suite-names Pour une traduction entre les noms de chiffrement.
Si vous obtenez une erreur "Définition de l'échec de la liste des chiffres".
Vérifiez le document officiel ICI
Assurez-vous de choisir le nom correct pour votre bibliothèque de sécurité Backend. Vous pouvez vérifier la bibliothèque dépendante de la courrle par
curl --version
curl 7.51.0 (x86_64-Apple-darwin16.0.0) libcurl/7.51.0 OpenSSL/1.0.2n zlib/1.2.8 nghttp2/1.16.0