starkbank_ecdsa v1.0.1 EllipticCurve.PrivateKey View Source
Used to create private keys or convert them between struct and .der or .pem formats. Also allows creations of public keys from private keys.
Functions:
- generate()
- toPem()
- toDer()
- fromPem()
- fromPem!()
- fromDer()
- fromDer!()
Link to this section Summary
Functions
Converts a private key in der format into decoded struct format
Converts a private key in der format into decoded struct format
Converts a private key in pem format into decoded struct format
Converts a private key in pem format into decoded struct format
Creates a new private key
Gets the public associated with a private key
Converts a private key in decoded struct format into a der string (raw binary)
Converts a private key in decoded struct format into a pem string
Link to this section Functions
Converts a private key in der format into decoded struct format
Parameters:
- der [string]: private key in der format
Returns {:ok, privateKey}:
- privateKey [%EllipticCurve.PrivateKey.Data]: decoded private key struct;
Example:
iex> EllipticCurve.PrivateKey.fromDer(<<48, 116, 2, 1, 1, 4, 32, 59, 210, 253, 23, 93, 23, ...>>)
{:ok, %EllipticCurve.PrivateKey.Data{...}}
Converts a private key in der format into decoded struct format
Parameters:
- der [string]: private key in der format
Returns:
- privateKey [%EllipticCurve.PrivateKey.Data]: decoded private key struct;
Example:
iex> EllipticCurve.PrivateKey.fromDer!(<<48, 116, 2, 1, 1, 4, 32, 59, 210, 253, 23, 93, 23, ...>>)
%EllipticCurve.PrivateKey.Data{...}
Converts a private key in pem format into decoded struct format
Parameters:
- pem [string]: private key in pem format
Returns {:ok, privateKey}:
- privateKey [%EllipticCurve.PrivateKey.Data]: decoded private key struct;
Example:
iex> EllipticCurve.PrivateKey.fromPem("-----BEGIN EC PRIVATE KEY-----
MHQCAQEEIDvS/RddF6iYa/q4oVSrGa3Kbd7aSooNpwhv9puJVv1loAcGBSuBBAAK oUQDQgAErp2I78X4cqHscCRWMT4rhouyO197iQXRfdGgsgfS/UGaIviYiqnG3SSa 9dsOHU/NkVSTLkBPCI0RQLF3554dZg== -----END EC PRIVATE KEY----- ")
{:ok, %EllipticCurve.PrivateKey.Data{...}}
Converts a private key in pem format into decoded struct format
Parameters:
- pem [string]: private key in pem format
Returns:
- privateKey [%EllipticCurve.PrivateKey.Data]: decoded private key struct;
Example:
iex> EllipticCurve.PrivateKey.fromPem!("-----BEGIN EC PRIVATE KEY-----
MHQCAQEEIDvS/RddF6iYa/q4oVSrGa3Kbd7aSooNpwhv9puJVv1loAcGBSuBBAAK oUQDQgAErp2I78X4cqHscCRWMT4rhouyO197iQXRfdGgsgfS/UGaIviYiqnG3SSa 9dsOHU/NkVSTLkBPCI0RQLF3554dZg== -----END EC PRIVATE KEY----- ")
%EllipticCurve.PrivateKey.Data{...}
Creates a new private key
Parameters:
- secret [int]: private key secret; Default: nil -> random key will be generated;
- curve [atom]: curve name; Default: :secp256k1;
Returns:
- privateKey [%EllipticCurve.PrivateKey.Data]: private key struct
Example:
iex> EllipticCurve.PrivateKey.generate()
%EllipticCurve.PrivateKey.Data{...}
Gets the public associated with a private key
Parameters:
- privateKey [%EllipticCurve.PrivateKey.Data]: private key struct
Returns:
- publicKey [%EllipticCurve.PublicKey.Data]: public key struct
Example:
iex> EllipticCurve.PrivateKey.getPublicKey(privateKey)
%EllipticCurve.PublicKey.Data{...}
Converts a private key in decoded struct format into a der string (raw binary)
Parameters:
- privateKey [$EllipticCurve.PrivateKey.Data]: decoded private key struct;
Returns:
- der [string]: private key in der format
Example:
iex> EllipticCurve.PrivateKey.toDer(%EllipticCurve.PrivateKey.Data{...})
<<48, 116, 2, 1, 1, 4, 32, 59, 210, 253, 23, 93, 23, ...>>
Converts a private key in decoded struct format into a pem string
Parameters:
- privateKey [%EllipticCurve.PrivateKey.Data]: decoded private key struct;
Returns:
- pem [string]: private key in pem format
Example:
iex> EllipticCurve.PrivateKey.toPem(%EllipticCurve.PrivateKey.Data{...})
"-----BEGIN EC PRIVATE KEY-----
MHQCAQEEIDvS/RddF6iYa/q4oVSrGa3Kbd7aSooNpwhv9puJVv1loAcGBSuBBAAK oUQDQgAErp2I78X4cqHscCRWMT4rhouyO197iQXRfdGgsgfS/UGaIviYiqnG3SSa 9dsOHU/NkVSTLkBPCI0RQLF3554dZg== -----END EC PRIVATE KEY----- "