parallaxsecond / parsec-openssl-provider

Parsec OpenSSL Provider
Apache License 2.0
1 stars 1 forks source link

Setup a NULL provider #2

Closed gowthamsk-arm closed 7 months ago

gowthamsk-arm commented 8 months ago

This PR adds NULL provider functionality as a basic setup. There are 4 crates defined in the repo:

  1. openssl-sys2 - provides bindings missing from the existing openssl crate
  2. openssl2 - provides error handling and additional openssl related support functions
  3. parsec-openssl-provider - static library implementing the NULL provider
  4. parsec-openssl-provider-shared - dynamic library setup needed for openssl

Apart from these, there are some basic test files (ci.sh and docker image) that will be part of the CI setup testing the implementation.

Signed-off-by: Gowtham Suresh Kumar gowtham.sureshkumar@arm.com

gowthamsk-arm commented 8 months ago

Will breakdown the commits so its easier to review.

gowthamsk-arm commented 8 months ago

I see that we are dealing with conversions from c and rust in the provider itself. I think it would be good to have an abstraction layer on the openssl2 layer which handles the conversions, and on the provider we just deal make calls to those conversions to get safe Rust types, so that we only deal with Rust on the provider level.

Yes thanks for comment. Will fix this. :)

tgonzalezorlandoarm commented 8 months ago

Should we also add the .h header files with the necessary information for calling bindgen (and include bindgen in the Cargo.toml) so that we can regenerate the bindings for any platforms? This would be consistent with our approach on the rest of the projects

gowthamsk-arm commented 8 months ago

This approach would be better. Will make the changes.

gowthamsk-arm commented 7 months ago

Rebased the PR.