# 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.