CryptoAuthLib
Atmel CryptoAuthentication Library
File List
Here is a list of all files with brief descriptions:
 all_atcacert_tests.c
 atca_basic.cCryptoAuthLib Basic API methods. These methods provide a simpler way to access the core crypto methods. Their design center is around the most common modes and functions of each command rather than the complete implementation of each possible feature of the chip. If you need a feature not supplied in the Basic API, you can achieve the feature through the datasheet level command supplied through the ATCADevice and ATCACommand object
 atca_basic.hCryptoAuthLib Basic API methods - a simple crypto authentication api. These methods manage a global ATCADevice object behind the scenes. They also manage the wake/idle state transitions so callers don't need to
 atca_basic_tests.cUnity tests for the cryptoauthlib Basic API
 atca_basic_tests.hUnity tests for the cryptoauthlib Basic API
 atca_cfgs.cSet of default configurations for various ATCA devices and interfaces
 atca_cfgs.hSet of default configurations for various ATCA devices and interfaces
 atca_command.cAtmel CryptoAuthentication device command builder - this is the main object that builds the command byte strings for the given device. It does not execute the command. The basic flow is to call a command method to build the command you want given the parameters and then send that byte string through the device interface
 atca_command.hAtmel Crypto Auth device command object - this is a command builder only, it does not send the command. The result of a command method is a fully formed packet, ready to send to the ATCAIFace object to dispatch
 atca_compiler.hATCA is meant to be portable across architectures, even non-Atmel architectures and compiler environments. This file is for isolating compiler specific macros
 atca_crypto_sw.hCommon defines for CryptoAuthLib software crypto wrappers
 atca_crypto_sw_ecdsa.cAPI wrapper for software ECDSA verify. Currently unimplemented but could be implemented via a 3rd party library such as MicroECC
 atca_crypto_sw_ecdsa.hCopyright (c) 2015 Atmel Corporation. All rights reserved
 atca_crypto_sw_rand.cAPI wrapper for software random
 atca_crypto_sw_rand.hCopyright (c) 2015 Atmel Corporation. All rights reserved
 atca_crypto_sw_sha1.cWrapper API for SHA 1 routines
 atca_crypto_sw_sha1.hWrapper API for SHA 1 routines
 atca_crypto_sw_sha2.cWrapper API for software SHA 256 routines
 atca_crypto_sw_sha2.hWrapper API for software SHA 256 routines
 atca_crypto_sw_tests.cUnity tests for the CryptoAuthLib software crypto API
 atca_crypto_sw_tests.hUnity tests for the CryptoAuthLib software crypto API
 atca_device.cAtmel CryptoAuth device object
 atca_device.hAtmel Crypto Auth device object
 atca_devtypes.hAtmel Crypto Auth
 atca_hal.cLow-level HAL - methods used to setup indirection to physical layer interface. this level does the dirty work of abstracting the higher level ATCAIFace methods from the low-level physical interfaces. Its main goal is to keep low-level details from bleeding into the logical interface implemetation
 atca_hal.hLow-level HAL - methods used to setup indirection to physical layer interface
 atca_helpers.cHelpers to support the CryptoAuthLib Basic API methods
 atca_helpers.hHelpers to support the CryptoAuthLib Basic API methods
 atca_host.cHost side methods to support CryptoAuth computations
 atca_host.hDefinitions and Prototypes for ATCA Utility Functions
 atca_iface.cAtmel Crypto Auth hardware interface object
 atca_iface.hAtmel Crypto Auth hardware interface object
 atca_start_config.h
 atca_start_iface.h
 atca_status.hAtmel Crypto Auth status codes
 atca_unit_tests.cUnit tests for CryptoAuthLib. These tests are based on the Unity C unit test framework
 atca_unit_tests.hUnit tests for atcalib
 atcacert.hDeclarations common to all atcacert code
 atcacert_client.cClient side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device
 atcacert_client.hClient side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device
 atcacert_date.cDate handling with regard to certificates
 atcacert_date.hDeclarations for date handling with regard to certificates
 atcacert_def.cMain certificate definition implementation
 atcacert_def.hDeclarations for certificates related to ECC CryptoAuthentication devices. These are the definitions required to define a certificate and its various elements with regards to the CryptoAuthentication ECC devices
 atcacert_der.cFunctions required to work with DER encoded data related to X.509 certificates
 atcacert_der.hFunction declarations required to work with DER encoded data related to X.509 certificates
 atcacert_host_hw.cHost side methods using CryptoAuth hardware
 atcacert_host_hw.hHost side methods using CryptoAuth hardware
 atcacert_host_sw.cHost side methods using software implementations
 atcacert_host_sw.hHost side methods using software implementations. host-side, the one authenticating a client, of the authentication process. Crypto functions are performed using a software library
 atcatls.cCollection of functions for hardware abstraction of TLS implementations (e.g. OpenSSL)
 atcatls.hCollection of functions for hardware abstraction of TLS implementations (e.g. OpenSSL)
 atcatls_cfg.hCollection of functions for hardware abstraction of TLS implementations (e.g. OpenSSL)
 atcatls_tests.c
 atcatls_tests.h
 cryptoauthlib.hSingle aggregation point for all CryptoAuthLib header files
 hal_at88ck9000_timer.cATCA Hardware abstraction layer for AT88CK900X timer/delay over ASF drivers
 hal_i2c_bitbang.cATCA Hardware abstraction layer for I2C bit banging
 hal_i2c_bitbang.hATCA Hardware abstraction layer for I2C bit banging
 hal_linux_kit_cdc.cATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device
 hal_linux_kit_cdc.hATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device
 hal_linux_timer.cTimer Utility Functions
 hal_sam4s_i2c_asf.cATCA Hardware abstraction layer for SAM4S I2C over ASF drivers
 hal_sam4s_i2c_asf.hATCA Hardware abstraction layer for SAM4S I2C over ASF drivers
 hal_sam4s_timer_asf.cATCA Hardware abstraction layer for SAM4S I2C over ASF drivers
 hal_samd21_i2c_asf.cATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers
 hal_samd21_i2c_asf.hATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers
 hal_samd21_i2c_start.cATCA Hardware abstraction layer for SAMD21 I2C over START drivers
 hal_samd21_i2c_start.hATCA Hardware abstraction layer for SAMD21 I2C over START drivers
 hal_samd21_timer_asf.cATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers
 hal_samd21_timer_start.cATCA Hardware abstraction layer for SAMD21 I2C over START drivers
 hal_samv71_i2c_asf.cATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers
 hal_samv71_i2c_asf.hATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers
 hal_samv71_timer_asf.cATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers
 hal_swi_bitbang.cATCA Hardware abstraction layer for SWI bit banging
 hal_swi_bitbang.hATCA Hardware abstraction layer for SWI bit banging
 hal_swi_uart.cATCA Hardware abstraction layer for SWI over UART drivers
 hal_swi_uart.hATCA Hardware abstraction layer for SWI over UART drivers
 hal_win_kit_cdc.cATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device
 hal_win_kit_cdc.hATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device
 hal_win_kit_hid.cATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device
 hal_win_kit_hid.hATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device
 hal_win_timer.cATCA Hardware abstraction layer for windows timer functions
 hal_xmega_a3bu_i2c_asf.cATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers
 hal_xmega_a3bu_i2c_asf.hATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers
 hal_xmega_a3bu_timer_asf.cATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers
 i2c_bitbang_at88ck9000.cHardware Interface Functions - I2C bit-banged
 i2c_bitbang_at88ck9000.hDefinitions for bit-banged I2C
 kit_phy.hATCA Hardware abstraction layer physical send & receive function definitions
 kit_protocol.cAtmel Crypto Auth hardware interface object
 kit_protocol.hAtmel Crypto Auth hardware interface object
 sha1_routines.cSoftware implementation of the SHA1 algorithm
 sha1_routines.hSoftware implementation of the SHA1 algorithm
 sha2_routines.cSoftware implementation of the SHA256 algorithm
 sha2_routines.hSoftware implementation of the SHA256 algorithm
 swi_bitbang_at88ck9000.cHardware Interface Functions - SWI bit-banged
 swi_bitbang_at88ck9000.hDefinitions for bit-banged SWI
 swi_uart_samd21_asf.cATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers
 swi_uart_samd21_asf.hATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers
 swi_uart_samd21_start.cAtmel Crypto Auth hardware interface object
 swi_uart_samd21_start.hAtmel Crypto Auth hardware interface object
 swi_uart_xmega_a3bu_asf.cATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers
 swi_uart_xmega_a3bu_asf.hATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers
 test_atcacert_client.cCert client tests
 test_atcacert_client_runner.c
 test_atcacert_date.cCert date tests
 test_atcacert_date_runner.c
 test_atcacert_def.cCert definition tests
 test_atcacert_def_runner.c
 test_atcacert_der_ecdsa_sig_value.cCert ecdsa tests
 test_atcacert_der_ecdsa_sig_value_runner.c
 test_atcacert_der_integer.cCert DER format tests
 test_atcacert_der_integer_runner.c
 test_atcacert_der_length.cCert DER length tests
 test_atcacert_der_length_runner.c
 test_atcacert_host_hw.c
 test_atcacert_host_hw_runner.c
 test_cert_def_0_device.c
 test_cert_def_0_device.h
 test_cert_def_1_signer.c
 test_cert_def_1_signer.h
 unity.c
 unity.h
 unity_fixture.c
 unity_fixture.h
 unity_fixture_internals.h
 unity_fixture_malloc_overrides.h
 unity_internals.h