X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=doc%2Fman7%2Fprovider-keymgmt.pod;h=aa2be41acc33d8d40e70599eacf9f9ce26b427cd;hb=363b1e5daea4a01889e6ff27148018be63d33b9b;hp=279256d5672fbd178418779feda1a08bcf815b12;hpb=ce82b892e8b86d68d02096554b4e07af7f095368;p=oweals%2Fopenssl.git diff --git a/doc/man7/provider-keymgmt.pod b/doc/man7/provider-keymgmt.pod index 279256d567..aa2be41acc 100644 --- a/doc/man7/provider-keymgmt.pod +++ b/doc/man7/provider-keymgmt.pod @@ -6,7 +6,7 @@ provider-keymgmt - The KEYMGMT library E-E provider functions =head1 SYNOPSIS - #include + #include /* * None of these are actual functions, but are displayed like this for @@ -15,30 +15,42 @@ provider-keymgmt - The KEYMGMT library E-E provider functions */ /* Key object (keydata) creation and destruction */ - void *OP_keymgmt_new(void *provctx); - void OP_keymgmt_free(void *keydata); + void *OSSL_FUNC_keymgmt_new(void *provctx); + void OSSL_FUNC_keymgmt_free(void *keydata); + + void *OSSL_FUNC_keymgmt_gen_init(void *provctx, int selection); + int OSSL_FUNC_keymgmt_gen_set_template(void *genctx, void *template); + int OSSL_FUNC_keymgmt_gen_set_params(void *genctx, const OSSL_PARAM params[]); + const OSSL_PARAM *OSSL_FUNC_keymgmt_gen_settable_params(void *provctx); + void *OSSL_FUNC_keymgmt_gen(void *genctx, OSSL_CALLBACK *cb, void *cbarg); + void OSSL_FUNC_keymgmt_gen_cleanup(void *genctx); /* Key object information */ - int OP_keymgmt_get_params(void *keydata, OSSL_PARAM params[]); - const OSSL_PARAM *OP_keymgmt_gettable_params(void); - int OP_keymgmt_set_params(void *keydata, const OSSL_PARAM params[]); - const OSSL_PARAM *OP_keymgmt_settable_params(void); + int OSSL_FUNC_keymgmt_get_params(void *keydata, OSSL_PARAM params[]); + const OSSL_PARAM *OSSL_FUNC_keymgmt_gettable_params(void); + int OSSL_FUNC_keymgmt_set_params(void *keydata, const OSSL_PARAM params[]); + const OSSL_PARAM *OSSL_FUNC_keymgmt_settable_params(void); /* Key object content checks */ - int OP_keymgmt_has(void *keydata, int selection); + int OSSL_FUNC_keymgmt_has(void *keydata, int selection); + int OSSL_FUNC_keymgmt_match(const void *keydata1, const void *keydata2, + int selection); /* Discovery of supported operations */ - const char *OP_keymgmt_query_operation_name(int operation_id); + const char *OSSL_FUNC_keymgmt_query_operation_name(int operation_id); /* Key object import and export functions */ - int OP_keymgmt_import(int selection, void *keydata, const OSSL_PARAM params[]); - const OSSL_PARAM *OP_keymgmt_import_types(int selection); - int OP_keymgmt_export(int selection, void *keydata, - OSSL_CALLBACK *param_cb, void *cbarg); - const OSSL_PARAM *OP_keymgmt_export_types(int selection); + int OSSL_FUNC_keymgmt_import(int selection, void *keydata, const OSSL_PARAM params[]); + const OSSL_PARAM *OSSL_FUNC_keymgmt_import_types(int selection); + int OSSL_FUNC_keymgmt_export(int selection, void *keydata, + OSSL_CALLBACK *param_cb, void *cbarg); + const OSSL_PARAM *OSSL_FUNC_keymgmt_export_types(int selection); + + /* Key object copy */ + int OSSL_FUNC_keymgmt_copy(void *keydata_to, const void *keydata_from, int selection); /* Key object validation */ - int OP_keymgmt_validate(void *keydata, int selection); + int OSSL_FUNC_keymgmt_validate(void *keydata, int selection); =head1 DESCRIPTION @@ -62,34 +74,43 @@ provider_query_operation() function All these "functions" have a corresponding function type definition named B, and a helper function to retrieve the function pointer from a B element named -B. -For example, the "function" OP_keymgmt_new() has these: +B. +For example, the "function" OSSL_FUNC_keymgmt_new() has these: - typedef void *(OSSL_OP_keymgmt_new_fn)(void *provctx); - static ossl_inline OSSL_OP_keymgmt_new_fn - OSSL_get_OP_keymgmt_new(const OSSL_DISPATCH *opf); + typedef void *(OSSL_FUNC_keymgmt_new_fn)(void *provctx); + static ossl_inline OSSL_FUNC_keymgmt_new_fn + OSSL_FUNC_keymgmt_new(const OSSL_DISPATCH *opf); B arrays are indexed by numbers that are provided as -macros in L, as follows: +macros in L, as follows: - OP_keymgmt_new OSSL_FUNC_KEYMGMT_NEW - OP_keymgmt_free OSSL_FUNC_KEYMGMT_FREE + OSSL_FUNC_keymgmt_new OSSL_FUNC_KEYMGMT_NEW + OSSL_FUNC_keymgmt_free OSSL_FUNC_KEYMGMT_FREE - OP_keymgmt_get_params OSSL_FUNC_KEYMGMT_GET_PARAMS - OP_keymgmt_gettable_params OSSL_FUNC_KEYMGMT_GETTABLE_PARAMS - OP_keymgmt_set_params OSSL_FUNC_KEYMGMT_SET_PARAMS - OP_keymgmt_settable_params OSSL_FUNC_KEYMGMT_SETTABLE_PARAMS + OSSL_FUNC_keymgmt_gen_init OSSL_FUNC_KEYMGMT_GEN_INIT + OSSL_FUNC_keymgmt_gen_set_template OSSL_FUNC_KEYMGMT_GEN_SET_TEMPLATE + OSSL_FUNC_keymgmt_gen_set_params OSSL_FUNC_KEYMGMT_GEN_SET_PARAMS + OSSL_FUNC_keymgmt_gen_settable_params OSSL_FUNC_KEYMGMT_GEN_SETTABLE_PARAMS + OSSL_FUNC_keymgmt_gen OSSL_FUNC_KEYMGMT_GEN + OSSL_FUNC_keymgmt_gen_cleanup OSSL_FUNC_KEYMGMT_GEN_CLEANUP - OP_keymgmt_query_operation_name OSSL_FUNC_KEYMGMT_QUERY_OPERATION_NAME + OSSL_FUNC_keymgmt_get_params OSSL_FUNC_KEYMGMT_GET_PARAMS + OSSL_FUNC_keymgmt_gettable_params OSSL_FUNC_KEYMGMT_GETTABLE_PARAMS + OSSL_FUNC_keymgmt_set_params OSSL_FUNC_KEYMGMT_SET_PARAMS + OSSL_FUNC_keymgmt_settable_params OSSL_FUNC_KEYMGMT_SETTABLE_PARAMS - OP_keymgmt_has OSSL_FUNC_KEYMGMT_HAS - OP_keymgmt_validate OSSL_FUNC_KEYMGMT_VALIDATE + OSSL_FUNC_keymgmt_query_operation_name OSSL_FUNC_KEYMGMT_QUERY_OPERATION_NAME - OP_keymgmt_import OSSL_FUNC_KEYMGMT_IMPORT - OP_keymgmt_import_types OSSL_FUNC_KEYMGMT_IMPORT_TYPES - OP_keymgmt_export OSSL_FUNC_KEYMGMT_EXPORT - OP_keymgmt_export_types OSSL_FUNC_KEYMGMT_EXPORT_TYPES + OSSL_FUNC_keymgmt_has OSSL_FUNC_KEYMGMT_HAS + OSSL_FUNC_keymgmt_validate OSSL_FUNC_KEYMGMT_VALIDATE + OSSL_FUNC_keymgmt_match OSSL_FUNC_KEYMGMT_MATCH + OSSL_FUNC_keymgmt_import OSSL_FUNC_KEYMGMT_IMPORT + OSSL_FUNC_keymgmt_import_types OSSL_FUNC_KEYMGMT_IMPORT_TYPES + OSSL_FUNC_keymgmt_export OSSL_FUNC_KEYMGMT_EXPORT + OSSL_FUNC_keymgmt_export_types OSSL_FUNC_KEYMGMT_EXPORT_TYPES + + OSSL_FUNC_keymgmt_copy OSSL_FUNC_KEYMGMT_COPY =head2 Key Objects @@ -180,44 +201,73 @@ the other half. =head2 Constructing and Destructing Functions -OP_keymgmt_new() should create a provider side key object. The +OSSL_FUNC_keymgmt_new() should create a provider side key object. The provider context I is passed and may be incorporated in the key object, but that is not mandatory. -OP_keymgmt_free() should free the passed I. +OSSL_FUNC_keymgmt_free() should free the passed I. + +OSSL_FUNC_keymgmt_gen_init(), OSSL_FUNC_keymgmt_gen_set_template(), +OSSL_FUNC_keymgmt_gen_set_params(), OSSL_FUNC_keymgmt_gen_settable_params(), +OSSL_FUNC_keymgmt_gen() and OSSL_FUNC_keymgmt_gen_cleanup() work together as a more +elaborate context based key object constructor. + +OSSL_FUNC_keymgmt_gen_init() should create the key object generation context +and initialize it with I, which will determine what kind +of contents the key object to be generated should get. + +OSSL_FUNC_keymgmt_gen_set_template() should add I