Credo che usi una combinazione dei valori casuali inviati nei messaggi ciao. Da RFC 2246: (TLSv1.0)
RSA encrypted premaster secret message
Meaning of this message:
If RSA is being used for key agreement and authentication, the
client generates a 48-byte premaster secret, encrypts it using
the public key from the server's certificate or the temporary RSA
key provided in a server key exchange message, and sends the
result in an encrypted premaster secret message. This structure
is a variant of the client key exchange message, not a message in
itself.
Structure of this message:
struct {
ProtocolVersion client_version;
opaque random[46];
} PreMasterSecret;
client_version
The latest (newest) version supported by the client. This is
used to detect version roll-back attacks. Upon receiving the
premaster secret, the server should check that this value
matches the value transmitted by the client in the client
hello message.
random
46 securely-generated random bytes.
In che modo corrisponderà al valore che il cliente ha inviato in precedenza? Qualcuno può spiegare questo per favore? Grazie! C'è qualche API per calcolare questo valore?