informatique:securite:easyrsa

EasyRSA

apt install openssl rsync wget
TMP_DIR=$(mktemp --directory)
cd $TMP_DIR
wget -O easyrsa.tgz https://github.com/OpenVPN/easy-rsa/releases/download/v3.1.7/EasyRSA-3.1.7.tgz
tar xzvf easyrsa.tgz
mv EasyRSA* /usr/local/share/easyrsa
chown root:root -R /usr/local/share/easyrsa
mkdir /etc/easyrsa
for i in easyrsa x509-types/ vars.example openssl-easyrsa.cnf
do
  rsync -av /usr/local/share/easyrsa/$i /etc/easyrsa/$i
done
cp /etc/easyrsa/vars.example /etc/easyrsa/vars
cat << EOF > /usr/local/sbin/easyrsa
#!/bin/bash
export EASYRSA=/etc/easyrsa
export EASYRSA_PKI=/var/lib/easyrsa
 
cd \$EASYRSA
./easyrsa \$@
exit \$?
EOF
chmod 755 /usr/local/sbin/easyrsa
rm -fr $TMP_DIR
Le fichier /etc/easyrsa/vars contient des informations de configuration importante, comme par exemple la durée de validité des certificats générés (EASYRSA_CERT_EXPIRE, 825 jours par défaut).
easyrsa init-pki
EASYRSA_CA_EXPIRE=365 easyrsa build-ca
easyrsa show-ca
  • Générer la clé privée + une demande de certificat (CSR) :
    easyrsa gen-req myclient
  • Approuver la demande de certificat (CSR) et le générer :
    easyrsa sign-req client myclient

Les fichiers générés seront récupérables ici :

  • /var/lib/easyrsa/issued/myclient.crt
  • /var/lib/easyrsa/private/myclient.key
  • /var/lib/easyrsa/reqs/myclient.req (CSR)
  • Révoquer le certificat :
    easyrsa revoke myclient
  • Générer la CRL :
    easyrsa gen-crl

La CRL est récupérable dans le fichier /var/lib/easyrsa/crl.pem.

Pour une exécution en mode batch, sans avoir à répondre à des questions et en fournissant les réponses attendues via des variables d'environnement, vous pouvez :

  • Générer la clé privée + une demande de certificat (CSR) :
    EASYRSA_PASSOUT=env:KEY_PWD KEY_PWD=myclient_secret easyrsa --batch gen-req myclient
  • Approuver la demande de certificat (CSR) et le générer :
    EASYRSA_PASSIN=env:CA_PWD CA_PWD=ca_secret easyrsa --batch sign-req client myclient
  • Révoquer le certificat :
    EASYRSA_PASSIN=env:CA_PWD CA_PWD=ca_secret easyrsa --batch revoke myclient
  • Générer la CRL :
    EASYRSA_PASSIN=env:CA_PWD CA_PWD=ca_secret easyrsa --batch gen-crl
  • informatique/securite/easyrsa.txt
  • Dernière modification : 2023/11/28 19:41
  • de bn8