Hinzufügen eines zwischenzertifikats zu einer pkcs12-Datei
Habe ich ein Zertifikat, das die folgende Kette der Zertifizierung:
Anvertrauen->Mein CA->Meine Ausstellende CA->Mein JBoss-Zertifikat. Nun, wenn dann installiere ich mein Zertifikat auf meinem JBoss-Instanz, jede Seite, die ich access, die auf dieser Instanz erscheint nicht vertrauenswürdig, wie Mein Ausstellenden CA nicht erkannt wird von meinem browser. Ich weiß, dass mein computer den öffentlichen Schlüssel für das Vertrauen Zeichnungsberechtigung. Wie installiere ich mein Zertifikat, so dass jeder browser sehen kann, die gesamte Zertifikatskette?
Machte ich einen einzigen .pem-Datei mit allen Zertifikaten zu denken, die funktionieren würde. Er Tat es nicht. Kann mir jemand erklären, was ich falsch mache oder noch wenn dies möglich ist?
InformationsquelleAutor der Frage blackirishman | 2014-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist, wie ich es auf meine web-und mail-Server.
Zunächst
www-example-com.crt
ist die web-server-cert signiert von Startcom. Startcom bietet Kostenlose Class-1-Zertifikate vertrauenswürdiger meine meisten Browsern und mobilen Geräten, so dass ich Sie zu nutzen. Das Zertifikat ist im PEM-format (----- BEGIN CERT -----
und----- END CERT -----
).Zweite, öffne ich
www-example-com.crt
und Anhängen von Startcom, Klasse 1 Mittelstufe. Ich bekomme die Mittelstufe von Startcom ist Index of /certs. Nun meinewww-example-com.crt
verfügt über zwei PEM-codiert-codiert-certs.Dritte, ich führen Sie folgende Schritte zum erstellen einer PKCS12/PFX-Datei für die Verwendung im IIS.
In Ihrem Fall, Ihr
www-example-com.crt
mindestens drei PEM-kodierte Zertifikate:Dritten cert in der Kette -
My CA
- ist optional. Sie brauchen es nicht, wenn Ihre Kunden verwendenMy CA
als Vertrauensanker. Wenn Sie clients verwendenEntrust
als Vertrauensanker, dann werden Sie brauchen, um es.Wenn Sie
cat
Ihrewww-example-com.crt
und es tut NICHT über mehrere Zertifikate, dann nicht weiter. Nicht durchführenopenssl pkcs12
bis Ihr server-cert hat alle erforderlichen Zwischenzertifikate notwendig, um zu überprüfen, die Kette.Gehören nicht Anvertrauen CA-Zertifikat.
Ich Zweifel Anvertrauen Zeichen mit Ihren CA direkt. Sie wahrscheinlich verwenden ein Zwischenprodukt, zu. So Ihr cert-chain-sollte wohl so Aussehen:
Betraut, stellt die CA-und Intermediate-Zertifikate bei Entrust Root-Zertifikate. Ich kann Ihnen nicht sagen, was Sie brauchen, weil Sie nicht geben Sie eine URL oder zeigen Sie uns die Kette, die Sie haben. Aber ich bin zu raten sein wird, eine oder mehrere von:
Können Sie testen Sie Ihre Kette mit OpenSSL `s_client. Diese Zeit werden Sie nutzen Entrust - Zertifikat:
Erhalten Sie
entrust-ca.pem
aus Entrust Root-Zertifikate. Starten Sie es und sagen Sie uns, was Fehler, die Sie erhalten. Oder besser, poste die URL zu Ihrem server, damit wir sehen können, was Los ist.InformationsquelleAutor der Antwort jww
Ich glaube, Sie haben zwei Probleme hier. Zunächst ist die gegengezeichnete CA, und die zweite ist eine unvollständige client Kette.
Zunächst das einfache problem. Die server senden muss, der end-Entität (server -) Zertifikat und alle intermediate certs zu den erforderlichen Aufbau der Kette. Der server sendet die intermediate certs zu vermeiden, die "das Verzeichnis" problem. "Verzeichnis" ist eine bekannte problem, dass die PKI. Im wesentlichen, wird der client nicht wissen, wo zu gehen, Holen Sie die fehlenden intermediate-cert.
Also deine erste Lösung ist für den server zu senden, eine Kette mit:
Zweite, Sie haben das problem von einer nicht vertrauenswürdigen Aussteller. Der Kunde muss das Vertrauen Ihrer internen ausstellenden CA.
Also deine zweite Lösung ist, um sicherzustellen, dass Ihr Kunde vertraut Ihrer internen ZERTIFIZIERUNGSSTELLE ('Mein CA'). In diesem Fall gibt es keine Notwendigkeit, um den client zu verwenden, auch Anvertrauen, da das Vertrauen wurzelt in Ihrer internen ZERTIFIZIERUNGSSTELLE.
Können Sie in der Lage sein, den server senden eine Kette mit "My CA", "Meine Ausstellende CA' und 'Mein JBoss-Zertifikat'. In diesem Fall muss der client trust 'Vertrauen'.
Wenn der Kunde nicht Vertrauen entweder 'Vertrauen' oder 'Mein CA', dann erhalten Sie verifizierungsfehler.
In diesem Fall, wir würden sehen müssen, die Zertifikate in einer Anstrengung, um zu sehen, was Los ist. Kannst du eine URL, dient das Zertifikat und benutzt die Kette, und posten Sie eine interne ZERTIFIZIERUNGSSTELLE ('Mein CA') cert online?
Hier eine schnelle und schmutzige Art und Weise zu testen, eine Verbindung mit OpenSSL ist
s_client
:OpenSSL vertraut nichts standardmäßig (im Gegensatz zu Browsern), so müssen Sie angeben, Ihr Vertrauen Anker mit
-CAfile
.Dieser Befehl sollte am Ende mit etwas, das ähnlich der folgenden.
Wenn die OpenSSL-Befehl Ergebnisse in OK, dann ist das problem mit dem browser und dem Vertrauen.
InformationsquelleAutor der Antwort jww