starkbank_ecdsa v1.1.0 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

Holds public key data. Is usually extracted from .pem files or from the private key itself.

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

Link to this function

%EllipticCurve.PublicKey{}

View Source (struct)

Holds public key data. Is usually extracted from .pem files or from the private key itself.

Parameters:

  • :point [%EllipticCurve.Utils.Point]: public key point data;
  • :curve [%EllipticCurve.Curve]: public key curve information;

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]: decoded public key struct;

Example:

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

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]: decoded public key struct;

Example:

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

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]: decoded public key struct;

Example:

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

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

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

Converts a public key in pem format into decoded struct format

Parameters:

  • pem [string]: public key in pem format

Returns:

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

Example:

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

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

%EllipticCurve.PublicKey{...}

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

Parameters:

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

Returns:

  • der [string]: public key in der format

Example:

iex> EllipticCurve.PublicKey.toDer(%EllipticCurve.PublicKey{...})
<<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]: decoded public key struct;

Returns:

  • pem [string]: public key in pem format

Example:

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

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