Module ec
ec module to create EC keys and do EC key processes.
Usage:
ec = require('openssl').ec
Functions
| sign (eckey, digest, md) | do EC sign |
| verify (eckey, digest, signature, md) | do EC verify, input msg is digest result |
| parse ([basic=false]) | parse EC key components and parameters |
| compute_key (peer[, kdf]) | compute ECDH shared key |
| set_method (engine) | set ECDSA signing method for EC key |
| check () | check if EC key is valid |
| export () | export EC key to DER format |
| group ([group]) | get or set EC group for EC key |
| read (der) | read EC key from DER encoded data |
| conv_form ([form]) | get or set point conversion form for EC key |
| enc_flags ([flags]) | get or set encoding flags for EC key |
| list () | list all available elliptic curve names |
Functions
- sign (eckey, digest, md)
-
do EC sign
Parameters:
- eckey ec_key
- digest string result of digest to be signed
- md evp_md, string or nid digest alg identity, default is sm3
Returns:
-
string
signature
- verify (eckey, digest, signature, md)
-
do EC verify, input msg is digest result
Parameters:
- eckey ec_key
- digest string result of digest to be signed
- signature string
- md evp_md, string or nid digest alg identity
Returns:
- boolean true for verified, false for invalid signature
- nil for error, and followed by error message
- parse ([basic=false])
-
parse EC key components and parameters
Parameters:
- basic boolean true for basic information only (default false)
Returns:
-
table
EC key information including encoding flags, conversion form, group, and key components
- compute_key (peer[, kdf])
-
compute ECDH shared key
Parameters:
- peer ec_key peer EC key for key exchange
- kdf function key derivation function (optional)
Returns:
-
string
shared secret or nil if failed
- set_method (engine)
-
set ECDSA signing method for EC key
Parameters:
- engine engine engine providing the ECDSA method
Returns:
-
boolean
result true for success
- check ()
-
check if EC key is valid
Returns:
-
boolean
true if key is valid, false otherwise
- export ()
-
export EC key to DER format
Returns:
-
string
DER encoded EC private key
- group ([group])
-
get or set EC group for EC key
Parameters:
- group ec_group optional EC group to set (optional)
Returns:
- ec_group current EC group when called without parameters
- boolean true when setting group successfully
- read (der)
-
read EC key from DER encoded data
Parameters:
- der string DER encoded EC private key data
Returns:
-
ec_key or nil
parsed EC key or nil on failure
- conv_form ([form])
-
get or set point conversion form for EC key
Parameters:
- form string or number point conversion form to set (optional)
Returns:
- string point conversion form name if getting
- number point conversion form value if getting
Or
-
boolean
result true for success if setting
- enc_flags ([flags])
-
get or set encoding flags for EC key
Parameters:
- flags string or number encoding flags to set (optional)
Returns:
- string encoding flags name if getting
- number encoding flags value if getting
Or
-
boolean
result true for success if setting
- list ()
-
list all available elliptic curve names
Returns:
-
table
array of curve names and descriptions