Add an API for cryptographic library abstraction
Description
Cypto module is currently implemented only with MBEDTLS, but the design is supposed to be like the "Common/helper_plateform_dep" interface.
However the design does not identify an interface in one side and an implementation on the other side. The glue between "crypto" lib and s2opc is not clear.
(EDIT) The code has already been partially updated to identify more clearly the dependant interface (#1130 (closed)).
-
The type which have library-dependant implementations must be interfaced in a dedicated file -
may require implementation of #1269 (closed) prior work The existing branch ( rba_1184_crypto_abs_layer
) cannot be rebased due to very complex conflicts with #1130 (closed) - already merged). The work will probably imply reimporting #1130 (closed) manually
This must be explicited in a dedicated .h file to make things clear and ease integration of other libraries.
Implementation
The organization is now the following:
-
src/Common/crypto
: external API to be used for crypto and implementation based on library independent API -
src/Common/crypto/lib_itf
: library independent API to be implemented by each cryptographic library -
src/Common/crypto/lib_dep/<lib_name>
: specific <lib_name> library implementation code
Edited by Vincent Monfort