2013-03-01 9 views
8

Vor kurzem haben wir einen Server mit Tomcat erstellt und wir fügen auch SSL-Unterstützung für diesen kleinen Server hinzu. Für die SSL-Unterstützung benötigen wir ein Zertifikat, das von einem dritten Emittenten wie Entrust, Thawte usw. ausgegeben wurde.SSL - Ist ein Serverzertifikat an eine bestimmte Maschine gebunden?

Ein Kollege sagte mir, dass das Zertifikat für eine bestimmte Maschine verbindlich ist. Sobald wir das ausgestellte Zertifikat erhalten haben, kann dieses Zertifikat nicht in einem anderen Computer verwendet werden.

Ich bezweifle das vollständig, weil der CSR keine Informationen der Maschine enthält. Ist das wahr?

Dank

+0

Einige SSL-Anbieter erzwingen dies nichttechnologisch - Sie kaufen eine einzelne Serverlizenz von ihnen und stimmen vertraglich zu, sie nur auf der einen zu verwenden. – ceejayoz

Antwort

9

Das Zertifikat ist nicht unbedingt auf eine bestimmte Maschine gebunden. Um ein Zertifikat auf einem Computer verwenden zu können, benötigen Sie zwei Dinge: das Zertifikat selbst und seinen privaten Schlüssel. Sie sollten den privaten Schlüssel zusammen mit dem CSR generiert haben (abhängig davon, welche Tools Sie verwendet haben).

Bei einigen Systemen ist es nicht möglich, den privaten Schlüssel erneut zu extrahieren (z. B. Windows hat eine Option, einen privaten Schlüssel so zu importieren, dass er nicht mehr exportiert werden kann, aber soweit ich weiß, kann dies umgangen werden wenn Sie auf diesem Rechner über ausreichende Zugriffsrechte verfügen. In Fällen, in denen Sie eine Smartcard oder ein Hardwaretoken verwenden, wird der private Schlüssel dort möglicherweise so generiert, dass Sie ihn nicht extrahieren können (in diesem Fall wäre es sinnvoll, das Token auf die neue Maschine zu verschieben). .

Der andere Teil ist das Zertifikat und sein Name. Der/die Hostname (n) im Zertifikat (der häufig auch in der CSR gefunden wird, obwohl dies letztendlich nicht notwendig ist) sollten die Hostnamen dieser Maschine sein, wie sie von den Clients gesehen werden, die versuchen, eine Verbindung herzustellen RFC 2818 Abschnitt 3.1 für Details zur Überprüfung des Hostnamens für HTTPS). Obwohl das Zertifikat selbst nicht hardwaremäßig an einen bestimmten Computer gebunden ist, ist es an diesen Hostnamen gebunden (mit dem Sie beispielsweise die Hardware für diesen Computer oder seine IP-Adresse ändern können).

+0

Das bedeutet, dass das Zertifikat an einen Hostnamen gebunden ist. Wie kann ich dann den Host-Namen im Cert sehen? Ist das CN? Eine andere Frage ist, ob der SSL-Client immer eine Überprüfung des Hostnamens erfordert (glaube ich nicht) – zgcharley

+0

Wenn alternative DNS-Namen vorhanden sind, kann der Hostname einer davon sein. Ansonsten ist es das CN im Betreff-DN. SSL-Clients sollten immer den Hostnamen überprüfen (einige nicht, aber dadurch sind sie anfällig für MITM-Angriffe - nicht überprüfen, ob der Name als Sicherheitsfehler behandelt wird). – Bruno

+0

Danke für Ihre Erklärung! – zgcharley

Verwandte Themen