Ayer instalé mi primer certificado oficial. Se trata de un Positive SSL de Comodo, de unos 4 euros al año. Comprado en DonDominio para más detalles: Comodo Positive SSL

Llevaba unos cuantos días usando un certificado casero o “self-signed certificate” (Creating a Self-Signed SSL Certificate) porque aun no tenía comprado el dominio. Pero ayer ya me decidí así que voy a explicar cuáles fueron los pasos, ya que en realidad es mucho más sencillo de lo que pudiera parecer, claro que la primera vez es más complicado. Además para Node.js no es que haya muchos tutoriales, así que creo que merece la pena.

Bueno, primer paso, comprar el certificado. Para ello hay que rellenar un formulario, el CSR (Certificate Signing Request) con los siguientes datos:

  • Dominio/Subdominio
  • Empresa/Organización
  • Sección/Departamento
  • Email
  • País, provincia y localidad

Esto está muy bien, claro que cuando no eres una empresa pueden surgir dudas ¿verdad? Al menos ese fue mi caso, ¿qué pongo en “empresa”? ¿es importante o puedo poner cualquier cosa? Tras consultar con el soporte técnico de DonDominio (muy majos dicho sea de paso) me informan de que al tratarse de un certificado de validación de dominio (y no de validación de empresa) se puede poner el dominio. Y en la sección o departamento pues… otro tanto de lo mismo. Así que el CSR quedaría tal que:

  • Dominio: www.midominio.com (Sí, con el www. No pasa nada porque este certificado en concreto funcionará también para el dominio sin www)
  • Empresa: MiDominio.com
  • Sección: MiDominio

Vale, con esto se genera el CSR y DonDominio nos proporciona la que será nuestra clave privada. Debemos guardar esto en un archivo, que llamaremos midominio.com.key para más adelante, y tendrá un aspecto tal que así:

Completado el proceso de compra ya solo falta esperar a que nos llegue el email de verificación, que es básicamente un link que debemos pulsar. En pocos minutos (muy pocos de hecho) Comodo nos enviará un email con un archivo .zip adjunto. Dentro de ese zip vienen tres ficheros:

  • AddTrustExternalCARoot.crt (Root CA Certificate)
  • PositiveSSLCA2.crt (Intermediate CA Certificate)
  • www_midominio_com.crt (Your PositiveSSL Certificate)

Bien, DonDominio nos enviará también un email con estos mismos datos, pero más preparaditos. Concretamente nos adjunta dos archivos:

  • certificate.crt: El certificado SSL
  • certificate.ca-crt: Los certificados SSL intermediarios

ACTUALIZADO 20/06/14: he descubierto que lo que nos manda DonDominio no nos sirve tal cual. Resulta que en el navegador del ordenador sí que estaba funcionando, pero en el móvil daba una advertencia de seguridad diciendo que el certificado no era de confianza (tanto chrome como firefox). Así que vamos a utilizar los archivos que nos envía Comodo. Vamos a crear dos archivos:

  • ca
  • cert

Son los dos archivos que debemos pasarle a la configuración de Express.
El primero es justo el AddTrustExternalCARoot.crt. Listo.
El segundo es un poco más elaborado, hay que añadirle a www_midominio_com.crt el contenido de PositiveSSLCA2.crt. Tampoco era tan complicado. Resumiendo:

  • ca = AddTrustExternalCARoot.crt
  • cert = www_midominio_com.crt + PositiveSSLCA2.crt

El aspecto del ‘cert’ sería tal que así:

Y con esto ya lo tenemos todo, ahora vamos a montarlos en el servidor:

Lógicamente deberás cambiar el __dirname+"/ssl/certificate.ca"  por la ruta donde hayas metido los archivos. Pero hemos terminado, así de sencillo, todo en menos de 10 minutos.