LINUX

Mkcert – Crea certificati SSL per lo sviluppo locale su Linux

Certificati SSL dell'ambiente di sviluppo locale

In questo articolo spiegherò come installare mkcert, uno strumento zero-config sull’ultimo sistema Ubuntu. Mkcert è un semplice strumento che può essere utilizzato per creare certificati attendibili a livello locale. Non richiede alcuna configurazione. È sempre pericoloso o impossibile utilizzare certificati di CA reali per localhost or 127.0.0.1. Anche l’utilizzo di certificati autofirmati non è consigliato in quanto causa errori di attendibilità.

Mkcert ci offre la migliore soluzione gestendo la nostra CA. Ciò creerà e installerà automaticamente una CA locale nell’archivio radice del sistema e genererà certificati attendibili a livello locale. Vediamo i passaggi per installare mkcert.

Prerequisiti

  • Un server ben configurato con Go 1.10+ e privilegi di root.
  • Strumento di database dei certificati (Certutil)

Installazione di Golang

Go è un linguaggio di programmazione di sistema generico con il quale possiamo creare un’ampia varietà di applicazioni. Il linguaggio Go e i suoi toolkit sono disponibili nel nostro repository predefinito. Possiamo installare la lingua Go in Ubuntu 18.04 semplicemente eseguendo questo comando.

#apt install golang
# go version
go version go1.10.1 linux/amd64

Ora possiamo creare un file “/etc/profile.d/goenv.sh” per configurare la variabile di ambiente Go lato server come segue:

# cat /etc/profile.d/goenv.sh
export GOROOT=/usr/lib/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

# source /etc/profile.d/goenv.sh

Installazione del certificato

Certificate Database Tool o Certutil è una semplice utility a riga di comando che può creare/modificare il certificato e i relativi database delle chiavi. Può essere utilizzato specificamente per elencare, generare, modificare o eliminare i certificati. Può anche essere utilizzato per creare o modificare password, generare nuove coppie di chiavi pubbliche/private. Inoltre, visualizza il contenuto del database delle chiavi o elimina le coppie di chiavi dal database delle chiavi. Sul nostro server Ubuntu, possiamo installarlo eseguendo questo comando di seguito:

#apt install libnss3-tools

Installazione di Mkcert

A seconda della piattaforma e dei requisiti del nostro sistema operativo, dobbiamo scaricare il file sorgente per Lo strumento Mkcert Qui.

#wget https://github.com/FiloSottile/mkcert/archive/v1.0.0.tar.gz
# cd mkcert-1.0.0/
#make

Ora possiamo copiare questo binario mkcert dalla cartella di installazione in /usr/bin/ cartella da utilizzare a livello di server.

#cd mkcert-1.0.0/bin/
#cp mkcert /usr/bin/

Infine, possiamo generare la nostra CA locale per generare i nostri certificati con questo comando:

# mkcert -install
Created a new local CA at "/root/.local/share/mkcert" 💥
The local CA is now installed in the system trust store! ⚡️

La radice CA verrà creata e salvata nel percorso /root/.local/share/mkcert. In genere, il certificato CA e la relativa chiave vengono archiviati in una cartella dei dati dell’applicazione nella home dell’utente. La posizione può essere ottenuta anche utilizzando il comando mkcert -CAROOT.

# mkcert -CAROOT
/root/.local/share/mkcert

Ora possiamo utilizzare questo strumento per generare certificati di sviluppo attendibili a livello locale secondo necessità:

# mkcert example.com '*.example.org' myapp.dev localhost 127.0.0.1 ::1
Using the local CA at "/root/.local/share/mkcert" ✨

Created a new certificate valid for the following names 📜
- "example.com"
- "*.example.org"
- "myapp.dev"
- "localhost"
- "127.0.0.1"
- "::1"

The certificate is at "./example.com+5.pem" and the key at "./example.com+5-key.pem" ✅

Come riportato nell’esecuzione di questo comando, i certificati attendibili generati localmente vengono salvati nel percorso da cui eseguiamo questo comando. Nel mio caso, i miei certificati vengono creati direttamente in /root. Ho appena spostato quei file in /etc/ssl cartella come di seguito:

#cp /root/example.com+5.pem /etc/ssl/certs/
#cp /root/example.com+5-key.pem /etc/ssl/private/

Abilitazione dei certificati su Apache2

Il nostro prossimo passo è installare il nostro server web e abilitare SSL per utilizzare questi certificati di sviluppo attendibili a livello locale. Ho installato Apache2 e abilitato SSL per usarlo.

#apt install apache2
#systemctl enable apache2
#systemctl start apache2

In secondo luogo, modificare il file SSL predefinito che si trova in /etc/apache2/sites-available/default-ssl.conf con il nostro certificato SSL generato localmente e i dettagli chiave come segue:

SSLCertificateFile /etc/ssl/certs/example.com+5.pem
SSLCertificateKeyFile /etc/ssl/private/example.com+5-key.pem

Ora puoi abilitare il modulo SSL e riavviare il servizio Apache2 per rendere effettive queste modifiche.

# a2enmod ssl
# a2ensite default-ssl.conf
Enabling site default-ssl.
To activate the new configuration, you need to run:
systemctl reload apache2
#systemctl reload apache2
#systemctl restart apache2

Infine, possiamo provare a navigare su https://localhost per confermare che funzioni.

mkcert

Leggi anche:

Ciao! siamo pronti con i nostri certificati di fiducia locale. Mkcert è progettato solo per scopi di sviluppo, non consigliato per la produzione, quindi non dovrebbe essere utilizzato sui computer degli utenti finali e non dovresti esportare o condividere rootCA-key.pem per motivi di sicurezza. Spero che questo articolo sia informativo e utile per te! Si prega di pubblicare i vostri preziosi commenti e suggerimenti al riguardo.

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close