Hallo,
Server wird gefaked,und es wird ein EIGENES Schlüsselpaar á la RSA generiert,privatekey bleibt beim server,und der public key wird in zusammengebasteltes Zertifikat gepackt,ein EIGENER Hashvalue wird erzeugt.
Dann ist dies doch ein erschummeltes Zertifikat.
Nochmals, es ist nicht geschummelt, sondern nur nicht von einem offizellen CA. Sagen wir mal es ist wie ein Firmenausweis.
Jetzt hat der Client doch ein Zertifikat vor sich,und es erfüllt die Bedingungen.Woher weiss der Client jetzt das dies eine Fälschung ist?
Der Client wieß jetzt einmal nur, daß sich der Server ausweisen kann. Allerdings eben mit einem 'Firmenausweis'.
Würde er ein von einem offizellen CA ausgestelltes Zertifikat haben, dann entspräche ev. das einem Pass. Auch das ist ein 'Ausweis', allerdings von einer anerkannt 'zuverlässigen' Stelle (staatliche Behörde) ausgestellt.
Wenn Du Dir nicht sicher bist, ob der Ausweis nicht gefälscht ist, kannst Du ja immer bei der ausstellenden Stelle nachfragen. Also beim Firmenausweis bei der entsprechenden Firma, bzw. beim Pass bei der ausstellenden Behörde.
Genau das macht der Client grundsätzlich. Er empfängt das Zertifikat, sieht nach, wer der Aussteller ist, und fragt nach. Falls der Aussteller (CA) dieses Zertifikat nihct bestätigen kann, gilt es beim Client als unsicher.
Bei den selbst generierten Zertifikaten gibts aber keinen Aussteller, gilt das Zertifikat ebenfalls als unsicher.
Dies teilt der Client, sofern er nicht Schrott ist, dem Benutzer dann mit.
Du solltest aber bedenken, daß ein Zertifikat bei SSL zwei Aufgaben erfüllt.
1.) Es dient zum Schlüsselaustausch für die Übertragung verschlüsselter Daten. Diese Punkt kann erfüllt werden, egal ob das Zertifikat bestätigt wurde oder nicht.
2.) Es dient zur Authentifizierung des Servers. Nur dann gilt das Zertifikat auch als sicher.
1.Oder kennt der Client etwa schon im Voraus,alle offiziell aktuellen Signaturen aller oder der meisten CAs,um sie auf Gültigkeit zu überprüfen???
Alle wird der Client nicht kennen, bei den Browsern sind aber einige wichtige CA's schon eingetragen.
2.Demnach haben die binaries der Browser schon längst Informationen über aktuelle CA signaturen?
Ja.
3.Das bedeutet,wenn man ClientServer applikationen schreibt,dass der Administrator der Kunden,die die Serverapplikation verwenden dafür sorgen muss,dass die clients stets informiert sind,über alle gültigen Signaturen,so dass die Clientsoftware die Zertifikate anerkennen kann.
Zumindest über die Signatur des ausstellenden CA's, so daß dieser ein eventuell verwendetes Zertifikat bestätigen kann.
Grüße
Klaus