# Method SSL.Cipher.KeyExchange()->server_derive_master_secret()

Method server_derive_master_secret

  ``string(8bit)`|`int(8bit)` server_derive_master_secret(`string(8bit)` `data`, `string(8bit)` `client_random`, `string(8bit)` `server_random`, `ProtocolVersion` `version`)`

Parameter `data`

  Payload from a `HANDSHAKE_client_key_exchange`.

Returns

  Master secret or alert number.

Note

  May set message_was_bad and return a fake master secret.