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.
If you have any questions or run into any issues, contact us at facts@wolfssl.com, or call us at +1 425 245 8247.