Certificados autofirmados y solicitudes cURL internas

0

Estoy usando una API interna para algún software comercial que compramos y recomienda usar SSL cuando se utiliza la API; utiliza cURL para lograr esto y, por lo tanto, el usuario, la contraseña y la clave pasarán a la solicitud cURL .

Actualmente no utilizamos SSL en el sitio para nada, por lo que no queríamos comprar uno solo por esto, pero nos dijeron que podías usar un self-signed cert sin problemas.

Sin embargo, al hacer una investigación sobre ellos, descubrí que hacer esto crea problemas para los usuarios a veces, como que reciban una advertencia en su navegador como:

Sin embargo, mi pregunta es, ¿este tipo de errores / advertencia solo se producen cuando el usuario accede a la página a través de https:// o también causa problemas a pesar de que la solicitud de SSL está sucediendo entre bastidores; Me imagino que no será así, ¿no sería el propio servidor web el responsable de la solicitud?

Mi siguiente pregunta es: si esto recae en el propio servidor, ¿causará problemas para el servidor o se paralizará debido al certificado autofirmado o las cosas se ejecutarán sin problemas?

    
pregunta Brett 29.09.2014 - 17:49
fuente

2 respuestas

1

Este error se produce cuando un navegador encuentra un certificado en el que no confía. Con esto quiero decir que el certificado del servidor no está instalado como un certificado raíz de confianza. Estos se manejan de manera diferente en cada navegador, pero generalmente el mensaje de error que ve le permite al usuario agregar el certificado no confiable a su almacén de certificados confiable si lo desean.

Este error solo ocurre cuando el usuario intenta acceder a la página a través de https:// , o si redirige su página http:// a la página web habilitada para SSL / TLS. El servidor es responsable de manejar la solicitud HTTPS y de enviar su certificado para validación. Cuando el navegador recibe el certificado, deben realizarse las siguientes comprobaciones:

  1. ¿El navegador reconoce el certificado como un certificado de confianza?
  2. ¿Ha caducado o revocado el certificado?
  3. Si la respuesta es negativa para ambos, se mostrará este mensaje.
  4. Ahora se le da al usuario la opción de continuar al sitio web y / o instalar el certificado en su tienda de confianza.

Esto no detendrá las cosas en el servidor y se ejecutará sin errores. La reacción a un certificado no confiable depende del navegador que accede a la página web. En cualquier caso, la mayoría de las implementaciones del protocolo SSl / TLS permitirán que el cliente responda a este mensaje durante un cierto tiempo. Si el usuario acepta el certificado como válido dentro de la ventana de tiempo de espera, la conexión se realizará de la forma habitual. Si esperan demasiado, el usuario recibirá un error de "tiempo de espera de sesión" y tendrá que volver a conectarse al sitio web.

Curl verifica automáticamente los certificados del servidor. Si desea desactivar esto, puede hacerlo con -k o --insecure . O puede agregar su certificado de servidor al almacén de confianza.

Agregar certificado autofirmado a cURL Trusted Store

El enlace anterior lo guiará a través de los pasos para determinar dónde se almacenan los certificados confiables en su sistema Linux y cómo puede agregar el certificado de su servidor para que sea confiable.

Editar
Dado que el software comercial está transmitiendo argumentos a cURL, esperaría que si cURL no confía en el certificado de que fallaría. El usuario no podrá acceder a la página. También es completamente posible que el software tenga mecanismos para manejar este error. Puede solicitar al usuario que instale el certificado y continúe con la conexión. Sin saber el software, es difícil decir cuál será su reacción exacta.

    
respondido por el RoraΖ 29.09.2014 - 18:53
fuente
0

Generalmente, solo recibe esta advertencia si accede directamente al sitio https. Si intenta acceder a https entre bastidores, es decir, al realizar una solicitud XMLHTTP, incrustar una imagen, etc., no se lo preguntará al usuario, sino que simplemente fallará (y generalmente se registrará algo en la consola).

    
respondido por el Steffen Ullrich 29.09.2014 - 18:31
fuente

Lea otras preguntas en las etiquetas