diff options
author | Richard Levitte <levitte@openssl.org> | 2019-03-20 16:53:19 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-04-03 11:42:48 +0200 |
commit | abbc2c408385326d9c9cd60b92a6c92b945c1d96 (patch) | |
tree | dff53671d8409ea59c2f0b7dbc704d6dccbf0fb9 /crypto/conf | |
parent | ac1055ef13ccb5789e2bed7b9688c8eb16dd05ce (diff) | |
download | openssl-new-abbc2c408385326d9c9cd60b92a6c92b945c1d96.tar.gz |
Replumbing: add a configuration module for providers
This configuration module supports a configuration structure pretty
much like the engine configuration module, i.e. something like this:
openssl_conf = openssl_init
[openssl_init]
providers = provider_section
[provider_section]
# Configure the provider named "foo"
foo = foo_section
# Configure the provider named "bar"
bar = bar_section
[foo_section]
# Override name given in the provider section
identity = myfoo
# The exact path of the module. This is platform specific
module_path = /opt/openssl/modules/foo.so
# Whether it should be automatically activated. Value is unimportant
activate = whatever
# Anything else goes as well, and becomes parameters that the
# provider can get
what = 1
# sub-sections will be followed as well
ever = ever_section
[ever_section]
cookie = monster
All the configurations in a provider section and its sub-sections
become parameters for the provider to get, i.e. the "foo" provider
will be able to get values for the following keys (with associated
values shown):
identity => myfoo
module_path => /opt/openssl/modules/foo.so
activate => whatever
what => 1
ever.cookie => monster
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/8549)
Diffstat (limited to 'crypto/conf')
-rw-r--r-- | crypto/conf/conf_mall.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/conf/conf_mall.c b/crypto/conf/conf_mall.c index e1d0e7aef3..28003a8fae 100644 --- a/crypto/conf/conf_mall.c +++ b/crypto/conf/conf_mall.c @@ -14,6 +14,7 @@ #include <openssl/x509.h> #include <openssl/asn1.h> #include <openssl/engine.h> +#include "internal/provider.h" #include "conf_lcl.h" /* Load all OpenSSL builtin modules */ @@ -28,4 +29,5 @@ void OPENSSL_load_builtin_modules(void) #endif EVP_add_alg_module(); conf_add_ssl_module(); + ossl_provider_add_conf_module(); } |