Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for different crypto backends #18

Open
rmader opened this issue Oct 9, 2017 · 1 comment
Open

Add support for different crypto backends #18

rmader opened this issue Oct 9, 2017 · 1 comment

Comments

@rmader
Copy link
Contributor

rmader commented Oct 9, 2017

Hello,
as libomemo uses only quite basic functionality from libgcrypt (afaik) , I'd like to make it work with other backends as well, like nss or openssl.
That would make it easier for many projects to include libomemo (for example Thunderbird, which uses nss as it's only crypto backend).

Would you generally accept patches in this direction? It would increase complexity a bit and definitely needs to get reviewed by experienced people, but I think there are some at my university to help with that.

Cheers at thanks for this project!

@gkdr
Copy link
Owner

gkdr commented Oct 10, 2017

Hi, I think this is already easily possible, as the omemo_crypto_provider is not opaque and the code using this library is supposed to instantiate it with three function pointers. The few times crypto operations are performed in the code, such a struct needs to be passed to the function - there are no internal dependencies. The libomemo_crypto module is just supposed to be an example implementation (which I use in my code).
If you actually have a need for that and create a makefile target that does not depend on gcrypt, sure, I'll accept that pull request. So far, the need just didn't arise.
(In fact, I initially used OpenSSL and switched to gcrypt for license reasons, I guess if you really want to you can dig through the old commits and recover the code and offer an alternative target just as well.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants