¿Estas atascado? ¡Yo te ayudo!, pregunta aquí.

HTTPS en tu servidor XAMPP (Gratuito y valido con cualquier navegador)

Todo sobre linux, programas para linux, configuraciones de sistema linux, etc..

Notapor alexiter » Lun Sep 19, 2016 12:25 pm

Este post esta obsoleto, ahora la mejor opcion es usar cerbot para windows. Importante no tener ningun servidor web usando el puerto 80 durante la generacion del certificado con cerbot.


Cada vez cobra mas importancia la seguridad cuando se habla de internet y mas concretamente de paginas web.

El comercio electronico es uno de los sectores que mas seguridad demanda, y no resulta raro tener tu propia tienda online para vender (o comprar) productos. Pero claro no todo el mundo se fiaria de dar sus datos de cobro (targetas de credito, paypal, etc...) a una tienda online que no disponga de un certificado digital valido.

Antiguamente disponer un certificado resultaba extremadamente caro (1800€ por un clase 2). Pero debido al crecimiento exponencial de internet y de comunidades Open Source, disponer de un certificado SSL para que la informacion viaje encriptada empieza a ser un derecho mas que un servicio, y es por eso que han surgido organizaciones y grupos que ofrecen la posibilidad de disponer de tu propio certificado digital valido y gratuito.

Asi pues pasare a explicar los pasos necesarios para poder obtener e instalar tu propio certificado en un servidor apache ya sea en Linux o en Windows.

1º Obtener el certificado.

Aqui podemos optar por dos opciones:

http://www.StarSSL.com o http://www.letsencrypt.org

Si vamos a instalar el certificado sobre linux la opcion mas sencilla es letsencrypt.org, esta web te permite crear el certificado a traves de su filial CertBot, y lo mejor es que puedes descargar su script configurador que junto con las instrucciones que te ofrecen en la misma pagina, hace que el proceso de creacion y activacion del certificado sea extremadamente sencillo. De hecho no veo necesario explicar esta alternativa, si te decantas por este metodo, entra en la web de letsencrypt.org y sigue sus instrucciones.

Pero si quieres instalar el certificado digital sobre Windows la opcion de letsencrypt.org no te valdra, ya que sus sistema no es compatible con sistemas operativos windows (al menos a dia de hoy), por eso vamos a explicar los pasos para realizar este proceso con la primera opcion StarSSL.com (que es compatible con linux y windows).

2º Registrarnos en http://www.StarSSL.com.

Aqui no hay mucho que decir, basicamente tienes que seguir los pasos que te indica su web pulsando sobre Sign-up (menu superior).

Durante el proceso deberas de introducir un password para generar una llave privada. Es aconsejable que guardes esta cleve y los archivos que se generaran en una carpeta para tenerlo todo a mano y bien explicado.

Seguidamente se creara un certificado digital que podras descargar pulsando en el boton Download files. Este certificado deberas de instalarlo, ya que sera el que te permita loguearte en la web de StarSSL.

Despues solo tienes que loguearte a traves de la opcion Client Certificate.

3º Ahora crearemos nuestro certificado.

Una vez logueados seleccionaremos el tipo de certificado que queramos crear (el gratuito en el 99% de los casos).

Dejamos marcada la primera opcion (Web Server)


Ahora tendremos que meter nuestro dominio (y subdominios) que usaremos con nuestro certificado pero antes habra que validarlo.

Nos pedira el dominio a validar (sin las www ) y nos enviara un mail de confirmacion a una cuenta de correo que nos mostrara (recomiendo crearos el correo webmaster@(el dominio que sea)).


Desues podemos meter hasta 10 dominios o subdominios, pero lo habitual sera meter el tipico con las www (por ejemplo http://www.tudominio.com)

Seguidamente marcamos la opcion de Generated by Myself. Bajamos la utilidad StartComTool.exe que nos ofrece en esa misma opcion y ejecutamos, en la pestaña CSR del programa que se nos abre pulsamos en Generate CSR y copiamos el contenido del recuadro CSR content (PEM format) en el recuadro de la web de SartSSL. Pulsamos en Submit.

Por ultimo se generara el certificado y nos dara la opcion de descargar un archivo comprimido que contendra entre otros los archivos necesarios para nuestro servidor apache.

4º Instalando el certifiado descargado en apache.

Aqui tenemos que copiar los archivos que contiene ApacheServer.zip y el archivo .key que generamos con la utilidad de StartComTool.exe dentro del directorio de apache correcto:

Para windows (si usamos XAMPP y lo tenemos en el disco C):
Código: Seleccionar todo
C:\xampp\apache\conf\


Para linux:
Código: Seleccionar todo
/usr/local/apache/conf/


Ahora tendremos que modificar httpd-ssl.conf (o ssl.conf) y buscando las lineas correspondientes lo dejamos asi:
Código: Seleccionar todo
Listen 443
<VirtualHost _default_:443>
 
 SSLEngine on
 SSLProtocol all -SSLv2 -SSLv3
 SSLCipherSuite ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!LOW:!aNULL:!eNULL
 SSLCertificateFile "C:/xampp/apache/conf/nuestrodominio.crt"
 SSLCertificateKeyFile "C:/xampp/apache/conf/nuestra.key"
 SSLCertificateChainFile "C:/xampp/apache/conf/1_root_bundle.crt "

 "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>


es importante verificar que los directorios que se definen en el codigo de arriba apuntan correctamente a donde deben (por ejemplo si es windows nuestro sistema habra que ver el directorio donde se encuentra nuestro xampp y colocar las direcciones en consecuncia)

es importante tambien modificar el archivo httpd.conf y comprobar que "Include conf/extra/httpd-ssl.conf" esta descomentado, asi como "LoadModule ssl_module modules/mod_ssl.so" tambien descomentado.

Una vez cambiado todo guardamos los cambios.

5º Probando el protocolo https.

Ahora tenemos que reiniciar nuestro apache (parando el sevicio y reactivandolo), y si todo ha ido bien, deberia de abrirsenos la web sin problemas con nuestro nuevo certificado.
alexiter
Site Admin
 
Mensajes: 157
Registrado: Dom Nov 17, 2013 9:54 pm

Volver a Linux

cron
  • Buscar mensajes nuevos
  • Buscar temas sin respuesta
  • ¿Quién está conectado?
  • Hay 20 Usuarios identificados :: 0 registrado, 0 ocultos y 20 invitados (basados en usuarios activos en los últimos 5 minutos)
  • La mayor cantidad de usuarios identificados fue 619 el Dom May 03, 2020 11:11 pm
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 20 invitados