Je souhaite configurer mon propre répondeur OCSP (uniquement à des fins de test). Cela nécessite que je possède un certificat racine et quelques certificats générés à partir de celui-ci.
J'ai réussi à créer un certificat auto-signé en utilisant openssl. Je veux l'utiliser comme certificat racine. La prochaine étape serait de créer les certificats dérivés. Je n'arrive pas à trouver la documentation sur la façon de faire cela cependant. Est-ce que quelqu'un sait où je peux trouver cette information?
Modifier
Rétrospectivement, ma question n’a pas encore été complètement répondue. Pour clarifier le problème, je vais représenter ma chaîne de certificats comme suit:
ROOT -> A -> B -> C -> ...
Je suis actuellement en mesure de créer les certificats ROOT et A, mais je n’ai pas trouvé comment créer une chaîne plus longue.
Ma commande pour créer le certificat racine est:
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
Le certificat A est créé comme ceci:
openssl genrsa -out client.key 1024
openssl req -new -key client.key -out client.csr
openssl ca -in client.csr -out client.cer
Cette commande dépend implicitement du certificat racine, pour lequel elle trouve les informations requises dans le fichier de configuration openssl.
Cependant, le certificat B ne doit s’appuyer que sur A, qui n’est pas enregistré dans le fichier de configuration. La commande précédente ne fonctionnera donc pas ici.
Quelle ligne de commande dois-je utiliser pour créer des certificats B et au-delà?
Modifier
j'ai trouvé la réponse dans cet article . Le certificat B (chaîne A -> B) peut être créé avec ces deux commandes:
# 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
J'ai aussi changé le fichier openssl.cnf:
[ usr_cert ]
basicConstraints=CA:TRUE # prev value was FALSE
Cette approche semble bien fonctionner.