starkbank_ecdsa v0.0.1 EllipticCurve.PublicKey View Source

Used to convert public keys between struct and .der or .pem formats.

Functions:

  • toPem()
  • toDer()
  • fromPem()
  • fromPem!()
  • fromDer()
  • fromDer!()

Link to this section Summary

Functions

Converts a public key in der (raw binary) format into decoded struct format

Converts a public key in der (raw binary) format into decoded struct format

Converts a public key in pem format into decoded struct format

Converts a public key in pem format into decoded struct format

Converts a public key in decoded struct format into a der string (raw binary)

Converts a public key in decoded struct format into a pem string

Link to this section Functions

Converts a public key in der (raw binary) format into decoded struct format

Parameters:

  • der [string]: public key in der format

Returns {:ok, publicKey}:

  • publicKey [%EllipticCurve.PublicKey.Data]: decoded public key struct;

Example:

iex> EllipticCurve.PublicKey.fromDer(<<48, 86, 48, 16, 6, 7, 42, 134, ...>>)
{:ok, %EllipticCurve.PublicKey.Data{...}}

Converts a public key in der (raw binary) format into decoded struct format

Parameters:

  • der [string]: public key in der format

Returns:

  • publicKey [%EllipticCurve.PublicKey.Data]: decoded public key struct;

Example:

iex> EllipticCurve.PublicKey.fromDer!(<<48, 86, 48, 16, 6, 7, 42, 134, ...>>)
%EllipticCurve.PublicKey.Data{...}

Converts a public key in pem format into decoded struct format

Parameters:

  • pem [string]: public key in pem format

Returns {:ok, publicKey}:

  • publicKey [%EllipticCurve.PublicKey.Data]: decoded public key struct;

Example:

iex> EllipticCurve.PublicKey.fromPem("-----BEGIN PUBLIC KEY-----

MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAErp2I78X4cqHscCRWMT4rhouyO197iQXR fdGgsgfS/UGaIviYiqnG3SSa9dsOHU/NkVSTLkBPCI0RQLF3554dZg== -----END PUBLIC KEY----- ")

{:ok, %EllipticCurve.PublicKey.Data{...}}

Converts a public key in pem format into decoded struct format

Parameters:

  • pem [string]: public key in pem format

Returns:

  • publicKey [%EllipticCurve.PublicKey.Data]: decoded public key struct;

Example:

iex> EllipticCurve.PublicKey.fromPem!("-----BEGIN PUBLIC KEY-----

MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAErp2I78X4cqHscCRWMT4rhouyO197iQXR fdGgsgfS/UGaIviYiqnG3SSa9dsOHU/NkVSTLkBPCI0RQLF3554dZg== -----END PUBLIC KEY----- ")

%EllipticCurve.PublicKey.Data{...}

Converts a public key in decoded struct format into a der string (raw binary)

Parameters:

  • publicKey [%EllipticCurve.PublicKey.Data]: decoded public key struct;

Returns:

  • der [string]: public key in der format

Example:

iex> EllipticCurve.PublicKey.toDer(%EllipticCurve.PublicKey.Data{...})
<<48, 86, 48, 16, 6, 7, 42, 134, 72, 206, 61, ...>>

Converts a public key in decoded struct format into a pem string

Parameters:

  • publicKey [%EllipticCurve.PublicKey.Data]: decoded public key struct;

Returns:

  • pem [string]: public key in pem format

Example:

iex> EllipticCurve.PublicKey.toPem(%EllipticCurve.PublicKey.Data{...})
"-----BEGIN PUBLIC KEY-----

MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAErp2I78X4cqHscCRWMT4rhouyO197iQXR fdGgsgfS/UGaIviYiqnG3SSa9dsOHU/NkVSTLkBPCI0RQLF3554dZg== -----END PUBLIC KEY----- "