Skip to main content
AD-PKI Logo AD-PKIDocs
🔐 Root- und Intermediate-CA
Docs/Root- und Intermediate-CA

Root- und Intermediate-CA

CA-Hierarchie mit OpenSSL erstellen, prüfen und in AD-PKI importieren.

AD-PKI benötigt ein Root-CA-Zertifikat sowie ein Intermediate-CA-Zertifikat mit zugehörigem privaten Schlüssel. Die folgende Referenz erstellt eine einfache zweistufige Hierarchie mit OpenSSL.

⚠️ Die Root-CA ist der zentrale Vertrauensanker. Für produktive Umgebungen sollte ihr privater Schlüssel offline, verschlüsselt und mit einem dokumentierten Wiederherstellungsverfahren verwahrt werden. Die gezeigte Erstellung auf dem AD-PKI-Server eignet sich primär für Tests und kontrollierte interne Umgebungen.

1. Verzeichnisstruktur

Verzeichnisse anlegen:

mkdir -p ~/pki/{root,intermediate}
mkdir -p ~/pki/root/{certs,crl,newcerts,private,csr}
mkdir -p ~/pki/intermediate/{certs,crl,newcerts,private,csr}

CA-Datenbank initialisieren:

chmod 700 ~/pki/root/private ~/pki/intermediate/private
touch ~/pki/root/index.txt ~/pki/intermediate/index.txt
echo 1000 > ~/pki/root/serial
echo 1000 > ~/pki/intermediate/serial
echo 1000 > ~/pki/intermediate/crlnumber

Erstellte PKI-Verzeichnisstruktur

2. Root-CA erstellen

Empfohlen mit Passphrase:

openssl genrsa -aes256 -out ~/pki/root/private/root-ca.key.pem 4096
chmod 400 ~/pki/root/private/root-ca.key.pem

Für reine Testumgebungen ohne Passphrase:

openssl genrsa -out ~/pki/root/private/root-ca.key.pem 4096
chmod 400 ~/pki/root/private/root-ca.key.pem

Zertifikat erzeugen:

openssl req -x509 -new \
  -key ~/pki/root/private/root-ca.key.pem \
  -sha256 \
  -days 3650 \
  -addext "basicConstraints=critical,CA:TRUE" \
  -addext "keyUsage=critical,keyCertSign,cRLSign" \
  -addext "subjectKeyIdentifier=hash" \
  -out ~/pki/root/certs/root-ca.cert.pem

chmod 444 ~/pki/root/certs/root-ca.cert.pem

Verwende einen eindeutigen Common Name, beispielsweise Example Internal Root CA.

Root-Key und Root-Zertifikat erzeugen

Prüfe die CA-Eigenschaft:

openssl x509 -noout -text -in ~/pki/root/certs/root-ca.cert.pem

Die Ausgabe muss CA:TRUE enthalten.

CA TRUE im Root-Zertifikat

3. Intermediate-CA erstellen

Empfohlen mit Passphrase:

openssl genrsa -aes256 -out ~/pki/intermediate/private/intermediate-ca.key.pem 4096
chmod 400 ~/pki/intermediate/private/intermediate-ca.key.pem

Für reine Testumgebungen ohne Passphrase:

openssl genrsa -out ~/pki/intermediate/private/intermediate-ca.key.pem 4096
chmod 400 ~/pki/intermediate/private/intermediate-ca.key.pem

CSR erzeugen:

openssl req -new \
  -key ~/pki/intermediate/private/intermediate-ca.key.pem \
  -out ~/pki/intermediate/csr/intermediate-ca.csr.pem

Intermediate-Key und CSR erzeugen

Erweiterungsdatei anlegen:

cat > ~/pki/intermediate/intermediate.ext <<'EOF'
basicConstraints = critical, CA:true, pathlen:0
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
EOF

Intermediate-Zertifikat mit der Root-CA signieren:

openssl x509 -req \
  -in ~/pki/intermediate/csr/intermediate-ca.csr.pem \
  -CA ~/pki/root/certs/root-ca.cert.pem \
  -CAkey ~/pki/root/private/root-ca.key.pem \
  -CAcreateserial \
  -out ~/pki/intermediate/certs/intermediate-ca.cert.pem \
  -days 1825 \
  -sha256 \
  -extfile ~/pki/intermediate/intermediate.ext

chmod 444 ~/pki/intermediate/certs/intermediate-ca.cert.pem

Intermediate-Zertifikat signieren

Prüfe die CA-Eigenschaft:

openssl x509 -noout -text -in ~/pki/intermediate/certs/intermediate-ca.cert.pem

Das Zertifikat muss CA:TRUE, pathlen:0 enthalten.

CA TRUE und pathlen 0 im Intermediate-Zertifikat

4. Zertifikatskette validieren

openssl verify \
  -CAfile ~/pki/root/certs/root-ca.cert.pem \
  ~/pki/intermediate/certs/intermediate-ca.cert.pem

Die erwartete Ausgabe endet mit OK.

Erfolgreiche Validierung der CA-Kette

Diese drei Dateien werden später im Setup verwendet:

~/pki/root/certs/root-ca.cert.pem
~/pki/intermediate/certs/intermediate-ca.cert.pem
~/pki/intermediate/private/intermediate-ca.key.pem