AirPlay.V2.Srp (AirPlay v0.3.0)

Copy Markdown View Source

AirPlay 2 SRP-6a client proof generation.

AirPlay 2 transient pairing uses username Pair-Setup, password 3939, the RFC 5054 3072-bit group, generator 5 and SHA-512.

Summary

Functions

g()

RFC 5054 group generator.

n()

RFC 5054 3072-bit group modulus.

Compatibility wrapper for SRP session generation.

Convenience helper for transient AP2 pairing.

Types

t()

@type t() :: %AirPlay.V2.Srp{
  client_pk: binary(),
  client_proof: binary(),
  client_public_key: binary(),
  server_proof: binary(),
  session_key: binary()
}

Functions

create(username, password, server_public_key, salt, opts \\ [])

@spec create(binary(), binary(), binary(), binary(), keyword()) :: t()

Create an AirPlay 2 SRP client proof.

g()

@spec g() :: pos_integer()

RFC 5054 group generator.

n()

@spec n() :: pos_integer()

RFC 5054 3072-bit group modulus.

session(username, password, server_public_key, salt, opts \\ [])

@spec session(binary(), binary(), binary(), binary(), keyword()) :: t()

Compatibility wrapper for SRP session generation.

transient(server_public_key, salt, opts \\ [])

@spec transient(binary(), binary(), keyword()) :: t()

Convenience helper for transient AP2 pairing.