diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/internal/man3/ossl_provider_new.pod | 14 | ||||
-rw-r--r-- | doc/man1/openssl.pod | 15 | ||||
-rw-r--r-- | doc/man3/OSSL_PROVIDER.pod | 28 | ||||
-rw-r--r-- | doc/perlvars.pm | 3 |
4 files changed, 47 insertions, 13 deletions
diff --git a/doc/internal/man3/ossl_provider_new.pod b/doc/internal/man3/ossl_provider_new.pod index 2c406381e9..54dd3f8a18 100644 --- a/doc/internal/man3/ossl_provider_new.pod +++ b/doc/internal/man3/ossl_provider_new.pod @@ -3,9 +3,8 @@ =head1 NAME ossl_provider_find, ossl_provider_new, ossl_provider_up_ref, -ossl_provider_free, -ossl_provider_set_module_path, -ossl_provider_add_parameter, ossl_provider_set_child, ossl_provider_get_parent, +ossl_provider_free, ossl_provider_set_module_path, +ossl_provider_set_child, ossl_provider_get_parent, ossl_provider_up_ref_parent, ossl_provider_free_parent, ossl_provider_default_props_update, ossl_provider_get0_dispatch, ossl_provider_init_as_child, ossl_provider_deinit_child, @@ -36,8 +35,6 @@ ossl_provider_get_capabilities /* Setters */ int ossl_provider_set_module_path(OSSL_PROVIDER *prov, const char *path); - int ossl_provider_add_parameter(OSSL_PROVIDER *prov, const char *name, - const char *value); /* Child Providers */ int ossl_provider_set_child(OSSL_PROVIDER *prov, @@ -167,13 +164,6 @@ on this in L</NOTES>). ossl_provider_libctx() returns the library context the given provider I<prov> is registered in. -ossl_provider_add_parameter() adds a global parameter for the provider -to retrieve as it sees fit. -The parameters are a combination of I<name> and I<value>, and the -provider will use the name to find the value it wants. -Only text parameters can be given, and it's up to the provider to -interpret them. - ossl_provider_set_child() marks this provider as a child of a provider in the parent library context. I<handle> is the B<OSSL_CORE_HANDLE> object passed to the provider's B<OSSL_provider_init> function. diff --git a/doc/man1/openssl.pod b/doc/man1/openssl.pod index c67f8c68e7..c8bbd9e918 100644 --- a/doc/man1/openssl.pod +++ b/doc/man1/openssl.pod @@ -681,6 +681,21 @@ See L<provider(7)> for a more detailed description. Specifies the search path that is to be used for looking for providers. Equivalently, the B<OPENSSL_MODULES> environment variable may be set. +=item B<-provparam> I<[name:]key=value> + +Set configuration parameter I<key> to value I<val> in provider I<name> +(optional), if I<name> is not specified, the setting will be applied to all +loaded providers. +This option can be specified multiple times, to set multiple parameters. +Options that specify nondefault providers to load should precede this option +if the setting is intended to apply to the to be loaded providers. +Parameters that only affect provider initialisation must, for now, be set in +the configuration file, only parameters that are also queried as needed later +have any affect when set via this interface. +Only UTF8-string-valued parameters are supported. +See the documentation of the specific provider and associated algorithms for +any supported parameters. + =item B<-propquery> I<propq> Specifies the I<property query clause> to be used when fetching algorithms diff --git a/doc/man3/OSSL_PROVIDER.pod b/doc/man3/OSSL_PROVIDER.pod index 2a1531e983..b3889b1ca9 100644 --- a/doc/man3/OSSL_PROVIDER.pod +++ b/doc/man3/OSSL_PROVIDER.pod @@ -11,6 +11,7 @@ OSSL_PROVIDER_gettable_params, OSSL_PROVIDER_get_params, OSSL_PROVIDER_query_operation, OSSL_PROVIDER_unquery_operation, OSSL_PROVIDER_get0_provider_ctx, OSSL_PROVIDER_get0_dispatch, OSSL_PROVIDER_add_builtin, OSSL_PROVIDER_get0_name, OSSL_PROVIDER_get_capabilities, +OSSL_PROVIDER_add_conf_parameter, OSSL_PROVIDER_get_conf_parameters, OSSL_PROVIDER_self_test - provider routines @@ -59,6 +60,10 @@ OSSL_PROVIDER_self_test const char *capability, OSSL_CALLBACK *cb, void *arg); + int OSSL_PROVIDER_add_conf_parameter(OSSL_PROVIDER *prov, const char *name, + const char *value); + int OSSL_PROVIDER_get_conf_parameters(OSSL_PROVIDER *prov, + OSSL_PARAM params[]); int OSSL_PROVIDER_self_test(const OSSL_PROVIDER *prov); =head1 DESCRIPTION @@ -137,6 +142,25 @@ The caller must prepare the L<OSSL_PARAM(3)> array before calling this function, and the variables acting as buffers for this parameter array should be filled with data when it returns successfully. +OSSL_PROVIDER_add_conf_parameter() sets the provider configuration parameter +I<name> to B<value>. +Provider configuration parameters are managed by the OpenSSL core and normally +set in the configuration file, but can also be set early in the main program +before a provider is in use by multiple threads. +Parameters that only affect provider initialisation must, for now, be set in +the configuration file, only parameters that are also queried later have any +affect when set via this interface. +Only text parameters can be given, and it's up to the provider to +interpret them. + +OSSL_PROVIDER_get_conf_parameters() retrieves global configuration parameters +associated with B<prov>. +These configuration parameters are stored for each provider by the OpenSSL core, +not the provider itself, parameters managed by the provider are queried via +B<OSSL_PROVIDER_get_params()> described above. +The parameters are returned by reference, not as copies, and so the elements of +the I<param> array must have B<OSSL_PARAM_UTF8_PTR> as their B<data_type>. + OSSL_PROVIDER_self_test() is used to run a provider's self tests on demand. If the self tests fail then the provider will fail to provide any further services and algorithms. L<OSSL_SELF_TEST_set_callback(3)> may be called @@ -177,7 +201,9 @@ L<provider-base(7)/CAPABILTIIES>. =head1 RETURN VALUES OSSL_PROVIDER_set_default_search_path(), OSSL_PROVIDER_add(), -OSSL_PROVIDER_unload(), OSSL_PROVIDER_get_params() and +OSSL_PROVIDER_unload(), OSSL_PROVIDER_get_params(), +OSSL_PROVIDER_add_conf_parameter(), OSSL_PROVIDER_get_conf_parameters() +and OSSL_PROVIDER_get_capabilities() return 1 on success, or 0 on error. OSSL_PROVIDER_get0_default_search_path() returns a pointer to a path on success, diff --git a/doc/perlvars.pm b/doc/perlvars.pm index 06dac990cf..465c79f112 100644 --- a/doc/perlvars.pm +++ b/doc/perlvars.pm @@ -94,12 +94,15 @@ $OpenSSL::safe::opt_r_item = "" $OpenSSL::safe::opt_provider_synopsis = "" . "[B<-provider> I<name>]\n" . "[B<-provider-path> I<path>]\n" +. "[B<-provparam> I<[name:]key=value>]\n" . "[B<-propquery> I<propq>]"; $OpenSSL::safe::opt_provider_item = "" . "=item B<-provider> I<name>\n" . "\n" . "=item B<-provider-path> I<path>\n" . "\n" +. "=item B<-provparam> I<[name:]key=value>\n" +. "\n" . "=item B<-propquery> I<propq>\n" . "\n" . "See L<openssl(1)/Provider Options>, L<provider(7)>, and L<property(7)>."; |