Skip to content

An extra provider for OpenSSL 3, with stuff that doesn't exist there for diverse reasons, ranging from having fallen so much out of favor that it isn't included even in the legacy provider, to stuff that is too experimental, or needs to mature further before inclusion in OpenSSL's official providers

Notifications You must be signed in to change notification settings

provider-corner/extra

Repository files navigation

github actions ci badge github actions windows ci badge

'Extra' provider

This is an extra provider for OpenSSL 3, with stuff that doesn't exist there for diverse reasons, ranging from having fallen so much out of favor that it isn't included even in OpenSSL's legacy provider, to stuff that is too experimental, or needs to mature further before inclusion in OpenSSL's official providers.

Essentially, if you really want to use some very old algorithm of some sort, or want to play on the bleeding edge, or are in a rush trying something new, chances are you'll find it here.

Your rights and obligations

This provider as a whole is licensed with the Lesser GNU Public License (LGPL), 3.0 or later. Some individual files may be licensed with a different license, that are deemed compatible with the LGPL.

Please see the files themselves, or in some cases .reuse/dep5, to find out what license govern each of them in particular. Please see the LICENSES subdirectory to study the licenses themselves if they aren't in full in the files themselves.

Documentation

The provider as a whole is documented in extra.md, which also holds further links to the documentation of included algorithms.

Contributions

You are welcome to contribute to this project. Please see CONTRIBUTING.md.

Setup source code directory

To complete the source repository, all git submodules must be up to date too. The first time, they need to be initialized too, as follows:

git submodule update --init

The next time, --init can be skipped.

Building

Building this provider requires cmake and a building toolchain that it supports.

Simple configuration, for a system installation of OpenSSL 3:

cmake -S . -B _build

If you have OpenSSL 3 installed somewhere else, do the following instead, with {path} replaced with the directory of an OpenSSL 3 installation:

cmake -DCMAKE_PREFIX_PATH={path} -S . -B _build

To build, do this:

cmake --build _build

The result is _build/extra.so or _build/extra.dll.

Testing

Testing is done using ctest, like this:

(cd _build; ctest)

For more verbosity:

(cd _build; ctest -VV)

About

An extra provider for OpenSSL 3, with stuff that doesn't exist there for diverse reasons, ranging from having fallen so much out of favor that it isn't included even in the legacy provider, to stuff that is too experimental, or needs to mature further before inclusion in OpenSSL's official providers

Resources

Stars

Watchers

Forks

Packages

No packages published