@@ -60,14 +60,15 @@ if ("${WOLFSSL_PKG_TYPE}" MATCHES "normal")
6060 -DTFM_TIMING_RESISTANT -DECC_TIMING_RESISTANT
6161 -DHAVE_AESGCM -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8
6262
63+ # Defines added for debugging. These can be removed if debug logging is not needed
64+ # and will increase performance and reduce library footprint size if removed.
65+ -DEBUG_WOLFSSL
66+
6367 # Defines added for wolfCrypt test and benchmark only, may not be needed for your
6468 # own application.
6569 -DUSE_CERT_BUFFERS_2048 -DUSE_CERT_BUFFERS_256 -DNO_WRITE_TEMP_FILES
6670 -DNO_FILESYSTEM -DNO_MAIN_DRIVER
67-
68- # Defines added for debugging. These can be removed if debug logging is not needed
69- # and will increase performance and reduce library footprint size if removed.
70- -DEBUG_WOLFSSL )
71+ )
7172
7273elseif ("${WOLFSSL_PKG_TYPE} " MATCHES "fipsready" )
7374 # Add preprocessor defines to CFLAGS, these match those placed into
@@ -116,7 +117,8 @@ elseif("${WOLFSSL_PKG_TYPE}" MATCHES "fipsready")
116117 # Below options are added only for wolfCrypt test and benchmark applications.
117118 # These can be left off / removed when integrating into a real-world application.
118119 -DNO_FILESYSTEM -DUSE_CERT_BUFFERS_2048 -DUSE_CERT_BUFFERS_256
119- -DNO_WRITE_TEMP_FILES -DNO_MAIN_DRIVER )
120+ -DNO_WRITE_TEMP_FILES -DNO_MAIN_DRIVER
121+ )
120122endif ()
121123
122124if ("$WOLFSSL_MATH_LIB" MATCHES "fastmath" )
@@ -150,6 +152,9 @@ aux_source_directory(${wolfssl_DIR}/src TLS_SOURCES)
150152list (REMOVE_ITEM TLS_SOURCES ${wolfssl_DIR} /src/bio.c)
151153list (REMOVE_ITEM TLS_SOURCES ${wolfssl_DIR} /src/conf.c)
152154list (REMOVE_ITEM TLS_SOURCES ${wolfssl_DIR} /src/pk.c)
155+ list (REMOVE_ITEM TLS_SOURCES ${wolfssl_DIR} /src/ssl_bn.c)
156+ list (REMOVE_ITEM TLS_SOURCES ${wolfssl_DIR} /src/ssl_asn1.c)
157+ list (REMOVE_ITEM TLS_SOURCES ${wolfssl_DIR} /src/ssl_certman.c)
153158list (REMOVE_ITEM TLS_SOURCES ${wolfssl_DIR} /src/ssl_misc.c)
154159list (REMOVE_ITEM TLS_SOURCES ${wolfssl_DIR} /src/x509.c)
155160list (REMOVE_ITEM TLS_SOURCES ${wolfssl_DIR} /src/x509_str.c)
@@ -264,3 +269,71 @@ target_link_libraries(
264269 wolfssljni
265270 wolfssl
266271)
272+
273+ # --------------------------- wolfCrypt CryptoCb Source Files --------------------------------------
274+ # set which cryptocb subsystem (if any) will be used
275+ set (WOLFSSL_CRYPTOCB_TYPE "" )
276+ #set(WOLFSSL_CRYPTOCB_TYPE "ccb_vaultic")
277+
278+ # Support for ccb_vaultic
279+ if ("${WOLFSSL_CRYPTOCB_TYPE} " MATCHES "ccb_vaultic" )
280+ set (cryptocb_DIR ${CMAKE_SOURCE_DIR} /../../../ccb_vaultic)
281+ add_definitions (
282+ -DWOLF_CRYPTO_CB -DWOLF_CRYPTO_CB_CMD
283+ )
284+ include_directories (
285+ ${cryptocb_DIR}
286+ )
287+
288+ add_library (ccbvaultic SHARED
289+ ${cryptocb_DIR} /ccb_vaultic.c )
290+
291+ # TODO Add support for other architectures
292+ if ("${ANDROID_ABI} " MATCHES "arm64-v8a" )
293+ add_definitions (
294+ -DHAVE_CCBVAULTIC -DWC_USE_DEVID=0x56490420 -DBENCH_EMBEDDED
295+ #-DCCBVAULTIC_NO_AES
296+ #-DCCBVAULTIC_NO_RSA
297+ -DCCBVAULTIC_NO_SHA
298+ #-DCCBVAULTIC_DEBUG
299+ #-DCCBVAULTIC_DEBUG_TIMING
300+ )
301+
302+ set (VAULTIC_DIR ${cryptocb_DIR} /VaultIC-TLS_420/vaultic_tls-4xx)
303+ set (VAULTIC_CHIP 420)
304+ set (CHIP_TARGET TARGETCHIP_VAULTIC_${VAULTIC_CHIP} )
305+ add_definitions ( -D${CHIP_TARGET} -DUSE_SPI )
306+
307+ set (VAULTIC_ELIB ${VAULTIC_DIR} /VaultIC-Elib_${VAULTIC_CHIP} /src )
308+ include_directories (
309+ ${VAULTIC_ELIB} /common
310+ ${VAULTIC_ELIB} /device/vaultic_4XX_family
311+ )
312+ SET (VAULTIC_TLS ${VAULTIC_DIR} /lib/VaultIC_420_TLS_Lib/target/raspberry/dist)
313+ include_directories (
314+ ${VAULTIC_TLS}
315+ )
316+
317+ # Select whether to use the debug or release static hardware library
318+ #SET(VAULTIC_TLS_LIB ${VAULTIC_TLS}/VaultIC_420_TLS_Lib-SPI-Debug/libvaultic420_tls.a)
319+ SET (VAULTIC_TLS_LIB ${VAULTIC_TLS} /VaultIC_420_TLS_Lib-SPI-Release/libvaultic420_tls.a)
320+
321+ # Link ccbvaultic to static hardware library
322+ target_link_libraries (
323+ ccbvaultic
324+ PRIVATE ${VAULTIC_TLS_LIB}
325+ )
326+ endif () #arm64-v8a
327+
328+ # Link ccbvaultic to wolfssl and log
329+ target_link_libraries (
330+ ccbvaultic
331+ PUBLIC wolfssl
332+ PUBLIC ${lib-log}
333+ )
334+ # Link wolfssljni to ccbvaultic
335+ target_link_libraries (
336+ wolfssljni
337+ ccbvaultic
338+ )
339+ endif () #ccb_vaultic
0 commit comments