La crittografia a curva ellittica (ECC in breve) è una coppia di chiavi asimmetriche utilizzata per la crittografia e la decrittografia dei dati. ECC offre alcuni vantaggi rispetto a RSA. Le chiavi ECC hanno dimensioni più ridotte, fornendo allo stesso tempo una sicurezza equivalente a quella di RSA, riducendo le risorse necessarie e fornendo prestazioni migliori per applicazioni multimediali, connessioni VPN e molte altre applicazioni di larghezza di banda. Questo articolo ti mostrerà come creare un certificato EEC autofirmato su Ubuntu 14.04. Questo articolo funziona anche su molte altre distribuzioni di Linux su cui è installato OpenSSL.
Sistema di aggiornamento
Per garantire che tutto funzioni correttamente, è meglio aggiornare il sistema per utilizzare il software più recente e più stabile disponibile. Esegui i seguenti comandi:
apt-get update
apt-get dist-upgrade
Genera chiave privata ECC
Genereremo una chiave privata usando la curva ECC prime256v1.
openssl ecparam -out private.key -name prime256v1 -genkey
Genera richiesta di certificato
Ora, utilizza OpenSSL per generare un CSR (Certificate Signing Request) per la firma del certificato. Genereremo il CSR con SHA2 a 512 bit. Si consiglia di utilizzare 256-bit o superiore. SHA-1 non è più raccomandato per l'uso e presto sarà deprecato. SHA-1 inoltre non sarà più accettato dalle autorità di certificazione (autorità di certificazione).
openssl req -new -key private.key -out certificate.csr -sha512
Ti fornirà un elenco di campi che devono essere compilati. Se stai utilizzando un dominio, assicurati che Common Name
sia impostato su quel nome di dominio. La 'extra' attributes
può essere vuoto a sinistra.
Crea e firma il certificato
Ora creerai e firmerai il tuo certificato dal CSR che hai creato in precedenza.
openssl x509 -req -days 365 -in certificate.csr -signkey private.key -out certificate.crt -sha512
Se non si verifica alcun errore, è stato effettuato correttamente un certificato ECC.
Nota sull'uso pubblico
Se si desidera utilizzare il certificato pubblicamente o in produzione, si consiglia di passare il CSR all'autorità di certificazione per far emettere un certificato firmato. Inoltre, conservalo private.key
in una posizione segreta e sicura all'interno del tuo server. Assicurarsi che il file disponga di autorizzazioni di sola lettura. Se perdi la chiave, dovrai ricreare la chiave e il CSR per ricevere un nuovo certificato.