Selbst-signierte Zertifikate, Java, Hudson und JIRA
Ich versuche zum einrichten des JIRA-Hudson-plugin. Unsere JIRA-server ist gesichert mit einem selbstsignierten SSL-Zertifikat. Ich habe eingefügt, das Zertifikat für meine web-browser gespeichert hat, mit dem keytool-Befehl ein, und bekommen von Hudson, um es zu finden. Aber jetzt beschwert sich:
java.security.cert.CertificateException: No subject alternative names present
Den common name des Zertifikats ist "Unbekannt", und ich sehe nicht ein subject alternative names im Zertifikat
$ openssl x509 -in Unknown -text -noout
Certificate:
Data:
Version: 1 (0x0)
Serial Number: 1214507595 (0x4863ea4b)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=US, ST=NJ, L=[Our town], O=[Our company], OU=[Our project], CN=Unknown
Validity
Not Before: Jun 26 19:13:15 2008 GMT
Not After : May 5 19:13:15 2018 GMT
Subject: C=US, ST=NJ, L=[Our town], O=[Our company], OU=[Our project], CN=Unknown
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
[omitted]
Signature Algorithm: md5WithRSAEncryption
[omitted]
(Identifizierung info redigiert und notiert Sie in Klammern.)
Gibt es eine Möglichkeit zur Befestigung einer alternativer Antragstellername für das Zertifikat? Oder gibt es eine andere Möglichkeit? Oder bin ich gezwungen zu hacken die Jira-Hudson-plugin?
InformationsquelleAutor der Frage AFoglia | 2010-09-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den hostname verwendet, um den Zugriff auf Ihre Jira-server (z.B. jira.acme.com in https://jira.acme.com/) muss entweder mit einem von der
CN
Feldern für den Antragstellernamen oder, wenn es nicht funktioniert, eine derSubject Alternative Name
des cert.Dies ist ausführlich in der RFC 2818:
In Ihrem Fall ist Java beschwert, weil weder die
CN
("Unbekannt"), noch eineSubject Alternative Name
(da Sie keine haben) haben entsprechen den Hostnamen des Jira-Servers.Also, entweder generieren Sie ein Zertifikat mit der entsprechenden
CN
zum Beispiel mitkeytool
:Erstellen Sie ein Schlüsselpaar und das selbst unterzeichnete Zertifikat
Zu, um die persönlichen Daten
Und setup Tomcat die Verwendung der Schlüsselspeicher.
Wenn Sie möchten, erstellen Sie einen multihomed-Zertifikat haben, müssen Sie OpenSSL (keytool hinzufügen kann X509-extensions wie Subject Alternative Name). Diese links sind ausgezeichnete Ressourcen:
Update: Gegeben, dass Sie nicht ändern können das Zertifikat (sollte man das wirklich haben erwähnt, dass), eine vorübergehende Lösung könnte sein, die änderung der lokalen
/etc/hosts
- Datei mit den erforderlichen Maschinen zu behebenUnknown
der echten IP der Maschine.So, dass Sie Zugriff auf https://Unknown/ von diesen Maschinen. Aber natürlich, das ist eher ein dirty-hack als eine echte Lösung und nicht skaliert.
Kontaktaufnahme mit den admins zu bekommen, eine echte "gute" Zertifikat ist noch die wirklich gute Lösung.
Ressourcen
Referenzen
InformationsquelleAutor der Antwort Pascal Thivent
Wenn ich mich nicht Irre, SSL erfordert, dass der common name des Zertifikats enthalten den Hostnamen, den Sie versuchen zu verbinden, dass auf diese Weise der client-Seite können Sie überprüfen, ob das Zertifikat ist nicht nur vertraut im Allgemeinen, aber für Vertrauenswürdige der Lage.
Ich bin davon ausgegangen, dass Sie die Erzeugung des Zertifikats mit OpenSSL. Gibt es einen Grund, warum man die Einstellung nicht
cn=[yourserver]
?Kann es sein, dass, wenn Sie nicht finden können, den richtigen hostname in dem gemeinsamen Namen,, dass das plug-in versucht, um es zu suchen in einem subject alt name, und wenn das fehlschlägt, weil es keine subjectAltName, Sie sind immer eine schlechte Fehlermeldung.
Sowieso, wenn Sie dieses für mehrere Standorte, müssen Sie den Hostnamen in die subjectAltName. Ich habe eine Seite gefunden, die beschreibt, wie erstellen Sie Ihre self-signed cert richtig.
http://library.linode.com/ssl-guides/subject-alt-name-ssl
Hoffe, das hilft.
InformationsquelleAutor der Antwort Shawn D.
Gibt es mehrere mögliche Lösungen, jeder mit seinen eigenen Schmerzen.
Erzeugen Sie ein neues Zertifikat für JIRA, dieses mal die Angabe einer CN bei der Generierung des geheimen Schlüsselpaar für das Zertifikat.
Kann ich nicht sehen, warum ein neues Zertifikat generiert werden kann; ich bin mir ziemlich sicher, dass die anderen client an den JIRA-server sind auch auf einige Probleme, vor allem Warnungen von Browsern, für die beschriebene Zertifikat. Alle Kunden (und client-Anwendungen) müssen daher neu geprüft werden, aber dies ist nicht ein Schmerz, wenn das selbstsignierte Zertifikat ausgestellt wurde, durch eine lokale ZERTIFIZIERUNGSSTELLE, die das Vertrauen aller Kunden.
http://Unknown/....
. Und oh, verwenden Sie diese nur, wenn Sie in einer wirklich engen Stelle; Sie wollen nicht zu sein zu erklären, warum Sie dies Tat.InformationsquelleAutor der Antwort Vineet Reynolds