sufrio smart samsung las interno error conexión conexion chrome certificado celular cargar bibliotecas aplicacion ssl cryptography openssl elliptic-curve

smart - la aplicacion sufrio un error interno al cargar las bibliotecas ssl



desactivar las cifras débiles en la conexión SSL (2)

Estoy usando la función SSL_CTX_set_cipher_list para configurar las cifras admitidas para la conexión SSL. Qué argumento pasar a SSL_CTX_set_cipher_list para deshabilitar las cifras débiles.

Intenté pasar ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH

pero parece no funcionar

Mi herramienta para detectar informes de cifrado débil para lo siguiente como habilitado aún

** SSLv3:DES-CBC-SHA - ENABLED - WEAK 56 bits ** ** TLSv1:DES-CBC-SHA - ENABLED - WEAK 56 bits ** ** SSLv2:RC4-MD5 - ENABLED - WEAK 128 bits ** ** SSLv2:RC2-CBC-MD5 - ENABLED - WEAK 128 bits ** ** SSLv2:RC4-64-MD5 - ENABLED - WEAK 64 bits ** ** SSLv2:DES-CBC-MD5 - ENABLED - WEAK 56 bits ** ** SSLv2:EXP-RC4-MD5 - ENABLED - WEAK 40 bits ** ** SSLv2:EXP-RC2-CBC-MD5 - ENABLED - WEAK 40 bits ** ** SSLv2:DES-CBC3-MD5 - ENABLED - WEAK 168 bits **

¿Qué argumento pasar a SSL_CTX_set_cipher_list para deshabilitar las cifras anteriores?


Qué argumento pasar a SSL_CTX_set_cipher_list para deshabilitar las cifras débiles

Depende de la definición de débil que estés usando. En 2015, debe pasar de HIGH:!aNULL porque los navegadores modernos rechazan algunas de las cifras incluidas con HIGH . Si permite MD5 y / o RC4, obtiene la advertencia de criptografía obsoleta .

HIGH:!aNULL:!MD5:!RC4

La llamada se vería así:

rc = SSL_CTX_set_cipher_list(ctx, "HIGH:!aNULL:!MD5:!RC4"); ASSERT(rc >= 1);

También debe desactivar SSLv2, SSLv3 y probablemente la compresión. Lo haces así:

const long flags = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_COMPRESSION; SSL_CTX_set_options(ctx, flags);

SSL_CTX_set_options no devuelve un valor, por lo que no hay nada que probar para garantizar que la llamada tenga éxito.


ALTO:! DSS:! ANULL @ STRENGTH debería funcionar.

Cifras openssl -v ''ALTO:! DSS:! aNULL @ STRENGTH'' imprime la siguiente lista de cifras:

DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1 AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1 EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1 DES-CBC3-SHA SSLv3 Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1 DES-CBC3-MD5 SSLv2 Kx=RSA Au=RSA Enc=3DES(168) Mac=MD5 DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1 AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1

Para obtener una lista completa de cadenas de cifrado OpenSSL y su significado, consulte: http://www.openssl.org/docs/apps/ciphers.html