Getagged: ssl

OpenSSL-HowTo

EDIT: Cool, irgendwie in den Entwürfen wiedergefunden, passt ja zum vorherigen Thema…: Link

Hier mal die (für mich) wichtigsten Infos über OpenSSL, CAs, Zertifikate und was weiß ich zusammengefasst:

Dateiarten:
*.csr:

*.pem:
Base64 kodiert, enthält den Schlüssel und das Zertifikat in einer Datei, beginnt (für den Schlüssel) mit „—–BEGIN RSA PRIVATE KEY—–“ und endet mit „—–END RSA PRIVATE KEY—–“, darauf folgt (für das Zertifikat) „—–BEGIN CERTIFICATE—–“ und endet mit „—–END CERTIFICATE—–“
*.crt:

*.key

*.der

Umwandlung von Zertifikaten:

Aufbau einer CA
openssl.cnf editieren, so dass die Einstellungen passen ,z.B. default_bits = 2048 (Setzt die Schküssellänge auf 2048Bit, default 512, oder 1024)
Verzeichnisse anlegen, die in der openssl.cnf beschrieben sind (ich mache es meist im Verzeichnis /etc/ssl/RootCA)
Unterverzeichnisse anlegen:
cd ./RootCA
mkdir newcerts certs crl private
# 2 separate Dateien anlegen
touch index.txt serial
# serial-Datei „befüllen“
echo „01“ > serial

Root-Zertifikat der CA erstellen
# Erst den Key
openssl genrsa -out -aes256 /etc/ssl/RootCA/private/RootCA.key.pem 2048
# Wenn -aes256 nicht angegeben wird, wird der Schlüssel unverschlüsselt (und ohne PW) abgespeichert
# 2048 am Ende steht für die Schlüssellänge

# Jetzt das Zertifikat (öffentlicher Teil)
openssl req -new -x509 -days 1027 -key private/RootCA.key.pem -out ./RootCA-cert.pem
# Das PW für den private Key muss angegeben werden
# mit
openssl x509 -in RootCA-cert.pem -text -noout | less
das Zertifikat überprüfen, die Seriennummer muss 0 sein

Jetzt ist das Zertifikat für die RootCA erstellt, es können nun Zertifikatsanforderungen gestellt werden, die die CA signieren muss
cd RootCA
# Erst den Key (wenn mit PW, dann -aes256 angeben) sonst wird kein PW hinterlegt (z.B. für Server)
openssl genrsa -out NAME.key.pem 1024
# Dann den CSR
openssl req -new -key NAME.key.pem -out NAME.req.pem
# Dann signieren
cd /etc/ssl/
openssl ca -name CA_NAME -cert ./RootCA/RootCA-cert.pem -keyfile ./RootCA/private/RootCA.key.pem -in ./RootCA/certs/ZERTIFIKAT.req.pem -out ./RootCA/certs/ZERTIFIKAT.cert.pem -outdir ./RootCA/newcerts/

Das Zertifikat wird in ./RootCA/newcerts abgelegt

CSR erstellen

Signieren