Per lo sviluppo di applicazioni react che necessitano di utilizzare certificati, chrome non accetta come validi certificati che non abbiano al loro interno il record SAN compilato.
Firefox da parte sua ignora questa configurazione.
Per poter generare un certificato (in ambiente linux) con il record SAN compilato è necessario utilizzare il seguente comando:
openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes -addext 'subjectAltName=DNS:localhost' -out mycert_local.crt -keyout mycert_local.key
In pratica, utilizzando l’opzione -addext è possible aggiungere il campost subjectAltName all’interno della configurazione del certificato.
Vengono generati due file:
- mycert_local.crt
- mycert_local.key
che contengono rispettivamente il certificato e la chiave.
Un file con estensione .crt è un file di certificato di sicurezza utilizzato da siti Web protetti per stabilire connessioni sicure dal server Web a un browser. I siti Web sicuri consentono di proteggere i trasferimenti di dati, gli accessi, le transazioni con carta di pagamento e di fornire una navigazione protetta al sito.
I file CRT sono in formato ASCII e possono essere aperti in qualsiasi editor di testo per visualizzare il contenuto del file del certificato. Segue lo standard di certificazione X.509 che definisce la struttura del certificato. Definisce i campi di dati che devono essere inclusi nel certificato SSL. CRT appartiene al formato PEM dei certificati che sono file con codifica ASCII Base64.
E’ necessario un ulteriore passaggio per la conversione del file crt nel formato pem, utilizzando il comando:
openssl x509 -in mycert_local.crt -outform PEM -out mycert_local.pem
In questo modo abbiamo generato anche il file .pem.
A questo punto siamo pronti per importare i certficati all’interno dell’area Personale e Autorità di certificazione radice attendibile.
Per l’importazione si può fare riferimento a questo articolo.
Quando utilizzeremo la configurazione all’interno di un applicazione (ad esempio react) il certificato verrà riconosciuto come valido.