Archivo

Entradas Etiquetadas ‘openssl’

Generar configuración SSL servidor web

Miércoles, 17 de Junio de 2015

Ultimamente están apareciendo vulnerabilidades de SSL y además algunos de los algoritmos utilizados para la comunicación están siendo declarados inseguros, por lo que hay que revisar la configuración de los servidores web con SSL para evitar estos problema.

En mi opinión la configuración de SSL es complicada sobre todo si queremos afinarla en lo relativo a que algoritmos de cifrado permitir y cuales no. Para ayudarnos en este labor podemos usar el Mozilla SSL Configuration Generator

Servidor web, ssl , ,

ComprobarCertificadosSSL

Martes, 17 de Julio de 2012

Comprobar que la clave pública de un certificado SSL se corresponde con la clave privada

En ocasiones tenemos dudas de si el certificado SSL con el que estamos trabajando se corresponde con la clave privada que tenemos guardada en el servidor. Para comprobar si esto es así podemos comprobar el módulo de las claves pública y privada. Si estos módulos coinciden entonces tenemos un par clave pública/privada válido. Para calcular estos módulos podemos usar el comando openssl:

# openssl x509 -noout -modulus -in certificado.crt
# openssl rsa -noout -modulus -in private.key

Si conservamos la petición de firma (CSR – Certificate Sign Request) también podemos comprobar su módulo con:

# openssl req -noout -modulus -in peticion.csr

El módulo de una clave pública/privada es una cadena hexadecimal muy grande por lo que es difícil compararlas a primera vista. Para facilitarnos esta labor podemos usar el comando uniq. Si la salida de este comando es una sola línea, entonces las claves coinciden y todo va bien. Si la salida es más de una línea entonces hay algo que no está bien.

# (openssl x509 -noout -modulus -in certificado.crt ; \
   openssl rsa -noout -modulus -in private.key ; \
   openssl req -noout -modulus -in peticion.csr ) | uniq | wc -l

 

ssl , , ,

ComprobarCertificadoSSL

Jueves, 24 de Febrero de 2011

Comprobar que un certificado SSL es válido para nuestras autoridades de certificación reconocidas

En algunas situaciones necesitamos comprobar si un determinado certificado SSL ha sido firmado por una de nuestras autoridades de certificación reconocidas. Para hacer eso podemos usar la opción verify del comando openssl.

El comando que ejecutaríamos sería el siguiente:

# openssl verify -CAfile /etc/pki/tls/certs/autoridades.crt  \
      -purpose any /etc/pki/tls/certs/certificado.crt

siendo autoridades.crt el fichero que contiene en formato PEM las autoridades de certificación reconocidas y certificado.crt el certificado a verificar.

El comando nos permite hacer la verificación según el propósito para el que se va a usar el certificado (servidor ssl, cliente ssl,…) pero en el ejemplo le indicamos que cualquier uso nos es válido (-purpose any).
Si el resultado del comando es un OK entonces el certificado ha sido verificado. En caso contrario el certificado no habría sido firmado por una de esas autoridades.

Es importante tener en cuenta, que si el certificado ha sido firmado por una CA intermedia, en el fichero de las autoridades de certificación también deberá figurar esta CA, ya que en caso contrario la verificación fallará.

ssl ,