====== Certificate Authority mit easyrsa ======
Ich empfehle easy-rsa für die verwaltung einer CA.(([[https://wiki.archlinux.org/title/Easy-RSA|Tutorial von Archwiki]]))
==== Initial Setup ====
== Installation (Debia) ==
Unter Debian wird die binary nicht ordentlich verlinkt..
apt install -y easy-rsa
ln -s /usr/share/easy-rsa/easyrsa /usr/bin/easyrsa
== Setup CA Ordner ==
Der hier erstellte Ordner muss nicht in gänze aubewahrt werden, aber es bietet sich an.
easyrsa init-pki
Erstellt einen pki ordner im aktuellen ordner. dieser beinhaltet dann alle Infos der CA.
Jetzt sollten noch ein paar Infos hinterlegt werden als Defaults. Dafür die ''pki/vars'' Datei bearbeiten.
Außerdem kann man hier die types bearbeiten, um zB CRLs zu erstellen.
cp /usr/share/easy-rsa/x509-types/* pki/x509-types/
== Root generieren ==
Nun kann das Root Zertifikat erstellt werden:
easyrsa build-ca
==== Client Cert ====
# create client cert req
easyrsa gen-req jk-t490.home.julian-lemmerich.de nopass
# signing the request
easyrsa sign-req client jk-t490.home.julian-lemmerich.de nopass
== Export für Clients ==
easyrsa export-p12 jk-t490.home.julian-lemmerich.de
Android kann mit standard p12 nicht umgehen, daher muss die legacy option gewählt werden! Dafür wird easyrsa > 3.2.0 benötigt.
easyrsa export-p12 j-s10e-ii.home.julian-lemmerich.de legacy
==== Revoking certificates ====
easyrsa revoke jk-t490.home.julian-lemmerich.de
easyrsa gen-crl
Danach die pki/crl.pem auf den passenden Server bereitstellen, sodass der verifier diese abrufen kann.
===== Secrets =====
Der PKI Ordner enthält natürlich secrets. Die folgenden sollten verschlüsselt werden, falls der Ordner zB auf git gepusht wird:
* pki/private/*
* pki/inline/private/*