Come usare openssl ca con prime256v1?

4

Sono nuovo sul mondo delle crittografie e, leggendo questo, per lo più siti web dicono di usare prime256v1 per prestazioni e sicurezza migliori.

Dopo alcuni giorni di test, finalmente ottengo il funzionamento della mia struttura CA openssl, quasi i passaggi provengono da questa guida:

Autorità di certificazione di FreeBSD

Ho apportato alcune modifiche, come la ricerca di OID (aggiungendo solo gli stessi OID dalle autorizzazioni, l'esempio in CA che ho aggiunto 2.5.29.19, ecc ...)

Hai già installato i miei punti di distribuzione CRL, tutto funziona (almeno sembra funzionare) bello.

Il problema si verifica se cambio la struttura del certificato finale dalla guida, quindi per esempio, invece, rendi un certificato server TLS utilizzando i seguenti 3 passaggi dalla guida:

Genera 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

Genera richiesta certificato

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 il certificato

/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

Per testare un prime256v1, ho fatto:

Genera PK (test prime256v1)

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

Genera richiesta certificato (test 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

Firma il certificato (test 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

Il certificato è firmato senza errori ...

Quando provo acesss i miei domini browser bloccano l'accesso dicendo l'errore:

No Cypher Overlap

La mia prima ipotesi è dovuta al mix di crittografia, quindi ho modificato interi comandi dalla guida per rendere Root-CA, Network-CA, Component-CA usando secp521r1, poiché sembra essere una buona pratica di sicurezza utilizzare la crittografia più elevata su crittografia superiore e inferiore (prime256v1) sul fondo per rendere la compatibilità ...

E poi, lo stesso errore si verifica:

No Cypher Overlap

Quindi, se desidero utilizzare prime256v1, ho bisogno di creare tutte le strutture solo con esso? Se domani questo processo si indebolisce, ho bisogno di rifare l'intera CA con una nuova crittografia di sicurezza (ad esempio, secp384r1)?

Sul lato server ho usato il Mozilla SSL Configuration Generator per configurare:

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 SSL

CipherSuite
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256

PS .: Non ho intenzione di acquistare un certificato validato SSL online, ma mi piacerebbe avere una struttura di testing CA funzionante da studiare.

    
posta Wisdown 09.05.2016 - 06:43
fonte

0 risposte

Leggi altre domande sui tag