Openssl is known to be a standard in crypto world. Openssl is written in pure C, so the problem comes that how to use Opnessl in different languages? such Java. Though Java provides JCE and BouncyCastle , it's hard to know whether they have implementation deviations, i.e., for same input(legal or invalid), JCE and Openssl output different results.

What I come up with so far is to invoke openssl command directly. In real products, how to solve this problem?

Any help is really appreciated.

OpenSSL is using standardized algorithms, this means that no matter which library you use, the decryption result for the same key and algorithm will be the same.

For example:

If you take a BlowFish encryption algorithm with the key "I am a blowfish", and encrypt it with OpenSSL, you can use any library you want to decrypt it and get the same result.

Having said that, it IS possible to use OpenSSL libraries (usually libcrypto and libssl) in any language or OS. It does require some piping though.

In your example, you can use JNI to access OpenSSL library functions directly.

This approach requires that you make sure you have the right libraries for your target architecture and OS.

Personally? I'd see check why there are deviations as that is your main problem.

本文网络安全相关术语:网络安全工程师 网络信息安全 网络安全技术 网络安全知识

本文标题:One way to use Openssl in different languages ​&ZeroW ...

技术大类 技术大类 | 网络安全 | 评论(0) | 阅读(357)