PRODUCTS

wolfCrypt JNI and JCE Provider

For Java developers that want to leverage the industry-leading wolfCrypt cryptography library implementation, wolfCrypt JNI provides a Java interface to the native C library.

wolfCrypt JNI includes both a thin JNI wrapper around the wolfCrypt C library, as well as a higher-level wolfCrypt JCE provider.

Download Now

Get the latest open source GPLv2 version now!

Version: 1.0.0
Release Date: 7/10/2017
View ChangeLog

Highlights

  • Industry-leading native crypto
  • Java JNI wrapper
  • Java JCE Provider
  • Tested against multiple JDK implementations

Flexibility

  • Allows applications to have control over their crypto
  • Gain portability of native wolfSSL and wolfCrypt libraries

Time-Saving

  • Eliminates need to write custom JNI
  • Based on industry-leading wolfSSL

Platform and Language Support

The native wolfSSL library is built for maximum portability and is generally very easy to compile on new platforms.  If your desired platform is not listed under the supported operating environments, please contact us.

Commercial Support

Support packages for wolfSSL and wolfCrypt JNI/JCE are available on an annual basis directly from wolfSSL.  With three different package options, you can compare them side-by-side and choose the package that best fits your specific needs.  Please see our Support Packages page for more details or contact us with any questions.

JDK Support

wolfCrypt JNI and JCE have been tested against multiple JDK implementations including Oracle JDK, OpenJDK, and Android’s JDK implementation.

Ships with Signed JAR Files

Oracle JDK requires JCE providers to be signed.  This signed JAR is then authenticated at runtime.  wolfCrypt JNI includes JAR files that have been pre-signed by wolfSSL to get you up and running quickly!

FIPS Support

Do you need FIPS 140-2?  The wolfCrypt JNI and JCE Provider can sit on top of the FIPS 140-2 validated wolfCrypt library.  Learn more about our FIPS 140-2 validation!

Algorithm Expansion

wolfCrypt JNI currently includes a subset of algorithm functionality found in the native wolfCrypt C library.  If you are interested in an algorithm not currently supported in the JNI/JCE wrapper, let us know at info@wolfssl.com.

wolfSSL Training Course

Interested in getting trained by security experts on subjects related to wolfSSL and SSL/TLS?  Learn more.

JNI Wrapper Features

  • Hash Functions: MD5, SHA-1, SHA-256, SHA-384, SHA-512
  • Block Ciphers: AES (CBC), 3DES
  • Public Key Options:  RSA, ECDSA
  • HMAC MD5, SHA-1, SHA-256, SHA-384, SHA-512, Blake2b
  • Key Agreement: DH, ECDH
  • RSA and ECC Key Generation
  • Hardware Cryptography Support: Intel AES-NI, AVX1/2, RDRAND, RDSEED, SGX, Cavium NITROX, Intel QuickAssist, STM32F2/F4, Freescale/NXP (CAU, mmCAU, SEC, LTC), Microchip PIC32MZ, ARMv8

JCE Provider Features

  • java.security.MessageDigest: MD5, SHA-1, SHA-256, SHA-384, SHA-512
  • java.security.SecureRandom: HashDRBG
  • javax.crypto.Cipher: AES/CBC/NoPadding, DESede/CBC/NoPadding, RSA/ECB/PKCS1Padding
  • javax.crypto.Mac: HmacMD5, HmacSHA1, HmacSHA256, HmacSHA384, HmacSHA512
  • java.security.Signature: MD5withRSA, SHA1withRSA, SHA256withRSA, SHA384withRSA, SHA512withRSA, SHA1withECDSA, SHA256withECDSA, SHA384withECDSA, SHA512withECDSA
  • javax.crypto.KeyAgreement: DiffieHellman, DH, ECDH
  • java.security.KeyPairGenerator: EC, DH

Supported Chipmakers (wolfCrypt)

Supported Operating Environments (wolfCrypt)

  • Win32/64, Linux, Mac OS X, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, embedded Linux, WinCE, Haiku, OpenWRT, iPhone (iOS), Android, Nintendo Wii and Gamecube through DevKitPro, QNX, MontaVista, OpenCL, NonStop, TRON/ITRON/µITRON, Micrium's µC/OS, FreeRTOS, SafeRTOS, Freescale MQX, Nucleus, TinyOS, HP/UX, ARC MQX, TI-RTOS
  • If you would like to test wolfSSL on another environment, let us know and we’ll be happy to support you.

Licensing and Ordering:

wolfCrypt JNI/JCE are dual licensed under both the GPLv2 and commercial licensing. For more information, please see the following links.