Commit Graph

8 Commits

Author SHA1 Message Date
David Brown e629bf3745 Generalize SHA256 code to allow tinycrypt support
When building with ECDSA P-256 as the signature algorithm, we are still
bringing in SHA256 and some ASN.1 code from mbed TLS.  Fix part of this
by wrapping the hash functions with general routines (inline functions)
allowing to select between mbed TLS and Tinycrypt for the
implementation.

Update the Zephyr config files so that the Tinycrypt version is used
when building the ECDSA P-256 signing variant.
2017-04-27 16:31:12 -06:00
Andrew Boie ae790ddd49 Makefile: update location of target-specific .conf
arduino_101.conf was moved up a level, but the toplevel Makefile
was not updated so that it can be located.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-03-16 14:39:04 -07:00
Andrew Boie 709b8c34ac zephyr: look for board-specific configuration
To build Zephyr as a bootloader will typically require
overriding the default flash regions where the binary lives,
and possibly other board-specific configuration directives.
Look for boot/zephyr/targets/$(BOARD).conf and include it
in the kernel configuration if it exists.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-03-15 10:16:17 -07:00
David Brown 8322c301e3 zephyr: Make makefile clearer about configuration
Separate the signature selection blocks, so that it is clearer to add
another config option for the boot verification.
2017-02-02 08:39:18 -07:00
David Brown 3869e76090 zephyr: Support RSA, and ECDSA P-256 signing
Make it clear in the top-level Makefile how to configure mcuboot for
Zephyr for a particular signing algorithm.  Currently supported, are the
RSA signatures, and ECDSA with the P-256 curve.  These configuration
lines will select the code built in the bootloader, as well as which
public key gets included with the image.

This also adds a demo public key for the P-256 signatures.
2017-02-02 08:39:18 -07:00
David Brown e7c66635cf zephyr: Include mbedtls config file
Rather than commit our specific mbedtls config file into the Zephyr
tree, include it here, and add a path early in the make process so that
it will get picked up when building the library.
2017-01-10 09:51:39 -07:00
David Brown 299245d7de zephyr: Move code under 'boot' directory
The Zephyr build systems makes some assumptions about the directory
layout, and encounters problems if the necessary path contains "../..".
To help this, place the zephyr directory next to the bootutil directory
so that the Makefile can just refer to "../bootutil".  This keeps all of
the build artifacts under the proper top-level directory.
2017-01-10 09:49:47 -07:00
David Brown c331967ae1 zephyr: Move Zephyr build to top level
The Zephyr build system does strange things if it refers to source
directories above the main Makefile (generating
outdir/<target>/../boot/... paths).  For now, fix this by moving the
Zephyr Makefile to the top-level in the tree.  This shouldn't have much
impact on Mynewt, as it doesn't use makefiles.
2017-01-09 10:37:20 -07:00