Ich denke, Sie können das tun, aber nicht so, wie Sie es versuchen.
Ein SSL-Zertifikat ist eine Anweisung, die einen öffentlichen Verschlüsselungsschlüssel an eine X.500-Struktur bindet, die ein CN- oder Common Name-Element enthält. Ein signiertes Zertifikat ist ein solches Zertifikat, bei dem die Bindung nachweislich von einer Zertifizierungsstelle eines Drittanbieters unter Verwendung eines öffentlichen Schlüssels zertifiziert wird, der den Endbenutzern bereits bekannt ist (dieser Stapel von Zertifizierungsstellenzertifikaten (CA), die sich in Ihrem Browser befinden).
Wenn Sie eine SSL-gesicherte Website mit einem Browser besuchen, wird der signierte CN dem Browser bekannt gegeben. Was der Browser damit macht, hängt vom Browser ab. Die mir bekannten Browser vergleichen es mit dem angeforderten Hostnamen und geben einen Fehler aus, wenn er anders ist (oder wenn diese zertifizierte Bindung der Analyse nicht standhält, z. B. wenn das Signaturzertifikat dem Browser nicht bekannt ist oder die Bindung nicht vorhanden ist). aktuell, aber das ist ein anderes Problem). Grundsätzlich hindert Sie nichts daran, ein öffentlich signiertes Zertifikat zu erhalten, bei dem der CN eine IP-Adresse und kein FQDN (vollqualifizierter Domainname) ist [1], aber das lässt den Browser den CN nicht auf magische Weise mit der IP vergleichen Adresse, anstatt mit dem angeforderten Hostnamen .
Ich vermute, der einfachste Weg, um Ihr Problem zu lösen, besteht darin, eine eigene Zertifizierungsstelle zu starten, was einfach zu bewerkstelligen ist. Es gibt viele öffentliche Tutorials dazu. einer ist hier . Sobald Ihre Endbenutzer Ihre Zertifizierungsstelle in ihre Browser importiert haben, werden alle von Ihnen geprägten Zertifikate als maßgeblich akzeptiert.
Möglicherweise besteht dann ein zweites Problem darin, dass Sie viele NameVirtualHost-Sites unter einer einzigen IP-Adresse ausführen möchten. Dies war in der Vergangenheit unüberwindbar, da (im Gegensatz zu TLS) die SSL-Aushandlung vor allen anderen Verbindungen erfolgt. Das heißt, der in Ihr Zertifikat eingebettete CN wird dem Client bekannt gemacht und von ihm verwendet, bevor der Client sagen kann, zu welchem Host er eine Verbindung herstellen möchte.
Vor kurzem wurde anscheinend eine Protokollerweiterung mit dem Namen SNI (Server Name Indication) eingeführt, mit der Client und Server angeben können, dass sie einige Hostnamen-Aufgaben ausführen möchten, bevor das SSL-Zertifikat vorgelegt wird, wodurch das richtige eines Satzes zugelassen wird von Zertifikaten, die vom Server ausgestellt werden sollen. Anscheinend erfordert dies Apache 2.2.10, eine ausreichend aktuelle Version von OpenSSL, und (vor allem ) clientseitige Unterstützung.
Wenn ich also das tun müsste, was Sie versuchen, würde ich mein eigenes CA-Zertifikat prägen, meinen Endbenutzern mitteilen, dass sie Browser verwenden müssen, die SNI unterstützen und mein CA-Stammzertifikat importieren, und schneiden und Signieren meiner eigenen SSL-Zertifikate für jede Bugtrack-Site.
[1] OK, Sie haben möglicherweise niemanden gefunden, der dies tun wird, aber das ist ein Implementierungsdetail. Was ich hier zeigen möchte, ist, dass es Ihr Problem nicht lösen würde, selbst wenn Sie es tun würden.