Quelqu'un peut-il me dire comment ajouter un certain nombre de noms alternatifs de sujet à un CSR existant?
Je ne parle pas de générer une CSR avec des SAN ou d'ajouter des SAN au moment de la signature - je sais comment faire ces deux choses.
Contexte: Le problème que nous avons est que les châssis de lames HP vous permettent de générer des CSR, mais ils n'autorisent qu'un seul SAN. Nous ne pouvons pas utiliser un CSR généré ailleurs car nous ne pouvions pas utiliser le certificat résultant car il n'y a aucun moyen (que je peux trouver) de télécharger la clé sur le châssis de la lame.
Le processus standard de notre autorité de certification ne permet pas d'ajouter des SAN au moment de la signature. Ils sont prêts à expérimenter, mais j'essaie de trouver une solution de notre côté car cela signifie que nous n'aurons pas à compter sur eux pour avoir un processus non standard pour nous - d'après mon expérience s'ils ont besoin d'utiliser un processus non standard la vie finira par devenir difficile. Par exemple, lorsqu'un membre du personnel qui connaît le processus non standard n'est pas présent en raison d'un départ, etc.
La méthode actuelle consiste à se connecter à l'administrateur intégré de bladechassis via l'interface graphique Web et à générer la CSR avec un seul CN.
L'interface graphique Web ne permet qu'un seul SAN dans le CSR.
Ensuite, nous le signons nous-mêmes avec la strophe suivante dans la configuration openssl:
[ v3_ca ]
subjectAltName = "DNS:bladesystem8,DNS:bladesystem8.services.adelaide.edu.au,DNS:bladesystem8-backup,DNS:bladesystem8-backup.services.adelaide.edu.au"
Le certificat résultant a les SAN supplémentaires.
la source
Réponses:
Si votre châssis ne prend pas en charge l'ajout de SAN, vous devrez retirer la clé du châssis et générer la CSR avec openssl.
Assurez-vous que
req_extensions = v3_req
n'est pas commenté dans la[ req ]
section.Ajoutez le
subjectAltName
à la[ v3_req ]
section.Générez un nouveau CSR.
Vous ne pouvez pas modifier un CSR existant.
la source
Remarque importante: Tout cela est quelque peu spéculatif, donc si vous êtes au fond du code et qu'il n'est pas d'accord avec ce que je dis, croyez le code. Je ne suis pas un expert CA, j'en joue juste un à la télé. Cela dit:
En tant que caractéristique des RSE, ce sera difficile. La dernière étape de la génération d'un CSR par programme consiste à hacher tout ce que vous avez créé, puis à le signer avec la clé privée. Ainsi, bien que vous puissiez ajouter ces attributs au texte de la CSR, la signature ne correspondrait pas au contenu, donc aucune autorité de certification ne la signerait.
Dans votre cas, cependant, vous contrôlez (ou êtes au moins en contact avec) l'autorité de certification. Cela vous donne deux options:
Parmi ceux-ci, le n ° 1 semble de loin le plus simple. Vous devrez briser le sceau inviolable sur OpenSSL pour le faire, mais il a certaines fonctions qui devraient rendre un peu plus facile. Je commencerais par asn1parse, qui vous montrera comment séparer la RSE.
la source
site.com
à unwww.site.com
certificat en tant que SAN).Alors que la réponse de cakemox est certainement la plus simple si vous pouvez en quelque sorte obtenir une copie de la clé privée, il existe un autre moyen si vous ne pouvez pas en signant à nouveau la CSR en utilisant un certificat "Agent d'inscription".
Cet article de blog css-security.com contient tous les petits détails. Mais l'aperçu de haut niveau du processus ressemble à ceci:
Lorsque j'ai essayé cela personnellement, je suis presque sûr d'avoir ignoré la partie concernant la modification du modèle de certificat. En supposant que vous pouvez générer un certificat d'agent d'inscription pour vous-même, le processus réel ressemble à ceci.
Créez un fichier san.inf avec les informations sur l'extension SAN
Re-signer la demande
Soumettre la demande corrigée
Et puis procédez comme d'habitude au processus d'émission.
la source