Skip to content

TLS_WOLFSSL module

This module implements TLS operations using the wolfSSL libarary. It provides the primitives required by the tls_mgm module in order to expose a higher-level API used by TLS-based protocol modules like proto_tls or proto_wss.

The wolfSSL library is statically-linked and bundled with this module so no installation or external dependency is required.

The following packages must be installed before compiling this module:

  • autoconf.
  • automake.
  • libtool.

The following modules must be loaded before this module:

  • None.

The following libraries or applications must be installed before running OpenSIPS with this module loaded:

  • None.

All these parameters can be used from the opensips.cfg file, to configure the behavior of OpenSIPS-TLS.

Try to use KTLS for RX and TX ( dependent on Kernel support and loaded modules https://docs.kernel.org/networking/tls-offload.htm ) If kernel support is not found, or if the cypher attempted to be used is not supported ( only AES-GCM for now ), then SSL operations will continue to be done in user-space. IF NIC supports SSL offloading, that can also be enabled without any changes needed to the module https://docs.nvidia.com/doca/sdk/ktls-offloads/index.html

Default value is 0.

Set try_use_ktls variable
...
modparam("tls_wolfssl", "try_use_ktls", 1)
...

Q: Why do I get the following error when compiling the module?

If you obtained the OpenSIPS sources by cloning the repository from Github, without using the —recursive option for the git clone command, you did not properly fetch the wolfSSL library code, which is included as a git submodule pointing to the official wolfSSL repository.

In order to fetch the wolfSSL library code you can run:

Terminal window
git submodule update --init

Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)

#NameDevScoreCommitsLines++Lines—
1.Vlad Patrascu (@rvlad-patrascu)51242847130
2.Razvan Crainea (@razvancrainea)2920383276
3.Stefan Darius8512321
4.Vlad Paiu (@vladpaiu)613943
5.Maksym Sobolyev (@sobomax)4222
6.Ross Henderson3196
7.James Stanley3161
8.Bogdan-Andrei Iancu (@bogdan-iancu)3133
9.Liviu Chircu (@liviuchircu)3122
10.Bence Szigeti3111

All remaining contributors: Alexey Vasilyev (@vasilevalex), vladpaiu.

(1) DevScore = author_commits + author_lines_added / (project_lines_added / project_commits) + author_lines_deleted / (project_lines_deleted / project_commits)

(2) including any documentation-related commits, excluding merge commits

(3) ignoring whitespace edits, renamed files and auto-generated files

#NameCommit Activity
1.Stefan DariusJun 2026 - Jul 2026
2.Razvan Crainea (@razvancrainea)Aug 2023 - Jun 2026
3.Ross HendersonFeb 2026 - Feb 2026
4.Vlad Paiu (@vladpaiu)Dec 2025 - Dec 2025
5.vladpaiuJun 2025 - Jun 2025
6.James StanleyFeb 2024 - Feb 2024
7.Liviu Chircu (@liviuchircu)Oct 2023 - Oct 2023
8.Bence SzigetiOct 2023 - Oct 2023
9.Bogdan-Andrei Iancu (@bogdan-iancu)May 2023 - May 2023
10.Vlad Patrascu (@rvlad-patrascu)May 2021 - Mar 2023

All remaining contributors: Maksym Sobolyev (@sobomax), Alexey Vasilyev (@vasilevalex).

(1) including any documentation-related commits, excluding merge commits

Last edited by: Razvan Crainea (@razvancrainea), Vlad Paiu (@vladpaiu), Vlad Patrascu (@rvlad-patrascu).

All documentation files (i.e. .md extension) are licensed under the Creative Common License 4.0