Skip to content

parallaxsecond/parsec-openssl-provider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

70dd143 · May 23, 2024
May 23, 2024
May 22, 2024
May 20, 2024
May 23, 2024
May 16, 2024
May 23, 2024
Mar 21, 2024
Apr 12, 2024
May 23, 2024
Apr 3, 2024
Nov 24, 2023
May 13, 2024
May 13, 2024
May 22, 2024

Repository files navigation

parsec-openssl-provider

Parsec OpenSSL Provider is an OpenSSL 3.x provider to access the Parsec Service for performing cryptographic operations using hardware backed keys.

Learn more about Parsec here.

The provider should work with any version of the Parsec Service starting from 1.x.x but it is recommended to use the latest available version.

Build Prerequisites

  • OpenSSL 3.x.x libraries and development headers

Building the provider

Use the following commands to build a shared library of the parsec provider that can be dynamically loaded by openssl,

cd parsec-openssl-provider-shared
cargo build

You should be able to find the provider libparsec_openssl_provider_shared.so under /parsec-openssl-provider/target/debug/.

Configuring the provider

The easiest way to load and run the provider is by using the openssl config file. You can add the following section to your existing config file,

[openssl_init]
providers = provider_sect

[provider_sect]
default = default_sect
parsec = parsec_sect

[parsec_sect]
module = /path-to-shared-library/libparsec_openssl_provider_shared.so
activate = 1

[default_sect]
activate = 1

Once configured, you can list the providers loaded using the following command and ensure that parsec is loaded successfully.

openssl list -providers

You can explicitly specify the provider in the above command instead of using the openssl config file as shown below,

openssl list -providers -provider-path /path/to/provider -provider libparsec_openssl_provider_shared

License

The software is provided under Apache-2.0. Contributions to this project are accepted under the same license.