SSL.Crypto.KeyExchange (ex_ssl v0.16.7)

Copy Markdown View Source

Fresh ephemeral key generation and shared-secret computation for TLS groups.

Runtime support is determined by the crypto provider linked to OTP.

Summary

Types

error_reason()

@type error_reason() ::
  {:unsupported_group, term()}
  | {:unsupported_capability, group()}
  | {:key_generation_failed, group()}
  | {:invalid_private_key, group()}
  | {:invalid_peer_public_key, group()}
  | {:key_pair_mismatch, group()}
  | :invalid_key_pair

group()

Functions

generate(group)

@spec generate(term()) ::
  {:ok, SSL.Crypto.KeyExchange.KeyPair.t()} | {:error, error_reason()}

shared_secret(key_pair, peer_public_key)

@spec shared_secret(SSL.Crypto.KeyExchange.KeyPair.t(), term()) ::
  {:ok, binary()} | {:error, error_reason()}

supported?(group)

@spec supported?(term()) :: boolean()

validate_key_pair(key_pair)

@spec validate_key_pair(term()) :: :ok | {:error, error_reason()}