¿Cómo puedo estar seguro de que estoy descargando sobre SSL?

2

Tal vez estoy haciendo una pregunta absolutamente tonta, pero todavía no pude encontrar la respuesta. Sé que cuando envío o obtengo datos en un navegador a través de https, tanto el servidor como el cliente (navegador) verifican entre sí los certificados. Si todo está bien, comienza la transferencia de datos.

Ahora me pregunto cómo manejar todo esto en mi código. Estoy usando un marco que me permite descargar datos. Cuando estoy especificando una dirección como enlace , estoy descargando cosas. Pero no especifiqué ningún certificado (¡no tengo ninguno!). Entonces, ¿cómo funciona en mi caso? ¿Es realmente https?

Aquí hay un ejemplo que me confundió: tengo un archivo en dropbox . Puedo descargarlo con mi código si especifico la dirección enlace . ¡Pero también puedo descargar el mismo archivo si especifico solo enlace !

    
pregunta nikitablack 29.01.2015 - 14:04
fuente

2 respuestas

3

Si está intentando escribir código para descargar datos a través de TLS (SSL), debería considerar si sabe de qué hosts está descargando y usar una técnica calificada para el certificado.

Cert. la fijación está codificando el certificado del servidor al que se está conectando en su código y solo acepta la conexión si se realiza a través de TLS utilizando el certificado esperado. OWASP explica el concepto aquí: enlace

Pero básicamente se trata de que verifique explícitamente los diferentes detalles de la conexión que está configurando. Más información sobre el marco y el escenario ayudaría.

    
respondido por el vidar 29.01.2015 - 15:32
fuente
1

Debe agrupar certificados raíz de CA confiables en su aplicación, especialmente si se está contactando con sitios web https de terceros. Los principales navegadores verifican sitios web utilizando certificados empaquetados con la aplicación o el sistema operativo. El navegador comprueba que el certificado recibido está firmado por una de las CA raíz almacenadas.

Luego, deberá hacer lo mismo que hacen los navegadores y verificar que el certificado recibido esté firmado por una CA principal.

La fijación de certificados puede funcionar para su PROPIO servidor con un certificado autofirmado y no desea comprar un certificado firmado comercialmente. Pero es una solución muy mala para una tercera parte donde el certificado puede cambiar sin previo aviso. Los certificados caducan, pueden revocarse o reemplazarse repentinamente por cualquier motivo, y de repente su aplicación no funcionará hasta que actualice la aplicación de todos. Esa es una mala solución.

    
respondido por el Steve Sether 30.01.2015 - 00:28
fuente

Lea otras preguntas en las etiquetas