Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

One way to use Openssl in different languages ​&ZeroW ...

0
0

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.


Viewing all articles
Browse latest Browse all 12749