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

Method server_key_exchange

  `int server_key_exchange(ADT.struct input, string client_random, string server_random)`

Parameter `input`

  ADT.struct with the content of a HANDSHAKE_server_key_exchange.

  The default implementation calls parse_server_key_exchange(), and then verifies the signature.

Returns

  `0` | Returns zero on success.
  `-1` | Returns negative on verification failure.