Alex Sobrino

Blog personal...

Generar certificados SSL auto-firmados

jander | 28 Mayo, 2010 10:14 | del.icio.us meneame.net technorati.com

Muchas veces es necesario probar una configuración de un virtual host con SSL. En algunos, el proceso de solicitud del certificado SSL tarda más de lo previsto y necesitamos ir adelantando trabajo. Muchas veces, directamente no nos es necesario un certificado legítimo y nos basta con un certificado generado por nosotros mismos. Este último caso me lo encuentro a menudo y siempre tengo que hacer memoria de cómo se realizaba, así que he decidido escribirlo aquí para tenerlo siempre a mano.

Generar clave privada

Utilizando openssl creamos nuestra clave privada RSA. Es una clave RSA de 1024 bits encriptada utilizando el algoritmo 3DES (o triple DES). Se nos solicitará una contraseña asociada a la clave.

# openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus
...............................++++++
...................................++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:

Generar el CSR

El siguiente paso es generar el CSR, Certificate Signing Request o petición de firma de certificado. El CSR es lo que normalmente se le envía a las autoridades certificadoras (CA), pero en este caso, al ser simplemente para pruebas, lo auto-firmaremos. De momento, para generar el CSR para un dominio ficticio pruebas.jander.com:

# openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:ES
State or Province Name (full name) [Some-State]:Illes Balears
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Universitat de les Illes Balears
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:pruebas.jander.com
Email Address []:pruebas@jander.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Eliminar la contraseña del fichero .key

Si se utiliza el fichero de clave privada server.key generado en el primer paso, cada vez que arranquemos el Apache éste nos solicitará que introduzcamos la contraseña asociada al certificado. Así es que, al tratarse de pruebas, le quitaremos la contraseña:

# cp server.key server.key.org
# openssl rsa -in server.key.org -out server.key  
Enter pass phrase for server.key.org:
writing RSA key

Generar el certificado auto-firmado

Este es el paso principal, en donde hacemos de CA propia y nos firmamos nosotros mismos la solicitud del certificado. Suponiendo un tiempo de validez del certificado de 1 año (365 días):

# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Signature ok
subject=/C=ES/ST=Illes Balears/O=Universitat de les Illes Balears/CN=pruebas.jander.com/emailAddress=pruebas@jander.com
Getting Private key

Fin

Ya sólo queda poner los ficheros de certificados en los directorios correspondientes del Apache y configurar los Virtual Hosts de forma que estén asociados a esos ficheros.

Dropbox

jander | 11 Mayo, 2010 14:10 | del.icio.us meneame.net technorati.com

Decir exáctamente qué es Dropbox no es sencillo... Básicamente es un disco duro virtual, en el cual poder almacenar y recuperar información a través de Internet. La gracia está en que esta información está totalmente sincronizada con un directorio en el ordenador (o móvil) de cada uno.

Por ejemplo, yo le puedo decir a Dropbox que trabaje con /home/jander/documentos/ (o C:/Documentos Alex). Desde el punto de vista del usuario, es un directorio más, donde se almacenan ficheros u otros directorios, donde se puede trabajar normalmente. La gracia está en que Dropbox monitoriza este directorio y si se producen cambios, los sincroniza con la copia que está en sus servidores. De esta forma, podemos tener un directorio sincronizado entre varios ordenadores de forma sencilla.

Además, tiene disponible un par de directorios especiales. Uno de ellos, al ponerle fotos, genera una galería online con ellas. El otro, es simplemente un directorio público a través del cual poder compartir tus ficheros con cualquier persona.

Para la documentación del proyecto final de carrera me ha venido de perlas! Básicamente por eso lo comparto por aquí, porque quizás alguno no lo conocía y le pueda venir fenomenal.

Si alguno se decide a registrarse, que lo haga a través del siguiente enlace:
https://www.dropbox.com/referrals/NTYxMDAyNTY5
así ambos tenemos algo más de espacio disponible en el disco virtual.

 
Accessible and Valid XHTML 1.0 Strict and CSS
Powered by LifeType - Design by BalearWeb