Is your feature request related to a problem? Please describe.
All of our products use cryptography for a lot of reasons. Actually, some of the shared libraries here also do so (JWTUtils).
Usually all of them use OpenSSL, but this is a quite complex library, with methods that require a lot of parameters and initialization functions. A library that encapsulated all of the uses of OpenSSL in a single set of functions would ensure that all of us use it in the same way, and would allow a unique point to find issues.
Also, OpenSSL needs to be updated to the latest versions for security reasons. If we encapsulate its use in a wrapper, we would only need to update this wrapper whenever we want to use a new version (and fix upgrade issues only in this wrapper).
Describe the solution you'd like
An interface of common cryptographic functions used. As examples:
Encrypt/decrypt file symetrically
Encrypt/decrypt stream symetrically
Generate hash
Encrypt using public key/decript using private key
Generate signature using private key/verify signature using public key
And an implementation of this interface
Describe alternatives you've considered
Currently, there is an internal SecurityUtils library that some projects use. However, it does not have an interface library. An option would be to implement this interface using this library
Is your feature request related to a problem? Please describe. All of our products use cryptography for a lot of reasons. Actually, some of the shared libraries here also do so (JWTUtils). Usually all of them use OpenSSL, but this is a quite complex library, with methods that require a lot of parameters and initialization functions. A library that encapsulated all of the uses of OpenSSL in a single set of functions would ensure that all of us use it in the same way, and would allow a unique point to find issues. Also, OpenSSL needs to be updated to the latest versions for security reasons. If we encapsulate its use in a wrapper, we would only need to update this wrapper whenever we want to use a new version (and fix upgrade issues only in this wrapper).
Describe the solution you'd like An interface of common cryptographic functions used. As examples:
Describe alternatives you've considered Currently, there is an internal SecurityUtils library that some projects use. However, it does not have an interface library. An option would be to implement this interface using this library
Additional context