OPENSSL-ENGINE(1ossl)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 15.1

πŸ’… OPENSSL-ENGINE(1ossl) β€” the group chat edition

okay so bestie, before we even start: this is the openssl-engine page from the OpenSSL manual. sit down, grab a strawberry drink πŸ“, and let's get into it.


✨ NAME ✨

openssl-engine β€” load and query engines πŸŽ€


🌸 SYNOPSIS 🌸

openssl engine [-help] [-v] [-vv] [-vvv] [-vvvv] [-c] [-t] [-tt] [-pre
command] ...  [-post command] ...  [engine ...]

πŸ¦‹ DESCRIPTION πŸ¦‹

⚠️ bestie. hear me first. This command has been deprecated. Providers should be used instead of engines. like, that's the official vibe. periodt.

But okay, for the lore: this command is used to query the status and capabilities of the specified engines. Engines may be specified before and after all other command-line flags β€” iconic, honestly, the flexibility of it all β€” and only the ones you actually specify get queried. no cap.


πŸ’– OPTIONS πŸ’–

  • -help β€” shows you an option summary. the "what is even happening" button 🫢
  • -v, -vv, -vvv, -vvvv β€” gives you info about each specified engine, and the more v's you stack the more it spills:
    • -v lists all the possible run-time control commands
    • -vv adds a description of each command
    • -vvv adds the input flags
    • -vvvv adds the internal input flags β€” final boss mode πŸ‘‘
  • -c β€” lists the capabilities of each engine.
  • -t β€” tests if each specified engine is available, and displays the answer. lowkey a vibe check for engines.
  • -tt β€” displays an error trace for any unavailable engine. πŸ’€
  • -pre command and -post command β€” command-line configuration of engines. -pre command is given to the engine before it is loaded, and -post command is given after the engine is loaded. the command is of the form cmd:val where cmd is the command, and val is the value for the command. see the example below, i gotchu.
bestie note: these two options are cumulative, so they may be given more than once in the same command. stack 'em πŸ’…

🌈 EXAMPLES 🌈

To list all the commands available to a dynamic engine:

$ openssl engine -t -tt -vvvv dynamic
(dynamic) Dynamic engine loading support
     [ unavailable ]
     SO_PATH: Specifies the path to the new ENGINE shared library
          (input flags): STRING
     NO_VCHECK: Specifies to continue even if version checking fails (boolean)
          (input flags): NUMERIC
     ID: Specifies an ENGINE id name for loading
          (input flags): STRING
     LIST_ADD: Whether to add a loaded ENGINE to the internal list (0=no,1=yes,2=mandatory)
          (input flags): NUMERIC
     DIR_LOAD: Specifies whether to load from 'DIR_ADD' directories (0=no,1=yes,2=mandatory)
          (input flags): NUMERIC
     DIR_ADD: Adds a directory from which ENGINEs can be loaded
          (input flags): STRING
     LOAD: Load up the ENGINE specified by other settings
          (input flags): NO_INPUT

To list the capabilities of the rsax engine:

$ openssl engine -c
(rsax) RSAX engine support
 [RSA]
(dynamic) Dynamic engine loading support

πŸŽ€ ENVIRONMENT πŸŽ€

  • OPENSSL_ENGINES β€” the path to the engines directory. it's giving "where the girls are stored" πŸ’–

πŸ’œ SEE ALSO πŸ’œ

openssl(1), config(5) β€” go read those too, i'm literally obsessed with cross-references ✨


🌟 HISTORY 🌟

This command was deprecated in OpenSSL 3.0. rip bozo, we hardly knew ye 😭


Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.


and that's the whole page, bestie πŸ’… this was OpenSSL 3.5.6, dated 2026-04-07, straight from the OPENSSL-ENGINE(1ossl) manpage β€” slay, drink water, and go use providers instead πŸ§šβ€β™€οΈπŸ«Ά

πŸ“¦ where this page comes from