Ich glaube, dass es eine Kombination der Zufallswerte verwendet, die in den Hallo-Nachrichten gesendet werden. Ab RFC 2246: (TLSv1.0)
RSA-verschlüsselte geheime Premaster-Nachricht Bedeutung dieser Nachricht: Wenn RSA für die Schlüsselvereinbarung und -authentifizierung verwendet wird, generiert der Client ein 48-Byte-Premaster-Geheimnis. verschlüsselt es mit dem öffentlichen Schlüssel aus dem Serverzertifikat oder dem temporären RSA-Schlüssel, der in einer Serverschlüsselaustauschnachricht enthalten ist, und sendet das Ergebnis in einer verschlüsselten geheimen Premaster-Nachricht. Diese Struktur ist eine Variante der Client-Schlüsselaustauschnachricht, keine Nachricht an sich. Struktur dieser Nachricht: struct {ProtocolVersion client_version; undurchsichtiger Zufall [46]; } PreMasterSecret; client_version Die neueste (neueste) Version, die vom Client unterstützt wird. Dies wird verwendet, um Versions-Rollback-Angriffe zu erkennen. Nach Erhalt des Premaster-Geheimnisses sollte der Server überprüfen, ob dieser Wert mit dem vom Client in der Client-Hallo-Nachricht übertragenen Wert übereinstimmt. random 46 sicher generierte zufällige Bytes.
Wie wird es mit dem Wert übereinstimmen, den der Client zuvor gesendet hat? Kann das bitte jemand erklären? Danke! Gibt es eine API, um diesen Wert zu berechnen?