Programar con certificados: SSL y PHP.

Para realizar una buena programación es tan importante protegernos de ataques por SQL injection como evitar que los datos se envíen sin encriptar y puedan ser robados por terceros…

ssl

La información transmitida en la red por el protocolo normal web se realiza a través del puerto 80 y no proteger la información enviada. Cualquiera en el medio puede interceptarla.

Para solucionar ese problema tanto en páginas webs como en aplicaciones móviles (apps) se deben comunicar los servidores mediante un certificado SSL que exigirá una IP propia en el servicio de hospedaje web lo cual encarecerá el servicio a pagar anualmente.

Todos los certificados SSL no cuestan lo mismo debido a que no todos ofrecen la misma seguridad sobre la validez de los titulares que compran el mismo: Dicho de otra manera, si por ejemplo simplemente comprueban que el email del titular es válido o si un número de móvil es valido no costará lo mismo que si nos exigen enviar el DNI, escrituras de la empresa y lo validan con abogados.

Por desgracia para el usuario final lo importante es tener un certificado SSL y no siempre se valora que el propietario del servicio haya comprado un certificado más caro y seguro de uno normal o rápido. En AGENCIA LA NAVE os recomendaremos la mejor opción según el uso que se vaya hacer en la programación a implementar.

csrcreated

Para comprar el certificado SSL primero deberemos solicitar el registro mediante un CSR online para indicar para que dominio será el certificado y los datos esenciales. Una vez tenemos el CSR podremos comprar los certificados adecuados con costes anuales que junto al hospedaje requerirán pagar más de 50€ al año.

Si queremos comprobar que el CSR creado es correcto podremos decodificar los datos mediante webs como la de MobileFish. Si no queremos pagar nada por el certificado podremos crear un certificado sin certificación del emisor “SELF”.

phpcurl

¿Como afectará a la programación en PHP? 

Si bien podemos obtener mucha información sobre como se integra en la web oficial de PHP hay ciertas cosas que únicamente se saben en el momento de la programación y esta relacionado a menudo con el uso de SSL no firmados.

Mediante la librería CURL que debe instalarse al PHP en el servidor podremos conectar con servidores (podemos instalarla en UBUNTU con un simple apt-get install php5-curl) podemos conectar con un servidor y enviar de forma segura por POST o GET los parámetros que nos interesen a otra IP o servidor remoto.

curlphp

Como podemos ver en el código de ejemplo se deben indicar las variables de verificación a FALSE para poder utilizar un SSL que haya sido certificado por nosotros mismos incluso si lo usamos en un API.

Es indispensable usar SSL siempre que enviemos datos de un servidor a otro y la información sea confidencial.

One thought on “Programar con certificados: SSL y PHP.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *