JNI/JCE: update README with note about FIPSv5

pull/97/head
Chris Conlon 2025-01-21 14:25:26 -07:00
parent 560534e3de
commit c9c4f8cbd2
2 changed files with 27 additions and 6 deletions

View File

@ -35,7 +35,16 @@ $ make check
$ sudo make install $ sudo make install
``` ```
**wolfSSL FIPSv2 Build**: **wolfSSL FIPSv2 (FIPS 140-2 Cert 3389) Build**:
```
$ cd wolfssl-x.x.x-commercial-fips
$ ./configure --enable-fips=v2 --enable-jni
$ make check
$ sudo make install
```
**wolfSSL FIPSv5 (FIPS 140-3 Cert 4718) Build**:
``` ```
$ cd wolfssl-x.x.x-commercial-fips $ cd wolfssl-x.x.x-commercial-fips
@ -62,7 +71,7 @@ on building with Maven. Continue reading here for instructions to build with
ant. ant.
1) Compile the native wolfCrypt JNI object files. Two makefiles are distributed, 1) Compile the native wolfCrypt JNI object files. Two makefiles are distributed,
one for Linux (`makefile.linux`) and one for Mac OSX (`makefile.macosx`). First one for Linux (`makefile.linux`) and one for macOS (`makefile.macosx`). First
copy the makefile for your platform to a file called `makefile`: copy the makefile for your platform to a file called `makefile`:
``` ```
@ -208,7 +217,7 @@ on the current release):
<dependency> <dependency>
<groupId>com.wolfssl</groupId> <groupId>com.wolfssl</groupId>
<artifactId>wolfcrypt-jni</artifactId> <artifactId>wolfcrypt-jni</artifactId>
<version>1.7.0-SNAPSHOT</version> <version>1.8.0-SNAPSHOT</version>
</dependency> </dependency>
</dependencies> </dependencies>
... ...

View File

@ -292,11 +292,15 @@ The example can then be run using:
``` ```
$ ./examples/provider/ProviderTest.sh $ ./examples/provider/ProviderTest.sh
``` ```
**CryptoBenchmark** **CryptoBenchmark**
This example benchmarks the performance of cryptographic operations using the wolfJCE provider. It tests AES-CBC with 256-bit key encryption/decryption operations. This example benchmarks the performance of cryptographic operations using the
wolfJCE provider. It tests AES-CBC with 256-bit key encryption/decryption
operations.
Build and run: Build and run:
``` ```
# From wolfcrypt-jni root directory # From wolfcrypt-jni root directory
make # Build native library make # Build native library
@ -305,7 +309,8 @@ ant build-jce-release # Build JCE JAR
# Run benchmark # Run benchmark
./examples/provider/CryptoBenchmark.sh ./examples/provider/CryptoBenchmark.sh
``` ```
This script requires for JAVA_HOME to be set.
This script requires for `JAVA_HOME` to be set.
For Bouncy Castle comparison testing: For Bouncy Castle comparison testing:
@ -314,17 +319,24 @@ CryptoBenchmark.sh will prompt with the following:
``` ```
Would you like to download Bouncy Castle JARs? (y/n) Would you like to download Bouncy Castle JARs? (y/n)
``` ```
If you respond with 'y', the script will download the Bouncy Castle JARs and run the benchmark with Bouncy Castle. At the end of the benchmark, the script will prompt whether or not to remove the Bouncy Castle JAR files.
If you respond with 'y', the script will download the Bouncy Castle JARs and
run the benchmark with Bouncy Castle. At the end of the benchmark, the script
will prompt whether or not to remove the Bouncy Castle JAR files.
If you prefer to download the JARs manually, follow the instructions below: If you prefer to download the JARs manually, follow the instructions below:
Visit [bouncy-castle-java](https://www.bouncycastle.org/download/bouncy-castle-java/) Visit [bouncy-castle-java](https://www.bouncycastle.org/download/bouncy-castle-java/)
Download: Download:
``` ```
bcprov-jdk18on-1.79.jar # Bouncy Castle Provider bcprov-jdk18on-1.79.jar # Bouncy Castle Provider
bctls-jdk18on-1.79.jar # Bouncy Castle DTLS/TLS API/JSSE Provider bctls-jdk18on-1.79.jar # Bouncy Castle DTLS/TLS API/JSSE Provider
``` ```
Copy jar files to wolfcrypt-jni/lib/: Copy jar files to wolfcrypt-jni/lib/:
``` ```
cp bcprov-jdk18on-1.79.jar wolfcrypt-jni/lib cp bcprov-jdk18on-1.79.jar wolfcrypt-jni/lib
cp bctls-jdk18on-1.79.jar wolfcrypt-jni/lib cp bctls-jdk18on-1.79.jar wolfcrypt-jni/lib