Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -487,6 +487,9 @@ wrapper/Ada/obj/
wolfssl/debug-trace-error-codes.h
wolfssl/debug-untrace-error-codes.h

# AI tool configuration
.ai/
.claude/
AGENTS.md
CLAUDE.md

Expand All @@ -495,3 +498,13 @@ compile_commands.json

# Python cache
__pycache__/

# Beads issue tracker
.beads/
.dolt/
*.db
.beads-credential-key

# Caliptra hw-model test binary
wolfcrypt/src/port/caliptra/sim/caliptra_test_bin
wolfcrypt/src/port/caliptra/sim/*.o
41 changes: 40 additions & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -3201,6 +3201,41 @@ case "$ENABLED_STSAFE" in
esac


# Caliptra Cryptographic Mailbox
AC_ARG_ENABLE([caliptra],
[AS_HELP_STRING([--enable-caliptra],[enable Caliptra cryptographic mailbox CryptoCb port; implies --enable-cryptocb (default: disabled)])],
[ ENABLED_CALIPTRA=$enableval ],
[ ENABLED_CALIPTRA=no ]
)
if test "x$ENABLED_CALIPTRA" = "xyes"
then
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_CALIPTRA"
AM_CFLAGS="$AM_CFLAGS -DWOLF_CRYPTO_CB_FREE"
# Caliptra requires WOLF_CRYPTO_CB and WOLF_CRYPTO_CB_FREE.
# ENABLED_CRYPTOCB is forced to yes below, alongside the cryptocb
# AC_ARG_ENABLE processing, so this declaration ordering is robust.
fi

# Caliptra software simulator: provides caliptra_mailbox_exec() so that
# libwolfssl and example binaries link without a real hardware backend.
# Enabled by default when --enable-caliptra is on; disable for production
# builds that supply their own caliptra_mailbox_exec() implementation.
AC_ARG_ENABLE([caliptra-sim],
[AS_HELP_STRING([--disable-caliptra-sim],[Disable bundled Caliptra software simulator; requires integrator-supplied caliptra_mailbox_exec() (default: enabled when --enable-caliptra)])],
[ ENABLED_CALIPTRA_SIM=$enableval ],
[ ENABLED_CALIPTRA_SIM=yes ]
)
if test "x$ENABLED_CALIPTRA" = "xno"
then
ENABLED_CALIPTRA_SIM=no
fi
if test "x$ENABLED_CALIPTRA_SIM" = "xyes"
then
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_CALIPTRA_SIM"
AC_MSG_WARN([Caliptra software simulator enabled (default). This is for offline development and test only -- production builds must pass --disable-caliptra-sim and supply a real caliptra_mailbox_exec() implementation.])
fi


# NXP SE050
# Example: "./configure --with-se050=/home/pi/simw_top"
ENABLED_SE050="no"
Expand Down Expand Up @@ -10620,7 +10655,7 @@ AC_ARG_ENABLE([cryptocb-sw-test],
[ ENABLED_CRYPTOCB_SW_TEST=yes ]
)

if test "x$ENABLED_PKCS11" = "xyes" || test "x$ENABLED_WOLFTPM" = "xyes" || test "$ENABLED_CAAM" != "no"
if test "x$ENABLED_PKCS11" = "xyes" || test "x$ENABLED_WOLFTPM" = "xyes" || test "$ENABLED_CAAM" != "no" || test "x$ENABLED_CALIPTRA" = "xyes"
then
ENABLED_CRYPTOCB=yes
fi
Expand Down Expand Up @@ -12370,6 +12405,8 @@ AM_CONDITIONAL([BUILD_IOTSAFE_HWRNG],[test "x$ENABLED_IOTSAFE_HWRNG" = "xyes"])
AM_CONDITIONAL([BUILD_SE050],[test "x$ENABLED_SE050" = "xyes"])
AM_CONDITIONAL([BUILD_STSAFE],[test "x$ENABLED_STSAFE" != "xno"])
AM_CONDITIONAL([BUILD_TROPIC01],[test "x$ENABLED_TROPIC01" = "xyes"])
AM_CONDITIONAL([BUILD_CALIPTRA],[test "x$ENABLED_CALIPTRA" = "xyes"])
AM_CONDITIONAL([BUILD_CALIPTRA_SIM],[test "x$ENABLED_CALIPTRA_SIM" = "xyes"])
AM_CONDITIONAL([BUILD_KDF],[test "x$ENABLED_KDF" = "xyes"])
AM_CONDITIONAL([BUILD_HMAC],[test "x$ENABLED_HMAC" = "xyes"])
AM_CONDITIONAL([BUILD_ERROR_STRINGS],[test "x$ENABLED_ERROR_STRINGS" = "xyes"])
Expand Down Expand Up @@ -12940,6 +12977,8 @@ echo " * IoT-Safe HWRNG: $ENABLED_IOTSAFE_HWRNG"
echo " * NXP SE050: $ENABLED_SE050"
echo " * STMicro STSAFE: $ENABLED_STSAFE"
echo " * TROPIC01: $ENABLED_TROPIC01"
echo " * Caliptra: $ENABLED_CALIPTRA"
echo " * Caliptra Sim: $ENABLED_CALIPTRA_SIM"
echo " * Maxim Integrated MAXQ10XX: $ENABLED_MAXQ10XX"
echo " * PSA: $ENABLED_PSA"
echo " * System CA certs: $ENABLED_SYS_CA_CERTS"
Expand Down
10 changes: 10 additions & 0 deletions wolfcrypt/src/include.am
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,16 @@ if BUILD_TROPIC01
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/tropicsquare/tropic01.c
endif

if BUILD_CALIPTRA
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/caliptra/caliptra_port.c
endif
if BUILD_CALIPTRA_SIM
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/caliptra/sim/caliptra_sim.c
endif
EXTRA_DIST += wolfcrypt/src/port/caliptra/caliptra_port.c \
wolfcrypt/src/port/caliptra/README.md \
wolfcrypt/src/port/caliptra/sim/caliptra_sim.c

if BUILD_PSA
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/psa/psa.c
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/psa/psa_hash.c
Expand Down
Loading
Loading