wolfSSL embedded SSL/TLS support the latest Microchip ATECC508 and ATECC608 I2C cryptographic coprocessors.
Prerequisites:
- Requires the Microchip CryptoAuthLib (https://github.com/MicrochipTech/cryptoauthlib.git)
Examples:
- wolfSSL uses PK (Public Key) callbacks for the TLS crypto operations
- wolfCrypt uses the WOLFSSL_ATECC508A or WOLFSSL_ATECC608A macros to enable native `wc_ecc_*` API support
- The README.md and reference PK callbacks can be found here: https://github.com/wolfSSL/wolfssl/tree/master/wolfcrypt/src/port/atmel
- Additional demos for wolfSSL TLS Client/Server and wolfCrypt test/benchmarks can be found: https://github.com/wolfSSL/microchip-atecc-demos
Preprocessor Macros:
- WOLFSSL_ATECC508A
- WOLFSSL_ATECC608A
- WOLFSSL_ATECC_PKCB
- WOLFSSL_ATMEL
- WOLFSSL_ATECC_DEBUG
- WOLFSSL_ATECC_TNGTLS
PK Callbacks:
wolfSSL’s TLS layer PK callbacks expose API’s to set ECC callbacks. These are enabled with:
#define HAVE_PK_CALLBACKS or ./configure --enable-pkcallbacks.
Reference API’s:
- atcatls_create_key_cb
- atcatls_verify_signature_cb
- atcatls_sign_certificate_cb
- Atcatls_create_pms_cb
We plan on adding support for the new 608A PRF and HKDF for TLS 1.2 and TLS 1.3 speed improvements.
For more questions please email us at facts@wolfssl.com.