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
generated by LDoc 1.5.0 Last updated 2025-09-22 19:55:54