blob: ab97bbfe1c8dadd45c84a7e493980fbdb87a07f9 [file] [log] [blame]
David Brown63902772017-07-12 09:47:49 -06001[package]
2name = "mcuboot-sys"
3version = "0.1.0"
4authors = ["David Brown <david.brown@linaro.org>"]
5description = "A simple wrapper around the mcuboot code."
6build = "build.rs"
7publish = false
David Brown42a7e542022-04-08 17:20:22 -06008edition = "2021"
David Brown63902772017-07-12 09:47:49 -06009
10[features]
11# By default, build with simplistic signature verification.
12default = []
13
14# Verify RSA signatures. Note that at this time, the C code will not
15# compile with both sig-rsa and sig-ecdsa enabled.
16sig-rsa = []
17
Fabio Utzig39297432019-05-08 18:51:10 -030018# Verify RSA-3072 signatures.
19sig-rsa3072 = []
20
Fabio Utzig8b619bd2017-12-05 08:48:34 -020021# Verify ECDSA (secp256r1) signatures.
David Brown63902772017-07-12 09:47:49 -060022sig-ecdsa = []
23
David Brown641af452021-02-19 12:16:48 -070024# Verify ECDSA (secp256r1) signatures using mbed TLS
25sig-ecdsa-mbedtls = []
26
Roland Mikhel5899fac2023-03-14 13:59:55 +010027# Verify ECDSA (p256 or p384) signatures using PSA Crypto API
28sig-ecdsa-psa = []
29
30# Enable P384 Curve support (instead of P256) for PSA Crypto
31sig-p384 = []
32
Fabio Utzig97710282019-05-24 17:44:49 -030033# Verify ED25519 signatures.
34sig-ed25519 = []
35
David Brown63902772017-07-12 09:47:49 -060036# Overwrite only upgrade
37overwrite-only = []
38
Fabio Utzig031eb7d2019-11-28 10:13:14 -030039swap-move = []
40
David Vincze2d736ad2019-02-18 11:50:22 +010041# Disable validation of the primary slot
42validate-primary-slot = []
Fabio Utzigebdc9692017-11-23 16:28:25 -020043
David Vincze2d736ad2019-02-18 11:50:22 +010044# Encrypt image in the secondary slot using RSA-OAEP-2048
Fabio Utzig1e48b912018-09-18 09:04:18 -030045enc-rsa = []
46
Salome Thirot6fdbf552021-05-14 16:46:14 +010047# Encrypt image in the secondary slot using AES-256-CTR and RSA-OAEP-2048
48enc-aes256-rsa = []
49
David Vincze2d736ad2019-02-18 11:50:22 +010050# Encrypt image in the secondary slot using AES-KW-128
Fabio Utzig1e48b912018-09-18 09:04:18 -030051enc-kw = []
52
Salome Thirot6fdbf552021-05-14 16:46:14 +010053# Encrypt image in the secondary slot using AES-256-CTR and AES-KW-256
54enc-aes256-kw = []
55
Fabio Utzig90f449e2019-10-24 07:43:53 -030056# Encrypt image in the secondary slot using ECIES-P256
57enc-ec256 = []
58
Salome Thirot6fdbf552021-05-14 16:46:14 +010059# Encrypt image in the secondary slot using AES-256-CTR and ECIES-P256
60enc-aes256-ec256 = []
61
Fabio Utzig6c553d62021-05-06 19:56:18 -030062# Encrypt image in the secondary slot using ECIES-P256 using Mbed TLS
63enc-ec256-mbedtls = []
64
Fabio Utzig3fa72ca2020-04-02 11:20:37 -030065# Encrypt image in the secondary slot using ECIES-X25519
66enc-x25519 = []
67
Salome Thirot6fdbf552021-05-14 16:46:14 +010068# Encrypt image in the secondary slot using AES-256-CTR and ECIES-X25519
69enc-aes256-x25519 = []
70
David Vincze2d736ad2019-02-18 11:50:22 +010071# Allow bootstrapping an empty/invalid primary slot from a valid secondary slot
Fabio Utzig9b97b132018-12-18 17:21:51 -020072bootstrap = []
73
David Brown5e6f5e02019-04-04 10:50:05 +070074# Support multiple images (currently 2 instead of 1).
75multiimage = []
76
David Brown7e377ab2021-05-26 16:33:39 -060077# Support simulation of ram-loading. No swaps are performed, and the
78# image is copied to RAM before loading it.
79ram-load = []
80
David Brown11ffa0a2021-05-26 17:10:47 -060081# Support simulation of direct XIP. No swaps are performed, the image
82# is directly executed out of whichever partition contains the most
83# appropriate image.
84direct-xip = []
85
David Brown2ee5f7f2020-01-13 14:04:01 -070086# Check (in software) against version downgrades.
87downgrade-prevention = []
88
Gustavo Henrique Nihei7bfd14b2021-11-24 23:27:22 -030089# Support images with 32-byte maximum write alignment value.
90max-align-32 = []
Salome Thirot6fdbf552021-05-14 16:46:14 +010091
Roland Mikheld6703522023-04-27 14:24:30 +020092# Enable hardware rollback protection
93hw-rollback-protection = []
94
Antonio de Angelis65eb35c2022-11-22 14:11:47 +000095# Enable the PSA Crypto APIs where supported for cryptography related operations.
96psa-crypto-api = []
97
David Brown63902772017-07-12 09:47:49 -060098[build-dependencies]
Fabio Utzig455cad52018-10-15 14:36:33 -070099cc = "1.0.25"
David Brown63902772017-07-12 09:47:49 -0600100
101[dependencies]
Fabio Utzig03cce472020-02-11 18:55:14 -0300102libc = "0.2"
David Brown28215642019-01-02 11:42:39 -0700103log = "0.4"
David Brown63902772017-07-12 09:47:49 -0600104simflash = { path = "../simflash" }