Hoe maak ik mijn eigen certificaatketen aan?
Ik wil graag mijn eigen OCSP Responder opzetten (alleen voor testdoeleinden). Hiervoor heb ik een root-certificaat nodig en een paar certificaten die daaruit gegenereerd zijn.
Het is me gelukt om een zelf-ondertekend certificaat te maken met openssl. Ik wil het gebruiken als het root-certificaat. De volgende stap zou zijn om de afgeleide certificaten te maken. Ik kan echter geen documentatie vinden over hoe ik dit moet doen. Weet iemand waar ik deze informatie kan vinden?
Edit Achteraf gezien is mijn vraag nog niet helemaal beantwoord. Om het probleem te verduidelijken zal ik mijn certificaatketen als volgt voorstellen:
ROOT -> A -> B -> C -> …
Ik kan nu de ROOT en A certificaten maken, maar ik heb nog niet gevonden hoe ik een langere keten kan maken.
Mijn commando voor het aanmaken van het root certificaat is:
openssl req -new -newkey rsa:1024 -nodes -out ca.csr -keyout ca.key
openssl x509 -trustout -signkey ca.key -days 365 -req -in ca.csr -out ca.pem
Certificaat A is als volgt aangemaakt:
openssl genrsa -out client.key 1024
openssl req -new -key client.key -out client.csr
openssl ca -in client.csr -out client.cer
Dit commando is impliciet afhankelijk van het root certificaat, waarvoor het de benodigde info vindt in het openssl configuratiebestand.
Certificaat B moet echter alleen vertrouwen op A, dat niet geregistreerd is in het configuratiebestand, dus het vorige commando zal hier niet werken.
Welke commandoregel moet ik gebruiken om certificaten B en verder aan te maken?
Edit Ik vond het antwoord in dit artikel . Certificaat B (keten A -> B) kan met deze twee commando’s aangemaakt worden:
# Create a certificate request
openssl req -new -keyout B.key -out B.request -days 365
# Create and sign the certificate
openssl ca -policy policy_anything -keyfile A.key -cert A.pem -out B.pem -infiles B.request
Ik heb ook het openssl.cnf bestand veranderd:
[usr_cert]
basicConstraints=CA:TRUE # prev value was FALSE
Deze aanpak lijkt goed te werken.