Skip to content

Commit 2eeb8f1

Browse files
Merge pull request #97 from cconlon/1.8release
Prep for 1.8 Release
2 parents 81a7fee + ea2cf25 commit 2eeb8f1

File tree

8 files changed

+144
-68
lines changed

8 files changed

+144
-68
lines changed

ChangeLog.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
### wolfCrypt JNI Release 1.8.0 (01/23/2025)
2+
3+
Release 1.8.0 of wolfCrypt JNI and JCE has bug fixes and new features including:
4+
5+
**New JCE Functionality:**
6+
- Add Java security property support for mapping JKS/PKCS12 to WKS type (PR 83)
7+
8+
**JNI and JCE Changes:**
9+
- Run FIPS CASTs once up front to prevent threaded app errors (PR 84, 91)
10+
11+
**Example Changes:**
12+
- Define `WOLFSSL_CUSTOM_CONFIG` in Android Studio project builds (PR 85)
13+
- Add basic JCE cryptography benchmark app (PR 88, 89, 93, 94)
14+
15+
**Testing Changes:**
16+
- Add GitHub Action testing Maven (pom.xml) build on macOS and Linux (PR 82)
17+
18+
The wolfCrypt JNI/JCE Manual is available at:
19+
https://www.wolfssl.com/documentation/manuals/wolfcryptjni/. For build
20+
instructions and more details comments, please check the manual.
21+
122
### wolfCrypt JNI Release 1.7.0 (11/11/2024)
223

324
Release 1.7.0 of wolfCrypt JNI and JCE has bug fixes and new features including:

IDE/Android/app/src/main/cpp/CMakeLists.txt

Lines changed: 90 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -87,32 +87,32 @@ if ("${WOLFSSL_PKG_TYPE}" MATCHES "normal")
8787
elseif("${WOLFSSL_PKG_TYPE}" MATCHES "fipsready")
8888
# The wolfCrypt FIPS In Core Integrity checksum will vary with compiler
8989
# versions, runtime library versions, target hardware, and build type.
90-
# Anytime the module is shifted up or down in memory or loaded from a
91-
# new memory location the hash will change. This is expected during
92-
# normal development cycles but should be stable in a production
93-
# deployment. The verifyCore[] hash can be manually updated in
90+
# Anytime the module is shifted up or down in memory or loaded from a new
91+
# memory location the hash will change. This is expected during normal
92+
# development cycles but should be stable in a production deployment.
93+
# The verifyCore[] hash can be manually updated in
9494
# 'wolfcrypt/src/fips_test.c' and the app recompiled. Or, the define
9595
# WOLFCRYPT_FIPS_CORE_HASH_VALUE can be set below, which is helpful
96-
# for Android Studio, which builds for all these architectures in the
97-
# same build.
96+
# for Android Studio, which builds for all these architectures in the same
97+
# build.
9898
#
9999
# The hash values below are only for reference and will need to
100100
# be updated to match your build. To update this value:
101101
#
102102
# 1. Build and install your app which contains wolfCrypt FIPS
103103
# 2. Run your app on each architecture, looking at the logcat output
104104
# to see the expected verifyCore[] hash value.
105-
# 3. Copy the expected hash value from logcat to the proper
106-
# architecture section below.
105+
# 3. Copy the expected hash value from logcat to the proper architecture
106+
# section below.
107107
# 4. Re-build your application now that the expected hash value has
108108
# been set.
109109
# 5. Re-install and re-run your application on each architecture to
110110
# confirm the hash is stable and application runs as expected.
111111
#
112112
# NOTE: If using wolfSSL FIPS Ready or FIPS proper with this sample
113-
# application and run into the scenario where the verifyCore[] hash
114-
# output at runtime is empty, consider checking/increasing the size of
115-
# the MAX_FIPS_DATA_SZ define in 'wolfcrypt/src/fips_test.c'.
113+
# application and run into the scenario where the verifyCore[] hash output
114+
# at runtime is empty, consider checking/increasing the size of the
115+
# MAX_FIPS_DATA_SZ define in 'wolfcrypt/src/fips_test.c'.
116116

117117
if("${ANDROID_ABI}" MATCHES "arm64-v8a")
118118
# https://developer.android.com/ndk/guides/abis#arm64-v8a
@@ -129,44 +129,64 @@ elseif("${WOLFSSL_PKG_TYPE}" MATCHES "fipsready")
129129
endif()
130130

131131
# Add preprocessor defines to CFLAGS, these match those placed into
132-
# wolfssl/options.h by configure if using: "./configure" on a Unix/Linux
133-
# platform. The options below have been chosen to match a FIPS Ready
134-
# build, and are based on the example user_settings.h file located here:
135-
# https://github.com/wolfSSL/wolfssl/blob/master/examples/configs/user_settings_fipsv5.h
132+
# wolfssl/options.h by configure if using the following configure on a Unix/Linux
133+
# platform with a wolfSSL FIPS Ready GPLv3 bundle:
134+
#
135+
# ./configure --enable-fips=ready --enable-jni
136+
#
136137
# This list may be configurable depending on use case and desired
137-
# optimizations, being careful not to break FIPS compatibility if
138-
# targeting FIPS proper in the future.
139-
add_definitions(-DHAVE_FIPS -DHAVE_FIPS_VERSION=5 -DHAVE_FIPS_VERSION_MINOR=3
140-
-DHAVE_HASHDRBG -DHAVE_THREAD_LS -DHAVE_REPRODUCIBLE_BUILD
141-
-DFP_MAX_BITS=16384 -DSP_INT_BITS=8192 -DWOLFSSL_PUBLIC_MP
142-
-DTFM_TIMING_RESISTANT -DECC_TIMING_RESISTANT -DWC_RSA_BLINDING
143-
-DWC_RNG_SEED_CB -DWOLFSSL_VALIDATE_ECC_IMPORT
144-
-DWOLFSSL_VALIDATE_ECC_KEYGEN -DWOLFSSL_VALIDATE_FFC_IMPORT
145-
-DWOLFSSL_TLS13 -DHAVE_TLS_EXTENSIONS -DHAVE_ENCRYPT_THEN_MAC
146-
-DHAVE_SUPPORTED_CURVES -DHAVE_EXTENDED_MASTER -DHAVE_ONE_TIME_AUTH
147-
-DHAVE_SECURE_RENEGOTIATION -DHAVE_SERVER_RENEGOTIATION_INFO -DHAVE_SESSION_TICKET
148-
-DWOLFSSL_USE_ALIGN -DWOLFSSL_BASE64_ENCODE -DHAVE_CRL
149-
-DHAVE_EXT_CACHE -DWOLFSSL_VERIFY_CB_ALL_CERTS -DWOLFSSL_ALWAYS_VERIFY_CB
150-
-DWOLFSSL_DH_EXTRA -DWOLFSSL_WOLFSSH -DOPENSSL_EXTRA -DOPENSSL_ALL
151-
-DHAVE_FFDHE_Q -DHAVE_FFDHE_2048 -DHAVE_FFDHE_3072 -DHAVE_FFDHE_4096
152-
-DHAVE_FFDHE_6144 -DHAVE_FFDHE_8192 -DHAVE_DH_DEFAULT_PARAMS -DHAVE_PUBLIC_FFDHE
153-
-DHAVE_ECC -DTFM_ECC256 -DECC_SHAMIR -DHAVE_ECC_CDH -DECC_USER_CURVES
154-
-DHAVE_ECC256 -DHAVE_ECC384 -DHAVE_ECC521 -DWOLFSSL_ECDSA_SET_K
155-
-DWC_RSA_PSS -DWOLFSSL_KEY_GEN -DWC_RSA_NO_PADDING
156-
-DWOLFSSL_AES_COUNTER -DHAVE_AESCCM -DHAVE_AES_ECB -DWOLFSSL_AES_DIRECT
157-
-DWOLFSSL_AES_OFB -DHAVE_AESGCM -DGCM_TABLE_4BIT -DWOLFSSL_CMAC
158-
-DWOLFSSL_SHA224 -DWOLFSSL_SHA512 -DWOLFSSL_SHA384 -DWOLFSSL_NO_SHAKE256
159-
-DWOLFSSL_NOSHA512_224 -DWOLFSSL_NOSHA512_256 -DWOLFSSL_SHA3 -DHAVE_HKDF
160-
-DNO_OLD_TLS -DNO_PSK -DNO_DO178
161-
-DNO_RC4 -DNO_MD4 -DNO_MD5 -DNO_DES3 -DNO_DSA -DNO_RABBIT
162-
163-
-DWOLFSSL_JNI -DHAVE_EX_DATA -DHAVE_OCSP -DHAVE_CRL_MONITOR
164-
-DWOLFSSL_CERT_EXT -DWOLFSSL_CERT_GEN -DHAVE_SNI -DHAVE_ALPN
165-
-DWOLFSSL_ENCRYPTED_KEYS -DNO_ERROR_QUEUE -DWOLFSSL_EITHER_SIDE
166-
-DWOLFSSL_PSS_LONG_SALT -DWOLFSSL_TICKET_HAVE_ID
167-
-DWOLFSSL_ERROR_CODE_OPENSSL -DWOLFSSL_EXTRA_ALERTS
168-
-DWOLFSSL_FORCE_CACHE_ON_TICKET -DWOLFSSL_AKID_NAME -DHAVE_CTS
169-
-DKEEP_PEER_CERT -DSESSION_CERTS
138+
# optimizations, being careful not to break FIPS compatibility if targeting
139+
# FIPS proper in the future. Please contact [email protected] for assistance
140+
# properly compiling for use with wolfCrypt FIPS variants.
141+
add_definitions(
142+
-DWOLFSSL_FIPS_READY -DHAVE_FIPS -DHAVE_FIPS_VERSION=7
143+
-DHAVE_FIPS_VERSION_MAJOR=7 -DHAVE_FIPS_VERSION_MINOR=0
144+
-DHAVE_FIPS_VERSION_PATCH=0 -DWC_RNG_SEED_CB -DHAVE_THREAD_LS
145+
146+
-DWOLFSSL_WOLFSSH -DNO_DO178 -DHAVE_REPRODUCIBLE_BUILD -DWC_NO_ASYNC_THREADING
147+
-DNO_OLD_TLS -DWOLFSSL_TLS13 -DHAVE_TLS_EXTENSIONS -DHAVE_SNI
148+
-DHAVE_KEYING_MATERIAL -DHAVE_TLS_EXTENSIONS -DHAVE_SUPPORTED_CURVES
149+
-DHAVE_EXTENDED_MASTER -DHAVE_ENCRYPT_THEN_MAC -DWOLFSSL_JNI -DHAVE_EX_DATA
150+
-DKEEP_PEER_CERT -DWOLFSSL_ALWAYS_VERIFY_CB -DWOLFSSL_DTLS -DOPENSSL_EXTRA
151+
-DOPENSSL_ALL -DWOLFSSL_ERROR_CODE_OPENSSL -DHAVE_CRL -DHAVE_CRL_MONITOR
152+
-DHAVE_OCSP -DPERSIST_SESSION_CACHE -DPERSIST_CERT_CACHE -DATOMIC_USER
153+
-DWOLFSSL_CERT_EXT -DWOLFSSL_CERT_GEN -DWOLFSSL_CERT_REQ -DWOLFSSL_KEY_GEN
154+
-DHAVE_ALPN -DWOLFSSL_ALT_CERT_CHAINS -DSESSION_CERTS -DWOLFSSL_ENCRYPTED_KEYS
155+
-DWOLFSSL_SYS_CA_CERTS -DWOLFSSL_ALT_NAMES -DWOLFSSL_EITHER_SIDE
156+
-DWOLFSSL_TICKET_HAVE_ID -DWOLFSSL_CERT_NAME_ALL
157+
-DHAVE_SERVER_RENEGOTIATION_INFO -DWOLFSSL_ASN_TEMPLATE -DWOLFSSL_ASN_PRINT
158+
-DWOLFSSL_BASE64_ENCODE -DERROR_QUEUE_PER_THREAD -DNO_ERROR_QUEUE
159+
-DTFM_TIMING_RESISTANT -DECC_TIMING_RESISTANT -DWOLFSSL_USE_ALIGN
160+
-DWOLFSSL_PUBLIC_MP
161+
162+
-DWC_RSA_BLINDING -DWC_RSA_PSS -DWOLFSSL_PSS_LONG_SALT -DWC_RSA_NO_PADDING
163+
164+
-DHAVE_ECC -DTFM_ECC256 -DECC_SHAMIR -DECC_MIN_KEY_SZ=192 -DHAVE_ECC_CDH
165+
-DECC_USER_CURVES -DHAVE_ECC192 -DHAVE_ECC224 -DHAVE_ECC256 -DHAVE_ECC384
166+
-DHAVE_ECC521 -DWOLFSSL_ECDSA_SET_K -DWOLFSSL_VALIDATE_ECC_IMPORT
167+
-DWOLFSSL_VALIDATE_ECC_KEYGEN
168+
169+
-DWOLFSSL_VALIDATE_FFC_IMPORT -DHAVE_FFDHE_Q -DHAVE_FFDHE_2048
170+
-DHAVE_FFDHE_3072 -DHAVE_FFDHE_4096 -DHAVE_FFDHE_6144 -DHAVE_FFDHE_8192
171+
-DHAVE_DH_DEFAULT_PARAMS
172+
173+
-DHAVE_HKDF -DHAVE_PBKDF2 -DHAVE_HASHDRBG -DWC_SRTP_KDF -DWOLFSSL_SRTP
174+
175+
-DHAVE_AESGCM -DGCM_TABLE_4BIT -DWOLFSSL_AESGCM_STREAM -DHAVE_AESCCM
176+
-DWOLFSSL_AES_COUNTER -DWOLFSSL_CMAC -DWOLFSSL_AES_OFB -DWOLFSSL_AES_CFB
177+
-DWOLFSSL_AES_XTS -DWOLFSSL_AESXTS_STREAM -DWOLFSSL_AES_DIRECT
178+
-DHAVE_AES_ECB -DHAVE_AES_KEYWRAP -DWOLFSSL_AES_XTS -DHAVE_AES_KEYWRAP
179+
180+
-DHAVE_ED25519 -DHAVE_ED25519_KEY_IMPORT -DHAVE_ED448 -DHAVE_ED448_KEY_IMPORT
181+
-DWOLFSSL_ED448_STREAMING_VERIFY
182+
183+
-DHAVE_CURVE25519 -DHAVE_CURVE448
184+
185+
-DWOLFSSL_SHA224 -DWOLFSSL_SHA384 -DWOLFSSL_SHA512 -DWOLFSSL_NOSHA512_224
186+
-DWOLFSSL_NOSHA512_256 -DWOLFSSL_SHA3 -DWOLFSSL_SHAKE128 -DWOLFSSL_SHAKE256
187+
188+
-DNO_DSA -DNO_RC4 -DNO_MD4 -DNO_DES3 -DNO_DES3_TLS_SUITES
189+
170190
-DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 -DWOLFSSL_CUSTOM_CONFIG
171191

172192
# For gethostbyname()
@@ -175,12 +195,11 @@ elseif("${WOLFSSL_PKG_TYPE}" MATCHES "fipsready")
175195
# Enable below options for wolfSSL debug logging
176196
#-DDEBUG_WOLFSSL -DWOLFSSL_ANDROID_DEBUG
177197

178-
# Below options are added only for wolfCrypt test and benchmark
179-
# applications. These can be left off / removed when integrating
180-
# into a real-world application. Add -DNO_FILESYSTEM to disable
181-
# file system use for wolfCrypt test, but make sure to remove
182-
# this define in production applications as filesystem access
183-
# is required for wolfJCE use.
198+
# Below options are added only for wolfCrypt test and benchmark applications.
199+
# These can be left off / removed when integrating into a real-world application.
200+
# Add -DNO_FILESYSTEM to disable file system use for wolfCrypt test, but make sure
201+
# to remove this define in production applications as filesystem access is required
202+
# for wolfJSSE use.
184203
-DUSE_CERT_BUFFERS_2048 -DUSE_CERT_BUFFERS_256
185204
-DNO_WRITE_TEMP_FILES -DNO_MAIN_DRIVER
186205
)
@@ -196,7 +215,8 @@ elseif("${WOLFSSL_MATH_LIB}" MATCHES "spmath")
196215
-DWOLFSSL_HAVE_SP_RSA -DWOLFSSL_SP_4096
197216
-DWOLFSSL_HAVE_SP_DH
198217
-DWOLFSSL_HAVE_SP_ECC -DWOLFSSL_SP_384 -DWOLFSSL_SP_521
199-
-DWOLFSSL_SP_LARGE_CODE)
218+
-DWOLFSSL_SP_LARGE_CODE
219+
-DFP_MAX_BITS=16384 -DSP_INT_BITS=8192)
200220

201221
# SP Math architecture-specific settings (ex: assembly optimizations)
202222
if("${ANDROID_ABI}" MATCHES "arm64-v8a")
@@ -250,16 +270,21 @@ elseif("${WOLFSSL_PKG_TYPE}" MATCHES "fipsready")
250270
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wolfcrypt_first.c)
251271
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/hmac.c)
252272
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/random.c)
253-
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sha256.c)
254273
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/kdf.c)
255274
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/rsa.c)
256275
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/ecc.c)
257276
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/aes.c)
277+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sha256.c)
258278
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sha.c)
259279
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sha512.c)
260280
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sha3.c)
261281
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/dh.c)
262282
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/cmac.c)
283+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/curve448.c)
284+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/ed448.c)
285+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/curve25519.c)
286+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/ed25519.c)
287+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/pwdbased.c)
263288
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/fips.c)
264289
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/fips_test.c)
265290
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wolfcrypt_last.c)
@@ -283,9 +308,18 @@ elseif("${WOLFSSL_PKG_TYPE}" MATCHES "fipsready")
283308
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/memory.c)
284309
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/asn.c)
285310
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/coding.c)
311+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/md5.c)
286312
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/pwdbased.c)
287313
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/pkcs12.c)
288314
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/tfm.c)
315+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wc_lms.c)
316+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wc_lms_impl.c)
317+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wc_xmss.c)
318+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wc_xmss_impl.c)
319+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/fe_operations.c)
320+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/ge_operations.c)
321+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/fe_448.c)
322+
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/ge_448.c)
289323
endif()
290324

291325
# wolfSSL will be compiled as a SHARED library

README.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,16 @@ $ make check
3535
$ sudo make install
3636
```
3737

38-
**wolfSSL FIPSv2 Build**:
38+
**wolfSSL FIPSv2 (FIPS 140-2 Cert 3389) Build**:
39+
40+
```
41+
$ cd wolfssl-x.x.x-commercial-fips
42+
$ ./configure --enable-fips=v2 --enable-jni
43+
$ make check
44+
$ sudo make install
45+
```
46+
47+
**wolfSSL FIPSv5 (FIPS 140-3 Cert 4718) Build**:
3948

4049
```
4150
$ cd wolfssl-x.x.x-commercial-fips
@@ -62,7 +71,7 @@ on building with Maven. Continue reading here for instructions to build with
6271
ant.
6372

6473
1) Compile the native wolfCrypt JNI object files. Two makefiles are distributed,
65-
one for Linux (`makefile.linux`) and one for Mac OSX (`makefile.macosx`). First
74+
one for Linux (`makefile.linux`) and one for macOS (`makefile.macosx`). First
6675
copy the makefile for your platform to a file called `makefile`:
6776

6877
```
@@ -208,7 +217,7 @@ on the current release):
208217
<dependency>
209218
<groupId>com.wolfssl</groupId>
210219
<artifactId>wolfcrypt-jni</artifactId>
211-
<version>1.7.0-SNAPSHOT</version>
220+
<version>1.8.0-SNAPSHOT</version>
212221
</dependency>
213222
</dependencies>
214223
...

README_JCE.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -292,11 +292,15 @@ The example can then be run using:
292292
```
293293
$ ./examples/provider/ProviderTest.sh
294294
```
295+
295296
**CryptoBenchmark**
296297

297-
This example benchmarks the performance of cryptographic operations using the wolfJCE provider. It tests AES-CBC with 256-bit key encryption/decryption operations.
298+
This example benchmarks the performance of cryptographic operations using the
299+
wolfJCE provider. It tests AES-CBC with 256-bit key encryption/decryption
300+
operations.
298301

299302
Build and run:
303+
300304
```
301305
# From wolfcrypt-jni root directory
302306
make # Build native library
@@ -305,7 +309,8 @@ ant build-jce-release # Build JCE JAR
305309
# Run benchmark
306310
./examples/provider/CryptoBenchmark.sh
307311
```
308-
This script requires for JAVA_HOME to be set.
312+
313+
This script requires for `JAVA_HOME` to be set.
309314

310315
For Bouncy Castle comparison testing:
311316

@@ -314,17 +319,24 @@ CryptoBenchmark.sh will prompt with the following:
314319
```
315320
Would you like to download Bouncy Castle JARs? (y/n)
316321
```
317-
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.
322+
323+
If you respond with 'y', the script will download the Bouncy Castle JARs and
324+
run the benchmark with Bouncy Castle. At the end of the benchmark, the script
325+
will prompt whether or not to remove the Bouncy Castle JAR files.
318326

319327
If you prefer to download the JARs manually, follow the instructions below:
320328

321329
Visit [bouncy-castle-java](https://www.bouncycastle.org/download/bouncy-castle-java/)
330+
322331
Download:
332+
323333
```
324334
bcprov-jdk18on-1.79.jar # Bouncy Castle Provider
325335
bctls-jdk18on-1.79.jar # Bouncy Castle DTLS/TLS API/JSSE Provider
326336
```
337+
327338
Copy jar files to wolfcrypt-jni/lib/:
339+
328340
```
329341
cp bcprov-jdk18on-1.79.jar wolfcrypt-jni/lib
330342
cp bctls-jdk18on-1.79.jar wolfcrypt-jni/lib

build.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<!-- versioning/manifest properties -->
2020
<property name="implementation.vendor" value="wolfSSL Inc." />
2121
<property name="implementation.title" value="wolfCrypt JNI" />
22-
<property name="implementation.version" value="1.7" />
22+
<property name="implementation.version" value="1.8" />
2323

2424
<!-- set properties for this build -->
2525
<property name="src.dir" value="src/main/java/" />

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>com.wolfssl</groupId>
66
<artifactId>wolfcrypt-jni</artifactId>
7-
<version>1.7.0-SNAPSHOT</version>
7+
<version>1.8.0-SNAPSHOT</version>
88
<packaging>jar</packaging>
99
<name>wolfcrypt-jni</name>
1010
<url>https://www.wolfssl.com</url>

src/main/java/com/wolfssl/provider/jce/WolfCryptProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public final class WolfCryptProvider extends Provider {
3737
* Create new WolfCryptProvider object
3838
*/
3939
public WolfCryptProvider() {
40-
super("wolfJCE", 1.7, "wolfCrypt JCE Provider");
40+
super("wolfJCE", 1.8, "wolfCrypt JCE Provider");
4141
registerServices();
4242
}
4343

src/main/java/com/wolfssl/wolfcrypt/WolfObject.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,14 @@ public class WolfObject {
6464
/* Load wolfcryptjni library */
6565
System.loadLibrary("wolfcryptjni");
6666

67+
/* initialize native wolfCrypt library */
68+
init();
69+
6770
/* Run FIPS CAST if we are in FIPS mode. Will only forcefully
6871
* be run once - Fips class keeps track of a successful run. */
6972
if (Fips.enabled) {
7073
Fips.runAllCast_fips();
7174
}
72-
73-
/* initialize native wolfCrypt library */
74-
init();
7575
}
7676

7777
/**

0 commit comments

Comments
 (0)