wolfSSL support for the ATECC608 Crypto Coprocessor
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 nativewc_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_TNGTLSPK 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_cbWe 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.