starkbank_ecdsa v0.0.1 EllipticCurve.Signature View Source
Used to convert signature between struct (raw numbers r and s) and .der or .pem formats.
Functions:
- fromBase64()
- fromBase64!()
- fromDer()
- fromDer!()
- toBase64()
- toDer()
Link to this section Summary
Functions
Converts a base 64 signature into the decoded struct format
Converts a base 64 signature into the decoded struct format
Converts a der signature (raw binary) into the decoded struct format
Converts a der signature (raw binary) into the decoded struct format
Converts a signature in decoded struct format into a base 64 string
Converts a signature in decoded struct format into der format (raw binary)
Link to this section Functions
Converts a base 64 signature into the decoded struct format
Parameters:
- base64 [string]: message that will be signed
Returns {:ok, signature}:
- signature [%EllipticCurve.Signature.Data]: decoded signature, exposing r and s;
Example:
iex> EllipticCurve.Ecdsa.fromBase64("MEYCIQD861pJq/fZE7GnDBycwAbb3YglVoSCVub6TwMkgFS0NgIhAJCEZTh1Mlp1cWCgMXABqh9nOQznEXnhGoSYmZK6T99T")
{:ok, %EllipticCurve.Signature.Data{r: 114398670046563728651181765316495176217036114587592994448444521545026466264118, s: 65366972607021398158454632864220554542282541376523937745916477386966386597715}}
Converts a base 64 signature into the decoded struct format
Parameters:
- base64 [string]: signature in base 64 format
Returns {:ok, signature}:
- signature [%EllipticCurve.Signature.Data]: decoded signature, exposing r and s;
Example:
iex> EllipticCurve.Ecdsa.fromBase64!("MEYCIQD861pJq/fZE7GnDBycwAbb3YglVoSCVub6TwMkgFS0NgIhAJCEZTh1Mlp1cWCgMXABqh9nOQznEXnhGoSYmZK6T99T")
%EllipticCurve.Signature.Data{r: 114398670046563728651181765316495176217036114587592994448444521545026466264118, s: 65366972607021398158454632864220554542282541376523937745916477386966386597715}
Converts a der signature (raw binary) into the decoded struct format
Parameters:
- der [string]: signature in der format (raw binary)
Returns {:ok, signature}:
- signature [%EllipticCurve.Signature.Data]: decoded signature, exposing r and s;
Example:
iex> EllipticCurve.Ecdsa.fromDer(<<48, 69, 2, 33, 0, 211, 243, 12, 93, ...>>)
{:ok, %EllipticCurve.Signature.Data{r: 95867440227398247533351136059968563162267771464707645727187625451839377520639, s: 35965164910442916948460815891253401171705649249124379540577916592403246631835}}
Converts a der signature (raw binary) into the decoded struct format
Parameters:
- der [string]: signature in der format (raw binary)
Returns:
- signature [%EllipticCurve.Signature.Data]: decoded signature, exposing r and s;
Example:
iex> EllipticCurve.Ecdsa.fromDer!(<<48, 69, 2, 33, 0, 211, 243, 12, 93, ...>>)
%EllipticCurve.Signature.Data{r: 95867440227398247533351136059968563162267771464707645727187625451839377520639, s: 35965164910442916948460815891253401171705649249124379540577916592403246631835}
Converts a signature in decoded struct format into a base 64 string
Parameters:
- signature [%EllipticCurve.Signature.Data]: decoded signature struct;
Returns:
- base64 [string]: signature in base 64 format
Example:
iex> EllipticCurve.Ecdsa.toBase64(%EllipticCurve.Signature.Data{r: 123, s: 456})
"YXNvZGlqYW9pZGphb2lkamFvaWRqc2Fpb3NkamE="
Converts a signature in decoded struct format into der format (raw binary)
Parameters:
- signature [%EllipticCurve.Signature.Data]: decoded signature struct;
Returns:
- der [string]: signature in der format
Example:
iex> EllipticCurve.Ecdsa.toDer(%EllipticCurve.Signature.Data{r: 95867440227398247533351136059968563162267771464707645727187625451839377520639, s: 35965164910442916948460815891253401171705649249124379540577916592403246631835})
<<48, 69, 2, 33, 0, 211, 243, 12, 93, 107, 214, 149, 243, ...>>