2017-06-21 1 views
0

Je souhaite configurer une chaîne de certificats pour un test de projet.Comment créer une chaîne de certificats ne reposant pas sur le certificat racine

Il aura le certificat racine, puis le certificat A, certificat B, etc.

Actuellement, la façon dont la mise en im it up, si je n'ai pas le certificat racine, le certificat B ne sera pas valide. Comment puis-je l'avoir afin que le certificat B ne repose pas sur le certificat racine.

Voici les commandes openSSL que j'ai utilisées.

Créer un certificat racine clé privée: openssl genrsa -out ca.key 4096

Créer un certificat racine: openssl req -new -x509 -days 1826 -key ca.key -out ca.crt

Créer un certificat Une clé privée: openssl genrsa -out ia.key 4096

Créer un certificat Une demande: openssl req -new -key ia.key -out ia.csr

Créer et signer le certificat A à la racine: openssl x509 -req -days 730 -in ia.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out ia.crt

Pour le certificat B, je fais la même chose (mais changez les noms bien sûr et signez au certificat A au lieu de root). Mais si je n'ai pas le certificat A ou la racine, alors le certificat B ne fonctionnera pas. Comment puis-je faire en sorte que le certificat B ne repose pas sur le certificat racine ou le certificat A?

+0

Votre question n'est pas claire. Voulez-vous demander comment valider une chaîne de certificats sans le certificat racine? Ou générer un certificat sans racine? – pedrofb

+0

Je veux savoir comment valider un certificat sans le certificat racine @pedrofb –

+0

Je ne suis pas sûr si j'ai bien compris la question, s'il vous plaît vérifier la réponse – pedrofb

Répondre

0

Un certificat est signé avec la clé privée du certificat parent. Pour valider digital.signature, vous avez besoin de la clé publique du certificat parent. Par conséquent, vous ne pouvez pas valider une chaîne de certificats sans la racine

Habituellement, un système client qui doit valider un certificat a un fichier de confiance avec les certificats racine des autorités de certification acceptées. Également un certificat utiliser pour avoir un attribut spécial contenant une URL pointant vers le certificat parent

+0

Laissez-moi vous expliquer à nouveau. Sur mon ordinateur, disons que je crée plusieurs certificats. J'ai une racine, un certificat intermédiaire et un certificat. Si je n'ai pas le certificat racine sur mon ordinateur. Si j'ai envoyé le certificat ou le certificat intermédiaire à quelqu'un d'autre, le certificat montre qu'il est invalide. Est-il possible d'empêcher cela sans leur donner le fichier de certificat racine manuellement, comme combiner les deux certificats ensemble? –

+0

Il est prévu que vous fournissiez manuellement le certificat racine à l'autre partie. Une chaîne de certification peut contenir tous les certificats nécessaires (par exemple au format PEM) mais normalement la racine n'est pas incluse et elle est distribuée par d'autres moyens. Cela empêche le client d'approuver automatiquement un certificat. Le client doit avoir un fichier de clés certifiées avec les certificats racine qu'il approuve réellement, de sorte que le comportement que vous décrivez est le comportement attendu – pedrofb