Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Validar el certificado en el cliente: cadena, nombre y vigencia

4 tareas · 40 min · Principiante

Cifrar la conversación no basta: la app tiene que comprobar que habla con quien cree. Para eso la plataforma valida el certificado que presenta el servidor, y el código de la app solo tiene que dejarla hacer su trabajo. El fallo clásico es lo contrario: un código que sustituye esa validación por una propia que acepta todo, casi siempre porque alguien quiso que funcionara contra un servidor de pruebas y se olvidó de quitarlo. En esta sala lees la salida de validación de Guarumo Pedidos, el informe de un analizador estático y el extracto del código que lo explica. Todo es evidencia guardada de una revisión autorizada; se trata de reconocer el defecto y redactar su corrección, no de explotarlo.

0 de 4 · 0%

Objetivo de la sala

Cifrar la conversación no basta: la app tiene que comprobar que habla con quien cree. Para eso la plataforma valida el certificado que presenta el servidor, y el código de la app solo tiene que dejarla hacer su trabajo. El fallo clásico es lo contrario: un código que sustituye esa validación por una propia que acepta todo, casi siempre porque alguien quiso que funcionara contra un servidor de pruebas y se olvidó de quitarlo. En esta sala lees la salida de validación de Guarumo Pedidos, el informe de un analizador estático y el extracto del código que lo explica. Todo es evidencia guardada de una revisión autorizada; se trata de reconocer el defecto y redactar su corrección, no de explotarlo.

Cuando un servidor presenta su certificado, el cliente comprueba tres cosas. Que la cadena llega hasta una raíz en la que el dispositivo confía. Que el nombre del certificado coincide con el host al que la app quería conectar. Y que está vigente, ni caducado ni aún no válido. Basta con que falle una para que la conexión no deba establecerse, aunque las otras dos estén bien.

Por eso un certificado perfectamente emitido pero para otro nombre sigue siendo rechazable: demuestra que alguien tiene un certificado válido, no que sea el servidor que la app buscaba.

Responde para continuar

Un servidor presenta un certificado con cadena válida y vigente, pero emitido para un nombre distinto del host al que la app se conectaba. ¿Qué debe hacer el cliente?

Ver pista de ayuda

Son tres comprobaciones y se exigen las tres. ¿Cuál no se cumple aquí?

La salida de validación de la sesión de laboratorio lista tres hosts. Dos de ellos fallan una comprobación y aun así la conexión se estableció, y la última columna dice por qué: no los aceptó la plataforma sino un componente propio de la app. Es la señal de que el código sustituyó la validación.

El analizador estático confirma el hallazgo con su regla de gestor de confianza que no valida la cadena, y marca el archivo donde vive. Es el dato que el equipo de desarrollo necesita para corregirlo.

Responde para continuar

Escribe el nombre del archivo, sin la carpeta, donde el analizador detecta el gestor de confianza que no valida la cadena.

Ver pista de ayuda

Mira la tabla del analizador; el archivo aparece con su carpeta, tú escribes solo el nombre.

Uno de los dos hosts que pasaron sin deber falla en el nombre: la app visitó un host y el certificado que recibió estaba emitido para otro. Es un fallo real de configuración del servidor, y a la vez una prueba de que la comprobación de nombre de la app estaba apagada, porque con la validación de la plataforma esa conexión habría fallado.

Distingue las dos lecturas en el informe: el servidor presentó el certificado equivocado, y la app lo aceptó cuando debía rechazarlo. Son dos correcciones, de dos dueños distintos.

Responde para continuar

Escribe el nombre para el que está emitido el certificado que entregó el host cuyo nombre no coincide.

Ver pista de ayuda

El certificado exportado de ese host trae su sujeto y sus nombres alternativos.

El extracto del código lleva un comentario del autor: la validación se anuló «para que funcione con el servidor de pruebas». La corrección no es ajustar la validación propia: es eliminarla y dejar que la plataforma valide, y dar al servidor de pruebas un certificado con su nombre emitido por una autoridad interna que solo se instale en las compilaciones de desarrollo. Una excepción para pruebas no debe viajar a la versión de publicación.

Antes de calificar la gravedad hay que mirar el alcance de la compilación. En esta revisión el analizador indica que los cuatro archivos se enlazan en la versión de publicación, y por eso el defecto afecta a los usuarios reales; un defecto igual en código que no llega a publicación pesa mucho menos.

Responde para continuar

La app aceptó un certificado de nombre equivocado y otro vencido por un componente propio de validación, enlazado en la versión de publicación. ¿Cómo se redacta el cierre?

Ver pista de ayuda

Una validación propia que acepta todo no se arregla afinándola. Piensa en quién debe validar y en dónde vive la excepción de pruebas.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad