saltyrtc / saltyrtc-client-java

SaltyRTC Java implementation.
Apache License 2.0
3 stars 4 forks source link

Create CryptoProvider abstraction #95

Closed dbrgn closed 5 years ago

dbrgn commented 6 years ago

Add an abstraction over the concrete NaCl implementation. This allows swapping out the pure-java jnacl implementation with another one that has better performance characteristics (e.g. using NaCl native code or with libsodium).

The jnacl library remains vendorized, a JnaclCryptoProvider instance is provided for convenience and testing.

Fixes #92.

dbrgn commented 5 years ago

Branch updated. Tests now use lazysodium-java with precompiled libsodium builds included. This simplifies testing.

In production, a custom implementation should be used though for performance and target platform reasons.