Skip to content

Commit 41b19eb

Browse files
tmaeldanielinux
authored andcommitted
TA100: Microchip Trust Anchor support RSA/ECC
1 parent c71a4dd commit 41b19eb

17 files changed

Lines changed: 2737 additions & 176 deletions

File tree

configure.ac

Lines changed: 38 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2986,15 +2986,41 @@ AC_ARG_WITH([maxq10xx],
29862986
]
29872987
)
29882988

2989+
AC_ARG_ENABLE([microchip],
2990+
[AS_HELP_STRING([--enable-microchip],[Enable wolfSSL support for microchip/atmel 508/608/100 (default: disabled)])],
2991+
[ ENABLED_ATMEL=$enableval ],
2992+
[ ENABLED_ATMEL=no ]
2993+
)
2994+
2995+
if test "$ENABLED_ATMEL" != "no"
2996+
then
2997+
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_MICROCHIP"
2998+
2999+
for v in `echo $ENABLED_ATMEL | tr "," " "`
3000+
do
3001+
case $v in
3002+
508)
3003+
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ATECC508A"
3004+
;;
3005+
3006+
608)
3007+
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ATECC608A"
3008+
;;
3009+
3010+
100)
3011+
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_MICROCHIP_TA100 -DMICROCHIP_DEV_TYPE=TA100"
3012+
;;
3013+
esac
3014+
done
3015+
fi
29893016
# Microchip/Atmel CryptoAuthLib
29903017
ENABLED_CRYPTOAUTHLIB="no"
29913018
trylibatcadir=""
29923019
AC_ARG_WITH([cryptoauthlib],
2993-
[AS_HELP_STRING([--with-cryptoauthlib=PATH],[PATH to CryptoAuthLib install (default /usr/)])],
3020+
[AS_HELP_STRING([--with-cryptoauthlib=PATH],[PATH to CryptoAuthLib install (default /usr)])],
29943021
[
29953022
AC_MSG_CHECKING([for cryptoauthlib])
2996-
CPPFLAGS="$CPPFLAGS -DWOLFSSL_ATECC508A"
2997-
LIBS="$LIBS -lcryptoauth"
3023+
LIBS="$LIBS -lcryptoauth -lwolfssl -lpthread -lrt"
29983024
29993025
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <cryptoauthlib.h>]], [[ atcab_init(0); ]])],[ libatca_linked=yes ],[ libatca_linked=no ])
30003026
@@ -3006,25 +3032,23 @@ AC_ARG_WITH([cryptoauthlib],
30063032
trylibatcadir="/usr"
30073033
fi
30083034
3009-
LDFLAGS="$LDFLAGS -L$trylibatcadir/lib"
3010-
CPPFLAGS="$CPPFLAGS -I$trylibatcadir/lib"
3011-
3012-
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <cryptoauthlib.h>]], [[ atcab_init(0); ]])],[ libatca_linked=yes ],[ libatca_linked=no ])
3013-
3014-
if test "x$libatca_linked" = "xno" ; then
3015-
AC_MSG_ERROR([cryptoauthlib isn't found.
3016-
If it's already installed, specify its path using --with-cryptoauthlib=/dir/])
3035+
if test "$host_cpu" = "aarch64" ; then
3036+
LIB_SUFFIX="/aarch64-linux-gnu"
3037+
else
3038+
LIB_SUFFIX=""
30173039
fi
30183040
3019-
AM_LDFLAGS="$AM_LDFLAGS -L$trylibatcadir/lib"
3020-
AM_CFLAGS="$AM_CFLAGS -I$trylibatcadir/lib"
3041+
LDFLAGS="$LDFLAGS -L$trylibatcadir/lib$LIB_SUFFIX"
3042+
CPPFLAGS="$CPPFLAGS -I$trylibatcadir/include/cryptoauthlib"
3043+
AM_LDFLAGS="$AM_LDFLAGS -L$trylibatcadir/lib$LIB_SUFFIX"
3044+
AM_CFLAGS="$AM_CFLAGS -I$trylibatcadir/include/cryptoauthlib"
3045+
30213046
AC_MSG_RESULT([yes])
30223047
else
30233048
AC_MSG_RESULT([yes])
30243049
fi
30253050
30263051
ENABLED_CRYPTOAUTHLIB="yes"
3027-
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ATECC508A"
30283052
]
30293053
)
30303054

src/pk.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10901,6 +10901,7 @@ int wolfSSL_EC_POINT_set_affine_coordinates_GFp(const WOLFSSL_EC_GROUP* group,
1090110901
}
1090210902

1090310903
#if !defined(WOLFSSL_ATECC508A) && !defined(WOLFSSL_ATECC608A) && \
10904+
!defined(WOLFSSL_MICROCHIP_TA100) && \
1090410905
!defined(HAVE_SELFTEST) && !defined(WOLFSSL_SP_MATH) && \
1090510906
!defined(WOLF_CRYPTO_CB_ONLY_ECC)
1090610907
/* Add two points on the same together.

0 commit comments

Comments
 (0)