¿Cómo usar openssl ca con prime256v1?

4

Soy nuevo en el mundo de la encriptación, y al leer sobre esto, la mayoría de los sitios web dicen usar el prime256v1 para un mejor rendimiento y seguridad.

Después de algunos días de pruebas, finalmente puse a funcionar mi estructura de CA openssl, casi los pasos provienen de esta guía:

Autoridad de certificación de FreeBSD

He realizado algunos cambios, como la búsqueda de OID (solo agregando los mismos OID de los permisos, ejemplo en las CAs he agregado 2.5.29.19, etc ...)

También tengo configurados mis puntos de distribución de CRL, todo está funcionando (al menos parece estar funcionando).

El problema surge si cambio la estructura del certificado final de la guía, por ejemplo, en lugar de eso, haga un Certificado de servidor TLS siguiendo los siguientes 3 pasos de la guía:

Generar PK

/usr/local/bin/openssl genpkey \
    -aes-256-cbc \
    -algorithm RSA \
    -pkeyopt 'rsa_keygen_bits:4096' \
    -out private/srv.example.org.key.enc \
    -pass file:private/srv.example.org.pwd

Generar solicitud de certificado

setenv SAN "DNS:srv.example.org"
/usr/local/bin/openssl req \
    -config etc/tls-server.conf \
    -new \
    -sha512 \
    -out certs/srv.example.org.csr \
    -key private/srv.example.org.key.enc \
    -subj /C=DE/ST=State/L=Locality/O=Example\ Corporation/OU=System\ Administration/CN=srv.example.org \
    -passin file:private/srv.example.org.pwd
unsetenv SAN

Firma el certificado

/usr/local/bin/openssl ca \
    -config etc/component-ca.conf \
    -batch \
    -md sha512 \
    -in certs/srv.example.org.csr \
    -out certs/srv.example.org.crt \
    -extensions server_ext \
    -startdate 'date -j -u '+%Y%m01000000Z'' \
    -enddate 'date -j -u -v+2y '+%Y%m01000000Z'' \
    -passin file:ca/component-ca/private/component-ca.pwd

Para probar un prime256v1, he hecho:

Generar PK (probando prime256v1)

/usr/local/bin/openssl genpkey \
    ecparam \
    -name prime256v1 \
    -genkey \
    -param_enc explicit \
    -out private/srv.example.org.key \

Generar solicitud de certificado (prueba prime256v1)

setenv SAN "DNS:srv.example.org"
/usr/local/bin/openssl req \
    -new \
    -sha512 \
    -config etc/tls-server.conf \
    -key private/srv.example.org.key.enc \
    -nodes \
    -out certs/srv.example.org.csr \
    -subj /C=DE/ST=State/L=Locality/O=Example\ Corporation/OU=System\ Administration/CN=srv.example.org \
unsetenv SAN

Firme el certificado (probando prime256v1)

/usr/local/bin/openssl ca \
    -config etc/component-ca.conf \
    -batch \
    -md sha512 \
    -in certs/srv.example.org.csr \
    -out certs/srv.example.org.crt \
    -extensions server_ext \
    -startdate 'date -j -u '+%Y%m01000000Z'' \
    -enddate 'date -j -u -v+2y '+%Y%m01000000Z'' \
    -passin file:ca/component-ca/private/component-ca.pwd

El certificado está firmado sin errores ...

Cuando intento acceder a mi dominio, los navegadores bloquean el acceso diciendo el error:

  

Sin superposición de cifrado

Mi primera suposición es que debido a la combinación de cifrado, luego he cambiado los comandos completos de la guía para hacer que Root-CA, Network-CA, Component-CA todos usan secp521r1, ya que parece ser una buena práctica de seguridad usar el cifrado más alto en Encriptación superior y baja (prime256v1) en el boton para hacer compatibilidad ...

Y luego, ocurre el mismo error:

  

Sin superposición de cifrado

Entonces, si deseo usar prime256v1, ¿necesito hacer toda la estructura solo con eso? Si mañana este proceso se debilita, ¿necesito rehacer toda la CA con un nuevo cifrado de seguridad (por ejemplo, secp384r1)?

En el lado del servidor, he utilizado el Mozilla SSL Configuration Generator para la configuración:

  

SSLProtocolo todo -SSLv3 -TLSv1 -TLSv1.1 SSL

     

CipherSuite
  ECDHE-ECDSA-AES256-GCM-SHA384: ECDHE-RSA-AES256-GCM-SHA384: ECDHE-ECACA20A-POLY1305-ECYHE-ECYHE-ECY-AE254-ECYA-CHAHA20-POLY1305-ECYHE-AE254-GCM-SHA384 AES128-GCM-SHA256: ECDHE-ECDSA-AES256-SHA384: ECDHE-RSA-AES256-SHA384: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA256

PS .: No tengo planes de comprar un Certificado Validado SSL en línea, pero me encantará tener una estructura de prueba CA que funcione para estudiar.

    
pregunta Wisdown 09.05.2016 - 06:43
fuente

0 respuestas

Lea otras preguntas en las etiquetas