Module engine
engine module for lua-openssl binding
OpenSSL engine support allows the use of alternative implementations of cryptographic algorithms.
Engines can provide hardware acceleration or alternative software implementations of cryptographic operations.
Usage:
engine = require('openssl').engine
Functions
next () | get next engine in the list |
prev () | get previous engine in the internal list |
add () | add engine to the internal list for lookup by id or name |
remove () | remove engine from the internal list |
register ([unregister=false[, algorithms]]) | register engine for specific algorithms |
ctrl (cmd[, arg]) | control engine operations and settings |
id ([id]) | get or set engine identifier |
name ([name]) | get or set engine name |
flags ([flags]) | get or set engine flags |
init () | initialize an engine for use |
finish () | release an initialized engine |
set_default (...) | set engine as default for specified algorithm types |
set_rand_engine () | set random number generator engine |
load_private_key (key_id) | load private key from engine |
load_public_key (key_id) | load public key from engine |
load_ssl_client_cert (ssl) | load SSL client certificate from engine |
Functions
- next ()
-
get next engine in the list
Returns:
-
engine or nil
next engine object or nil if none
- prev ()
-
get previous engine in the internal list
Returns:
-
engine
previous engine object or nil if none
- add ()
-
add engine to the internal list for lookup by id or name
Returns:
-
boolean
true on success, false on failure
- remove ()
-
remove engine from the internal list
Returns:
-
boolean
true on success, false on failure
- register ([unregister=false[, algorithms]])
-
register engine for specific algorithms
Parameters:
- unregister boolean true to unregister, false to register (default false)
- algorithms string algorithm types to register for (e.g., “ALL”, “RSA”, “DSA”) (optional)
Returns:
-
boolean
true on success, false on failure
- ctrl (cmd[, arg])
-
control engine operations and settings
Parameters:
- cmd number or string control command (number) or command string
- arg any command argument (varies by command) (optional)
Returns:
-
boolean or any
result depends on command type
- id ([id])
-
get or set engine identifier
Parameters:
- id string new engine ID to set (optional)
Returns:
-
string or boolean
engine ID (if getting) or success status (if setting)
- name ([name])
-
get or set engine name
Parameters:
- name string new engine name to set (optional)
Returns:
-
string or boolean
engine name (if getting) or success status (if setting)
- flags ([flags])
-
get or set engine flags
Parameters:
- flags number new engine flags to set (optional)
Returns:
-
number or boolean
engine flags (if getting) or success status (if setting)
- init ()
-
initialize an engine for use
Returns:
-
boolean
true on success, false on failure
- finish ()
-
release an initialized engine
Returns:
-
boolean
true on success, false on failure
- set_default (...)
-
set engine as default for specified algorithm types
Parameters:
- ... string algorithm types (“RSA”, “DSA”, “DH”, “RAND”, “ECDH”, “ECDSA”, “CIPHERS”, “DIGESTS”, “STORE”, “complete”)
Returns:
-
boolean
true on success, false on failure
- set_rand_engine ()
-
set random number generator engine
Returns:
-
boolean
result true for success
- load_private_key (key_id)
-
load private key from engine
Parameters:
- key_id string key identifier
Returns:
-
evp_pkey
private key object or nil if failed
- load_public_key (key_id)
-
load public key from engine
Parameters:
- key_id string key identifier
Returns:
-
evp_pkey
public key object or nil if failed
- load_ssl_client_cert (ssl)
-
load SSL client certificate from engine
Parameters:
- ssl ssl SSL connection object
Returns:
-
boolean
result true for success