Skip to content

Commit 9a5b711

Browse files
committed
Release v3.7.4 (20240308)
1 parent 8ee1d99 commit 9a5b711

65 files changed

Lines changed: 535 additions & 380 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
*.pdf filter=lfs diff=lfs merge=lfs -text
1+
# Reinstate LFS if pdf sizes increase considerably in the future releases
2+
# *.pdf filter=lfs diff=lfs merge=lfs -text

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
env:
4444
CIBW_SKIP: "cp27-* cp36-* cp37-* pp37-* *-musllinux* pp*-macosx*"
4545
CIBW_MANYLINUX_X86_64_IMAGE: "manylinux_2_28"
46-
CIBW_BEFORE_BUILD_LINUX: "yum update -y && yum install -y libusb-devel"
46+
CIBW_BEFORE_BUILD_LINUX: "yum update -y && yum install -y libusbx-devel"
4747
CIBW_BUILD_VERBOSITY: 3
4848
CIBW_ARCHS_LINUX: "x86_64"
4949
CIBW_ARCHS_MACOS: "x86_64 arm64"

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ cmake_minimum_required(VERSION 3.1.0)
22
project (cryptoauthlib C)
33

44
# Set the current release version
5-
set(VERSION "3.7.3")
5+
set(VERSION "3.7.4")
66
set(VERSION_MAJOR 3)
77
set(VERSION_MINOR 7)
8-
set(VERSION_PATCH 3)
8+
set(VERSION_PATCH 4)
99

1010
# Build Options
1111
option(BUILD_TESTS "Create Test Application with library" OFF)

README.md

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ Introduction
66
This library implements the APIs required to communicate with Microchip Security
77
device. The family of devices supported currently are:
88

9-
|CryptoAuth |CryptoAuth2 ||
10-
|:----------------------------------------------:|:----------------------------------------:|:-------------------------------------:|
11-
|[ATECC608B](https://www.microchip.com/ATECC608B)|[ECC204](https://www.microchip.com/ECC204)
9+
|CryptoAuth |CryptoAuth2 |
10+
|-----------------------------------------------:|:-----------------------------------------|
11+
|[ATECC608B](https://www.microchip.com/ATECC608B)|[ECC204](https://www.microchip.com/ECC204)|
1212
|[ATECC608A](http://www.microchip.com/ATECC608A) |[ECC206](https://www.microchip.com/ECC206)|
1313
|[ATECC508A](http://www.microchip.com/ATECC508A) |[SHA104](https://www.microchip.com/SHA104)|
14-
|[ATECC108A](http://www.microchip.com/ATECC108A) |[SHA105](https://www.microchip.com/SHA105)| |
15-
|[ATSHA204A](http://www.microchip.com/ATSHA204A) |[SHA106](https://www.microchip.com/SHA106)| |
16-
|[ATSHA206A](https://www.microchip.com/ATSHA206A)|[RNG90](https://www.microchip.com/RNG90) | |
14+
|[ATECC108A](http://www.microchip.com/ATECC108A) |[SHA105](https://www.microchip.com/SHA105)|
15+
|[ATSHA204A](http://www.microchip.com/ATSHA204A) |[SHA106](https://www.microchip.com/SHA106)|
16+
|[ATSHA206A](https://www.microchip.com/ATSHA206A)|[RNG90](https://www.microchip.com/RNG90) |
1717

1818
The best place to start is with the [Microchip Trust Platform](https://www.microchip.com/design-centers/security-ics/trust-platform)
1919

@@ -30,9 +30,12 @@ Prerequisite hardware to run CryptoAuthLib examples:
3030
Alternatively a Microchip MCU and Adapter Board:
3131
- [ATSAMR21 Xplained Pro]( http://www.microchip.com/atsamr21-xpro )
3232
or [ATSAMD21 Xplained Pro]( http://www.microchip.com/ATSAMD21-XPRO )
33-
- [CryptoAuth Xplained Pro Extension](http://www.microchip.com/developmenttools/productdetails.aspx?partno=atcryptoauth-xpro-b )
34-
or [CryptoAuthentication SOIC Socket Board](http://www.microchip.com/developmenttools/productdetails.aspx?partno=at88ckscktsoic-xpro )
33+
- [CryptoAuthentication SOIC Socket Board](http://www.microchip.com/developmenttools/productdetails.aspx?partno=at88ckscktsoic-xpro )
3534
to accept SOIC parts
35+
- [ATECC608B mikroBUS evaluation board](https://www.microchip.com/en-us/development-tool/DT100104)
36+
- [ECC204 mikroBUS evaluation board](https://www.microchip.com/en-us/development-tool/ev92r58a)
37+
- [SHA104/SHA105 mikroBUS evaluation board](https://www.microchip.com/en-us/development-tool/ev97m19a)
38+
- [TA010 mikroBUS evaluation board](https://www.microchip.com/en-us/development-tool/EV74C12A)
3639

3740
For most development, using socketed top-boards is preferable until your
3841
configuration is well tested, then you can commit it to a CryptoAuth Xplained
@@ -45,12 +48,6 @@ Examples
4548

4649
- Install the [Trust Platform Design Suite](https://www.microchip.com/en-us/products/security/trust-platform ) to access Use Case examples
4750
for the different Security Solutions (ATECC608, SHA104/105, ECC204, TA010, TA100…)
48-
- Node Authentication Example Using Asymmetric PKI is a complete, all-in-one
49-
example demonstrating all the stages of crypto authentication starting from
50-
provisioning the Crypto Authentication device ATECC608/ATECC508A with keys
51-
and certificates to demonstrating an authentication sequence using
52-
asymmetric techniques.
53-
http://www.microchip.com/SWLibraryWeb/product.aspx?product=CryptoAuthLib
5451

5552
Configuration
5653
-----------

app/kit_host/ascii_kit_host.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,8 @@ void kit_host_task(ascii_kit_host_context_t* ctx)
686686
}
687687
ctx->phy->send((void*)ctx->phy, ctx->buffer, txlen);
688688

689+
memset(ctx->buffer, '\0', sizeof(ctx->buffer));
690+
689691
ptr = ctx->buffer;
690692
}
691693
}

cryptoauthlib-manual.pdf

2.34 MB
Binary file not shown.

harmony/config/cryptoauthlib.py

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
_TA_PATHS = ['atcacert/*', 'talib/*']
3939
_SHA206_PATHS = ['api_206a/*']
4040
_EXCL_FILES = ['atca_utils_sizes.c']
41+
_WOLFCRYPTO_FILES = ['wolfssl/*']
4142

4243
def CALSecFileUpdate(symbol, event):
4344
symObj = event['symbol']
@@ -246,8 +247,7 @@ def onAttachmentConnected(source, target):
246247
calEnableWolfCrypto = srcComponent.getSymbolByID('CAL_ENABLE_WOLFCRYPTO')
247248
calEnableWolfCrypto.setValue(True)
248249

249-
WolfCrypto = srcComponent.getSymbolByID('CAL_FILE_SRC_WOLFSSL_WRAPPER')
250-
WolfCrypto.setEnabled(True)
250+
updateFileEnable(srcComponent, _WOLFCRYPTO_FILES, True)
251251

252252
calTaEnableAesAuth = srcComponent.getSymbolByID('CAL_ENABLE_TA10x_AES_AUTH')
253253
calTaEnableAesAuth.setValue(True)
@@ -296,8 +296,7 @@ def onAttachmentDisconnected(source, target):
296296
WolfCrypto = srcComponent.getSymbolByID('CAL_ENABLE_WOLFCRYPTO')
297297
WolfCrypto.setValue(False)
298298

299-
WolfCrypto = srcComponent.getSymbolByID('CAL_FILE_SRC_WOLFSSL_WRAPPER')
300-
WolfCrypto.setEnabled(False)
299+
updateFileEnable(srcComponent, _WOLFCRYPTO_FILES, False)
301300

302301
calTaEnableAesAuth = srcComponent.getSymbolByID('CAL_ENABLE_TA10x_AES_AUTH')
303302
calTaEnableAesAuth.setValue(False)
@@ -344,6 +343,10 @@ def instantiateComponent(calComponent):
344343
AddFilesDir(calComponent, 'app', search_path, 'library/cryptoauthlib/app',
345344
'config/{}/library/cryptoauthlib/app'.format(configName), enable=False)
346345

346+
for search_path in _WOLFCRYPTO_FILES:
347+
AddFilesDir(calComponent, 'lib', search_path, 'library/cryptoauthlib',
348+
'config/{}/library/cryptoauthlib'.format(configName), enable=False)
349+
347350
# Add individual files
348351
for hal_file in _HAL_FILES:
349352
AddFilesDir(calComponent, 'lib/hal', hal_file, 'library/cryptoauthlib/hal',
@@ -844,15 +847,6 @@ def instantiateComponent(calComponent):
844847
calEnableWolfCrypto.setValue(False)
845848
calEnableWolfCrypto.setVisible(False)
846849

847-
calLibWolfSSLSrcFile = calComponent.createFileSymbol("CAL_FILE_SRC_WOLFSSL_WRAPPER", None)
848-
calLibWolfSSLSrcFile.setSourcePath("lib/wolfssl/atca_wolfssl_interface.c")
849-
calLibWolfSSLSrcFile.setOutputName("atca_wolfssl_interface.c")
850-
calLibWolfSSLSrcFile.setDestPath("library/cryptoauthlib/wolfssl")
851-
calLibWolfSSLSrcFile.setProjectPath("config/" + configName + "/library/cryptoauthlib/wolfssl/")
852-
calLibWolfSSLSrcFile.setType('SOURCE')
853-
calLibWolfSSLSrcFile.setEnabled(False)
854-
calLibWolfSSLSrcFile.setDependencies(CALSecFileUpdate, ["CAL_NON_SECURE"])
855-
856850
# Add HAL Drivers
857851
calLibI2cHalSrcFile = calComponent.createFileSymbol("CAL_FILE_SRC_HAL_I2C", None)
858852
calLibI2cHalSrcFile.setSourcePath("lib/hal/hal_i2c_harmony.c")

lib/atca_compiler.h

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
#define ATCA_UINT32_HOST_TO_LE(x) (x)
4444
#define ATCA_UINT16_HOST_TO_BE(x) ((((x) & 0x00FF) << 8) | (((x) & 0xFF00) >> 8))
4545
#define ATCA_UINT16_BE_TO_HOST(x) ((((x) & 0x00FF) << 8) | (((x) & 0xFF00) >> 8))
46-
#define ATCA_UINT32_HOST_TO_BE(x) ((((x) & 0x000000FFU) << 24U) | (((x) & 0x0000FF00U) << 8U) | (((x) & 0x00FF0000U) >> 8U) | (((x) & 0xFF000000U) >> 24U))
47-
#define ATCA_UINT32_BE_TO_HOST(x) ((((x) & 0x000000FFU) << 24U) | (((x) & 0x0000FF00U) << 8U) | (((x) & 0x00FF0000U) >> 8U) | (((x) & 0xFF000000U) >> 24U))
46+
#define ATCA_UINT32_HOST_TO_BE(x) ((((x) & 0x000000FFUL) << 24U) | (((x) & 0x0000FF00UL) << 8U) | (((x) & 0x00FF0000UL) >> 8U) | (((x) & 0xFF000000UL) >> 24U))
47+
#define ATCA_UINT32_BE_TO_HOST(x) ((((x) & 0x000000FFUL) << 24U) | (((x) & 0x0000FF00UL) << 8U) | (((x) & 0x00FF0000UL) >> 8U) | (((x) & 0xFF000000UL) >> 24U))
4848
#define ATCA_UINT64_HOST_TO_BE(x) ((uint64_t)ATCA_UINT32_HOST_TO_BE((uint32_t)(x)) << 32 + (uint64_t)ATCA_UINT32_HOST_TO_BE((uint32_t)((x) >> 32)))
4949
#define ATCA_UINT64_BE_TO_HOST(x) ((uint64_t)ATCA_UINT32_BE_TO_HOST((uint32_t)(x)) << 32 + (uint64_t)ATCA_UINT32_BE_TO_HOST((uint32_t)((x) >> 32)))
5050
#define SHARED_LIB_EXPORT
@@ -197,7 +197,7 @@
197197

198198
#elif defined __ICCARM__
199199
/* IAR ARM ------------------------------------------- */
200-
#pragma diag_suppress=Pe161 //Unknown pragma warning
200+
#pragma diag_suppress=Pe161 //Unknown pragma warning
201201

202202
#include <intrinsics.h>
203203
#if __LITTLE_ENDIAN__ == 0
@@ -256,4 +256,13 @@
256256
#define ATCA_PACKED __attribute__ ((packed))
257257
#endif
258258

259+
/** \def UNUSED_VAR
260+
* Enables removal of compiler warning due to unused variables
261+
*/
262+
#ifdef ATCA_UNUSED_VAR_CHECK
263+
#define UNUSED_VAR(x) ((void)(x))
264+
#else
265+
#define UNUSED_VAR(x)
266+
#endif
267+
259268
#endif /* ATCA_COMPILER_H_ */

lib/atca_config_check.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,13 @@
128128
#define ATCA_HEAP
129129
#endif
130130

131+
/** \def ATCA_UNUSED_VAR_CHECK
132+
* Enables removal of compiler warning due to unused variables
133+
*/
134+
#ifndef ATCA_UNUSED_VAR_CHECK
135+
#define ATCA_UNUSED_VAR_CHECK (DEFAULT_ENABLED)
136+
#endif
137+
131138
/**** AES command ****/
132139

133140
/** \def ATCAB_AES

lib/atca_version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@
3030
#define ATCA_VERSION_H
3131

3232
// Version format yyyymmdd
33-
#define ATCA_LIBRARY_VERSION_DATE "20240131"
33+
#define ATCA_LIBRARY_VERSION_DATE "20240308"
3434
#define ATCA_LIBRARY_VERSION_MAJOR 3
3535
#define ATCA_LIBRARY_VERSION_MINOR 7
36-
#define ATCA_LIBRARY_VERSION_BUILD 3
36+
#define ATCA_LIBRARY_VERSION_BUILD 4
3737

3838
#endif /* ATCA_VERSION_H */

0 commit comments

Comments
 (0)