Ajout d'un certificat intermédiaire à un fichier pkcs12
J'ai un certificat qui a la suite de la chaîne de certification:
Confiez->Mon CA->Mon autorité de certification Émettrice->Mon JBoss Certificat. Maintenant, si j'installe mon certificat sur mon JBoss exemple, n'importe quelle page j'access en cours d'exécution sur cette instance apparaît non fiables que Mon autorité de certification Émettrice n'est pas reconnu par mon navigateur. Je sais que mon ordinateur a la clé publique pour le Confier des pouvoirs de signature. Comment puis-je installer mon certificat de sorte que n'importe quel navigateur peut voir l'ensemble de la chaîne de certificat?
J'ai fait un seul .fichier pem de tous les certificats de la pensée qui serait à l'œuvre. Il n'a pas. Quelqu'un peut-il expliquer ce que je fais de mal ou même si cela est possible?
source d'informationauteur blackirishman
Vous devez vous connecter pour publier un commentaire.
Voici comment je le fais sur mon site web et des serveurs de messagerie.
D'abord,
www-example-com.crt
est le serveur web cert signé par Startcom. Startcom propose des cours gratuits 1 les certificats de confiance en mon la plupart des navigateurs et appareils mobiles, de sorte que je les utilise. Le certificat est au format PEM (----- BEGIN CERT -----
et----- END CERT -----
).Deuxième, j'ai ouvert
www-example-com.crt
et ajouter Startcom de Classe 1 Intermédiaire. Je reçois l'intermédiaire de Startcom de Index of /certs. Maintenant, monwww-example-com.crt
a deux PEM codé codé certs.Troisième, j'ai effectuer les opérations suivantes pour créer un PKCS12/fichier PFX pour une utilisation dans IIS.
Dans votre cas, votre
www-example-com.crt
aura au moins trois certificats codés en PEM:La troisième cert dans la chaîne de
My CA
- est facultatif. Vous n'en avez pas besoin si vos clients utilisentMy CA
comme une ancre de confiance. Si vous êtes clients d'utiliserEntrust
comme une ancre de confiance, alors vous aurez besoin de l'inclure.Si vous
cat
votrewww-example-com.crt
et il ne PAS avez plusieurs certificats, de ne pas les poursuivre. Ne pas effectuer deopenssl pkcs12
jusqu'à ce que votre serveur cert a tous les certificats intermédiaires requis pour vérifier la chaîne.Ne comprennent pas les Confier certificat d'autorité de certification.
Je doute Confier des signes avec leurs CA directement. Ils ont probablement utiliser un intermédiaire, trop. Si votre cert chaîne doit probablement ressembler à:
Confie fournit de leur CA et de certificats Intermédiaires à Confier Les Certificats Racine. Je ne peux pas vous dire lequel vous avez besoin parce que vous n'aurez pas à fournir une adresse URL ou de nous montrer que la chaîne que vous avez. Mais je suppose que sa va être un ou plusieurs des éléments suivants:
Vous pouvez tester votre chaîne avec OpenSSL " s_client. Cette fois, vous allez utiliser Confier la certifcate:
Vous pouvez obtenir
entrust-ca.pem
de Confier Les Certificats Racine. Lancez-le et dites-nous ce que les erreurs que vous obtenez. Ou mieux, poster l'URL de votre serveur afin que nous puissions voir ce qu'il se passe.Je pense que vous avez deux problèmes ici. Le premier est le contresigné CA, et la deuxième est incomplète client de la chaîne.
Tout d'abord, le problème facile. Le serveur doit envoyer à la fin de l'entité (serveur) cert et toute certificats intermédiaires nécessaires, de construire la chaîne. Le serveur envoie les certificats intermédiaires pour éviter le "répertoire" problème. Le "répertoire" est un problème dans la PKI. Essentiellement, le client ne sait pas où aller chercher les intermédiaires manquants cert.
De sorte que votre première solution est pour le serveur d'envoyer une chaîne avec:
Deuxièmement, vous avez le problème de la confiance de l'émetteur. Le client doit faire confiance à votre autorité de certification émettrice.
Ainsi, votre deuxième solution est de vous assurer que votre client fait confiance à votre autorité de certification interne ("Mon CA'). Dans ce cas, il n'est pas nécessaire pour le client de même utiliser Confier depuis le point de confiance est enracinée dans l'autorité de certification interne.
Vous pouvez peut-être demander au serveur d'envoyer une chaîne avec "Mon CA", "Mon autorité de certification Émettrice" et " Mon JBoss Certificat. Dans ce cas, le client doit approuver 'Confier'.
Si le client ne fait pas confiance à "Confier" ou "Mon CA", puis vous obtenez des erreurs de vérification.
Dans ce cas, nous aurions besoin de voir les certificats dans un effort pour voir ce qu'il se passe. Vous pouvez poster une URL qui sert le certificat et utilise la chaîne; et après vous CA interne ("Mon CA') cert en ligne?
Voici une façon rapide et sale pour tester une connexion avec l'installation de OpenSSL
s_client
:OpenSSL fiducies de rien par défaut (à la différence des navigateurs), de sorte que vous devez spécifier votre ancre de confiance avec
-CAfile
.Que la commande doit se terminer par quelque chose de similaire à la suivante.
Si la commande OpenSSL résultats dans OK, alors le problème est avec le navigateur et le point de confiance.