Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.0/patches/2198149/?format=api
{ "id": 2198149, "url": "http://patchwork.ozlabs.org/api/1.0/patches/2198149/?format=api", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/1.0/projects/18/?format=api", "name": "U-Boot", "link_name": "uboot", "list_id": "u-boot.lists.denx.de", "list_email": "u-boot@lists.denx.de", "web_url": null, "scm_url": null, "webscm_url": null }, "msgid": "<20260219132552.1499698-10-philippe.reynes@softathome.com>", "date": "2026-02-19T13:25:52", "name": "[RFC,v2,9/9] test: vboot: add test for ecdsa", "commit_ref": null, "pull_url": null, "state": "rfc", "archived": false, "hash": "39874a493102979eaff28844ab331ac5ef4b20f1", "submitter": { "id": 74351, "url": "http://patchwork.ozlabs.org/api/1.0/people/74351/?format=api", "name": "Philippe Reynes", "email": "philippe.reynes@softathome.com" }, "delegate": { "id": 3651, "url": "http://patchwork.ozlabs.org/api/1.0/users/3651/?format=api", "username": "trini", "first_name": "Tom", "last_name": "Rini", "email": "trini@ti.com" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260219132552.1499698-10-philippe.reynes@softathome.com/mbox/", "series": [ { "id": 492675, "url": "http://patchwork.ozlabs.org/api/1.0/series/492675/?format=api", "date": "2026-02-19T13:25:49", "name": "add software ecdsa support", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/492675/mbox/" } ], "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2198149/checks/", "tags": {}, "headers": { "Return-Path": "<u-boot-bounces@lists.denx.de>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=softathome1.onmicrosoft.com header.i=@softathome1.onmicrosoft.com\n header.a=rsa-sha256 header.s=selector1-softathome1-onmicrosoft-com\n header.b=MqMa34IN;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)", "phobos.denx.de;\n dmarc=none (p=none dis=none) header.from=softathome.com", "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de", "phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=softathome1.onmicrosoft.com header.i=@softathome1.onmicrosoft.com\n header.b=\"MqMa34IN\";\n\tdkim-atps=neutral", "phobos.denx.de; dmarc=none (p=none dis=none)\n header.from=softathome.com", "phobos.denx.de;\n spf=pass smtp.mailfrom=philippe.reynes@softathome.com" ], "Received": [ "from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fGvL567R2z1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 20 Feb 2026 00:26:53 +1100 (AEDT)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id E511683E4C;\n\tThu, 19 Feb 2026 14:26:19 +0100 (CET)", "by phobos.denx.de (Postfix, from userid 109)\n id 6637D83D8A; Thu, 19 Feb 2026 14:26:17 +0100 (CET)", "from MRZP264CU002.outbound.protection.outlook.com\n (mail-francesouthazlp170100001.outbound.protection.outlook.com\n [IPv6:2a01:111:f403:c207::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 3128D83AC5\n for <u-boot@lists.denx.de>; Thu, 19 Feb 2026 14:26:15 +0100 (CET)", "from PAZP264CA0206.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:237::30)\n by MR1P264MB1843.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:5::15) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.16; Thu, 19 Feb\n 2026 13:26:11 +0000", "from PA1PEPF000CC3F9.FRAP264.PROD.OUTLOOK.COM\n (2603:10a6:102:237:cafe::36) by PAZP264CA0206.outlook.office365.com\n (2603:10a6:102:237::30) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.15 via Frontend Transport; Thu,\n 19 Feb 2026 13:26:08 +0000", "from proxy.softathome.com (149.6.166.170) by\n PA1PEPF000CC3F9.mail.protection.outlook.com (10.167.242.4) with Microsoft\n SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.12\n via Frontend Transport; Thu, 19 Feb 2026 13:26:10 +0000", "from sah1lpt726.home (unknown [192.168.72.32])\n by proxy.softathome.com (Postfix) with ESMTPSA id 50EDA20143;\n Thu, 19 Feb 2026 14:26:10 +0100 (CET)" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de", "X-Spam-Level": "", "X-Spam-Status": "No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_PASS,SPF_PASS autolearn=ham\n autolearn_force=no version=3.4.2", "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=MylSCPQKbYfpDJAnQy8quJI24PTuKvdLPIDFr90HbgyF1f6D6cBzi4jCSpvJiIZeLU44hHUyjX/RrqnVtz8dQhMM8WEMcLzSvtEdi8LAO/ywF/TDcdSfH9gbbPMhX8b/joK0nl0GYzNNodgoigRAu9lmgVuJCgA/zk0gQv51MN05nu7uh6kFxb5Z01OG1i7Ej5c3rnIc6RVLtIr4BX9tcjqv90taX4WqKuNN12AXkX2VpS/MT750XKLf6S3UT37f1lrzMaUmaRRlW1NiLUq/vCXc79ZFpbcVx06D1o0Dv6HYz5eypK5amuIZevjsZ2+WEnHvJYtF2McwM77FBAy1PQ==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=KtuXBYZg27CnibUJk258efxBw/pTExGW8KW5cLkQ5s8=;\n b=ZZwqqb74Mpw2ZbF4iQ2QoOk2xlk1wVWA7f8WPK/UFY+jE8OxRdRaDsIIpSd6ZhUFLIF5yf2JCzEAjaXZ/5tSBoiNsGgTf4wtRF6B/2I7622SiYNNoHWOl1OPiiGN6RS0VSWZa/gQFhZ0T4uHIuTswV78YqDvsoNKr4hOLKR/wMjwNpD58XhpQiioxcprKWcBELERKxMMMrlUuc2lDQra4MUnrNrfDr6ilhv3+Nbz8CjPOrr6YOF4FrvB1ENLelWJpjU7K0eWveHz3WwJUAgW/rMWBEbnFsdYr9cpGvjHGQbx9+qixkyV3MXyLwn2qZy2bhJoNKXVFujxmKWx/M9R7A==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 149.6.166.170) smtp.rcpttodomain=gmail.com smtp.mailfrom=softathome.com;\n dmarc=bestguesspass action=none header.from=softathome.com; dkim=none\n (message not signed); arc=none (0)", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=softathome1.onmicrosoft.com; s=selector1-softathome1-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=KtuXBYZg27CnibUJk258efxBw/pTExGW8KW5cLkQ5s8=;\n b=MqMa34INwLJO8rPLXFHDvLRyE2VVzwHMJ5miA4S6cf5URmQA0ktfnjyNOj0vWNMSr/mN5qlN7IK7xbL5WxZ9VChfDaGXSvQ8TcmgmQE0GE/S/Fd8m/Blx8mszufJSWeyRlEwiyIDdO3001oQQfUk4oReJwWb8svm223+JrWpjcs0nwXv4PppUEvvlwMFb3kgCetucrrF4ly8vW09eammUWJejK1EdRCnVOiuTLWK94aCBcWtmwjl8y94pZmSPks3iEbd9C9QNbvdcWJjSVA7SUSIqs2jtBaXju8/D7HgYndKbs2Z1fGtRki1gWHw3t8z9DryFjPRP9PqdbAGgEcnuQ==", "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 149.6.166.170)\n smtp.mailfrom=softathome.com; dkim=none (message not signed)\n header.d=none;dmarc=bestguesspass action=none header.from=softathome.com;", "Received-SPF": "Pass (protection.outlook.com: domain of softathome.com\n designates 149.6.166.170 as permitted sender)\n receiver=protection.outlook.com; client-ip=149.6.166.170;\n helo=proxy.softathome.com; pr=C", "From": "Philippe Reynes <philippe.reynes@softathome.com>", "To": "marko.makela@iki.fi, jonny.green@keytechinc.com, raymondmaoca@gmail.com,\n trini@konsulko.com", "Cc": "u-boot@lists.denx.de,\n\tPhilippe Reynes <philippe.reynes@softathome.com>", "Subject": "[RFC PATCH v2 9/9] test: vboot: add test for ecdsa", "Date": "Thu, 19 Feb 2026 14:25:52 +0100", "Message-ID": "<20260219132552.1499698-10-philippe.reynes@softathome.com>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260219132552.1499698-1-philippe.reynes@softathome.com>", "References": "<20260219132552.1499698-1-philippe.reynes@softathome.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-EOPAttributedMessage": "0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "PA1PEPF000CC3F9:EE_|MR1P264MB1843:EE_", "Content-Type": "text/plain", "X-MS-Office365-Filtering-Correlation-Id": "5df6c553-50d8-4cf0-0d06-08de6fba7240", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|36860700013|1800799024|376014|82310400026|7142099003;", "X-Microsoft-Antispam-Message-Info": "\n 3WdZsBx08knqryu9/OUlIrpDQ9shTzMkN+C08JYLwjOuglKKG7vXuJC8+6A8pCMBmg0Lh/+VnH7QUXWFwWdgxN1BrCqUChETsfPBQDEptLc+HAKlnzMU6BnJ3lo6UpwIdCx6YzYv3NVOHtG4glPzv1IEROGVYRGTF+p+CJfNi5nkcVrpxlz2AplsWDlinS/UjiZwDcoqNCkH5Afiq4uTL7kEQ89HMBiaWbW33ZOXkiqMn/C1gDbvd8meHu/GWJlAXAePc4RsujFn0HZE0/zet2Rw/LSAd+aXJf7UIuH7sQPwwwn4QQzCgtIu7FGHc/wnXoTwygwf7cccaWCI+bdjRIUsWD/lg46fAfvUDoi3PrgXt6OoGckRIe53FL4ieKShZzgkBcxw2yHmw/VgnY6kuzLHsxdQ2ury2aDGPFDoK34MJU38Gkd/W2HfnZDqdY1nyVuBSo9bciO0rAjrPbffheUXOwchaJPNsDAe4lgO5MKeHVVSZjfBMfk4njbplSRul9VvJvRIv1++h1B+/BlrMmqz/0qbu00GmA8Dv6SzYyqBSQwqrk/I/008uLMrk17LmWiA7x4G9xyp+SBi3dqeFogcW+icWE6Ts5MF3sD019yqXPI0rGepDsu8MANSDE0JNKRMVyAVXjtR8qzCMtqKIe5AZv2t0P2dB+7T7R+u4Uu6FImSD6UqZGTiGlWxkYeJh7iipzBhujGtWL1XLTB53zSBxKc5LHURCp0KroPZ/pr055yjDZwZ3weK5e+xTA1oZCajgIwkHsS5oxi5j+q5aAt6O0OBBuNY+m/dDAz6O5dxPvFeX7tE+r5E31pa43txQrD0cLJeNU4gShE5UvksPEyymdopmqNc9lvXfiTBzRbrEOq6ovR35+K96mv0+Tx/23nht/apfZqY1yNqBoaUYzUMzXSpE/1Pu+4FTFkxeoQOZ24f3gLFIIt4ipdkVnNtQ30lYAajWS2I90oVcN67qxnRSeM5uTcFy2cGzcWsfsQQ2OTk+li7BDxEBOZTugnMh3fwxRnb8KGRKKCRXc8kFl7LJk7HhNmYAOfAz8JVHWyJeLrGEz/mbN4tRecbp+lbEFXSj1S0GT3lmLGauEZTPZlcDBoPsZMKOhSZAJCHxQ8dg/kLLwS59Lbs4kONbcg1miTr5/ZRSMIZWR4UjRlYEszf5C538Nf1L6+1k8QQrs9t/wD4StcrzzK+ARzFl00NogJyYYdTxYcDa32Z3mOLUE4PWZnq+Ty0xSaj96078z2Z9ojwmQGGi4EQTOT2co+gtEMs8hsyjZEyyoNu3gH0dSVhQHV4ouNT+cTZf3U+D1sLD9H/HAXJD8QvtDRL1AT4SOIG5GFUJijRyNKTCeRcXT14i1hXt1v9acVSGjz4wY0jtlLcJMgFrpOEDP6a4FcTpRug//tl8CD9WShS00Z0AuxbmjUR4fiE8e5Sz3f0ljYNsm4/YcIw6CcSIY59j582XZGJoOoRKv/9TAskz9OQ9fGXWDXnNX+2fY0la6WYIR+QJSO7x4fkqal1R3/tU1FmBuVD65V7dLvT/pynzjcT9hJ2pAjtIXrkgItAXWTu/tPOA9g/bwR+2aeydNDvHREel23vbNep4rjUOhwMfuPCaIi8FoTwKEoiNbTWFMxLn2rejiSBEAM/7506wG2LsyMYqroMF+KhnlSjxMdPD6Dk9Q==", "X-Forefront-Antispam-Report": "CIP:149.6.166.170; CTRY:FR; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:proxy.softathome.com; PTR:InfoDomainNonexistent;\n CAT:NONE;\n SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026)(7142099003);\n DIR:OUT; SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n paq2P+nPfukOb4kjc86bA6TfKbB2Ir0i3MCTf+4UCL6SIb8IOIlEEvA6G7fR6jnn1rnkjv9Gd4udfBobTdGxv4Q3wEYPajOEzo5jSlFuZ1X1/NVolYWQX4iC51bTaEL3vISiHFCZ377byLmhYNL18W+Nl8NSJBR8HuNbZizFUAuHtWWfwYYwsavG6L/MADF0u6GL9Q5M75CgpYRjJ8sl4cX+ShpehrD56I9yq+e6PmADRh2XnIVbLDxQQPDFr8jkIdK/qNhIX2rlm5XpXJDytE+mEz5ldOX+gDKzIbhyuCaay5Pge8I8YmXt+n2mtsmUiiWnE5z0aIDA+25YKYHiBvfWGzpJtmWrlHQ8qjew4TE0v6ogh2dcH8bNdRu+LMzQ3w5giT1DbqONqLyf722fhg+2u0bctqe8sykQ65jxcCEjqOOntxeh2WN3gGPURpFk", "X-OriginatorOrg": "softathome.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "19 Feb 2026 13:26:10.4504 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 5df6c553-50d8-4cf0-0d06-08de6fba7240", "X-MS-Exchange-CrossTenant-Id": "aa10e044-e405-4c10-8353-36b4d0cce511", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=aa10e044-e405-4c10-8353-36b4d0cce511; Ip=[149.6.166.170];\n Helo=[proxy.softathome.com]", "X-MS-Exchange-CrossTenant-AuthSource": "PA1PEPF000CC3F9.FRAP264.PROD.OUTLOOK.COM", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "MR1P264MB1843", "X-BeenThere": "u-boot@lists.denx.de", "X-Mailman-Version": "2.1.39", "Precedence": "list", "List-Id": "U-Boot discussion <u-boot.lists.denx.de>", "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>", "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>", "List-Post": "<mailto:u-boot@lists.denx.de>", "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>", "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>", "Errors-To": "u-boot-bounces@lists.denx.de", "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>", "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de", "X-Virus-Status": "Clean" }, "content": "This commit adds test case for ecdsa on fit, but not (yet) for\nthe global image signature (preload).\n\nSigned-off-by: Philippe Reynes <philippe.reynes@softathome.com>\n---\nv2:\n- initial version\n\n test/py/tests/test_vboot.py | 29 ++++++++++++\n .../vboot/sign-configs-sha256-ecdsa256.its | 45 +++++++++++++++++++\n .../vboot/sign-configs-sha256-ecdsa384.its | 45 +++++++++++++++++++\n .../vboot/sign-configs-sha256-ecdsa521.its | 45 +++++++++++++++++++\n .../vboot/sign-images-sha256-ecdsa256.its | 42 +++++++++++++++++\n .../vboot/sign-images-sha256-ecdsa384.its | 42 +++++++++++++++++\n .../vboot/sign-images-sha256-ecdsa521.its | 42 +++++++++++++++++\n 7 files changed, 290 insertions(+)\n create mode 100644 test/py/tests/vboot/sign-configs-sha256-ecdsa256.its\n create mode 100644 test/py/tests/vboot/sign-configs-sha256-ecdsa384.its\n create mode 100644 test/py/tests/vboot/sign-configs-sha256-ecdsa521.its\n create mode 100644 test/py/tests/vboot/sign-images-sha256-ecdsa256.its\n create mode 100644 test/py/tests/vboot/sign-images-sha256-ecdsa384.its\n create mode 100644 test/py/tests/vboot/sign-images-sha256-ecdsa521.its", "diff": "diff --git a/test/py/tests/test_vboot.py b/test/py/tests/test_vboot.py\nindex fd1bf6eb8aa..d2eeda816e2 100644\n--- a/test/py/tests/test_vboot.py\n+++ b/test/py/tests/test_vboot.py\n@@ -94,6 +94,9 @@ TESTDATA_IN = [\n ['sha256-pss-pad', 'sha256', '-rsa2048', '-pss', '-E -p 0x10000', False, False, False, False],\n ['sha256-pss-required', 'sha256', '-rsa2048', '-pss', None, True, False, False, False],\n ['sha256-pss-pad-required', 'sha256', '-rsa2048', '-pss', '-E -p 0x10000', True, True, False, False],\n+ ['sha256-basic-ecdsa256', 'sha256', '-ecdsa256', '', None, False, False, False, False],\n+ ['sha256-basic-ecdsa384', 'sha256', '-ecdsa384', '', None, False, False, False, False],\n+ ['sha256-basic-ecdsa521', 'sha256', '-ecdsa521', '', None, False, False, False, False],\n ['sha384-basic', 'sha384', '-rsa3072', '', None, False, False, False, False],\n ['sha384-pad', 'sha384', '-rsa3072', '', '-E -p 0x10000', False, False, False, False],\n ['algo-arg', 'algo-arg', '', '', '-o sha256,rsa2048', False, False, True, False],\n@@ -287,6 +290,29 @@ def test_vboot(ubman, name, sha_algo, sig_algo, padding, sign_options, required,\n utils.run_and_log(ubman, 'openssl req -batch -new -x509 -key %s%s.key '\n '-out %s%s.crt' % (tmpdir, name, tmpdir, name))\n \n+ def create_ecdsa_pair(name):\n+ \"\"\"Generate a new ECDSA key pair\n+\n+ Args:\n+ name: Name of of the key (e.g. 'dev')\n+ \"\"\"\n+\n+ if sig_algo == \"-ecdsa256\":\n+ curve_name = \"secp256r1\"\n+ elif sig_algo == \"-ecdsa384\":\n+ curve_name = \"secp384r1\"\n+ elif sig_algo == \"-ecdsa521\":\n+ curve_name = \"secp521r1\"\n+ else:\n+ curve_name = \"unknownCurve\"\n+\n+ utils.run_and_log(ubman, 'openssl ecparam -name %s -genkey -noout -out %s%s.pem' %\n+ (curve_name, tmpdir, name))\n+\n+ # Create a certificate containing the public key\n+ utils.run_and_log(ubman, 'openssl req -batch -new -x509 -key %s%s.pem '\n+ '-out %s%s.crt' % (tmpdir, name, tmpdir, name))\n+\n def test_with_algo(sha_algo, sig_algo, padding, sign_options):\n \"\"\"Test verified boot with the given hash algorithm.\n \n@@ -523,6 +549,9 @@ def test_vboot(ubman, name, sha_algo, sig_algo, padding, sign_options, required,\n if sig_algo == \"-rsa2048\" or sig_algo == \"-rsa3072\" or sig_algo == \"\":\n create_rsa_pair('dev')\n create_rsa_pair('prod')\n+ elif sig_algo == \"-ecdsa256\" or sig_algo == \"-ecdsa384\" or sig_algo == \"-ecdsa521\":\n+ create_ecdsa_pair('dev')\n+ create_ecdsa_pair('prod')\n \n # Create a number kernel image with zeroes\n with open('%stest-kernel.bin' % tmpdir, 'wb') as fd:\ndiff --git a/test/py/tests/vboot/sign-configs-sha256-ecdsa256.its b/test/py/tests/vboot/sign-configs-sha256-ecdsa256.its\nnew file mode 100644\nindex 00000000000..4d0ef903a78\n--- /dev/null\n+++ b/test/py/tests/vboot/sign-configs-sha256-ecdsa256.its\n@@ -0,0 +1,45 @@\n+/dts-v1/;\n+\n+/ {\n+\tdescription = \"Chrome OS kernel image with one or more FDT blobs\";\n+\t#address-cells = <1>;\n+\n+\timages {\n+\t\tkernel {\n+\t\t\tdata = /incbin/(\"test-kernel.bin\");\n+\t\t\ttype = \"kernel_noload\";\n+\t\t\tarch = \"sandbox\";\n+\t\t\tos = \"linux\";\n+\t\t\tcompression = \"none\";\n+\t\t\tload = <0x4>;\n+\t\t\tentry = <0x8>;\n+\t\t\tkernel-version = <1>;\n+\t\t\thash-1 {\n+\t\t\t\talgo = \"sha256\";\n+\t\t\t};\n+\t\t};\n+\t\tfdt-1 {\n+\t\t\tdescription = \"snow\";\n+\t\t\tdata = /incbin/(\"sandbox-kernel.dtb\");\n+\t\t\ttype = \"flat_dt\";\n+\t\t\tarch = \"sandbox\";\n+\t\t\tcompression = \"none\";\n+\t\t\tfdt-version = <1>;\n+\t\t\thash-1 {\n+\t\t\t\talgo = \"sha256\";\n+\t\t\t};\n+\t\t};\n+\t};\n+\tconfigurations {\n+\t\tdefault = \"conf-1\";\n+\t\tconf-1 {\n+\t\t\tkernel = \"kernel\";\n+\t\t\tfdt = \"fdt-1\";\n+\t\t\tsignature {\n+\t\t\t\talgo = \"sha256,ecdsa256\";\n+\t\t\t\tkey-name-hint = \"dev\";\n+\t\t\t\tsign-images = \"fdt\", \"kernel\";\n+\t\t\t};\n+\t\t};\n+\t};\n+};\ndiff --git a/test/py/tests/vboot/sign-configs-sha256-ecdsa384.its b/test/py/tests/vboot/sign-configs-sha256-ecdsa384.its\nnew file mode 100644\nindex 00000000000..10427b43659\n--- /dev/null\n+++ b/test/py/tests/vboot/sign-configs-sha256-ecdsa384.its\n@@ -0,0 +1,45 @@\n+/dts-v1/;\n+\n+/ {\n+\tdescription = \"Chrome OS kernel image with one or more FDT blobs\";\n+\t#address-cells = <1>;\n+\n+\timages {\n+\t\tkernel {\n+\t\t\tdata = /incbin/(\"test-kernel.bin\");\n+\t\t\ttype = \"kernel_noload\";\n+\t\t\tarch = \"sandbox\";\n+\t\t\tos = \"linux\";\n+\t\t\tcompression = \"none\";\n+\t\t\tload = <0x4>;\n+\t\t\tentry = <0x8>;\n+\t\t\tkernel-version = <1>;\n+\t\t\thash-1 {\n+\t\t\t\talgo = \"sha256\";\n+\t\t\t};\n+\t\t};\n+\t\tfdt-1 {\n+\t\t\tdescription = \"snow\";\n+\t\t\tdata = /incbin/(\"sandbox-kernel.dtb\");\n+\t\t\ttype = \"flat_dt\";\n+\t\t\tarch = \"sandbox\";\n+\t\t\tcompression = \"none\";\n+\t\t\tfdt-version = <1>;\n+\t\t\thash-1 {\n+\t\t\t\talgo = \"sha256\";\n+\t\t\t};\n+\t\t};\n+\t};\n+\tconfigurations {\n+\t\tdefault = \"conf-1\";\n+\t\tconf-1 {\n+\t\t\tkernel = \"kernel\";\n+\t\t\tfdt = \"fdt-1\";\n+\t\t\tsignature {\n+\t\t\t\talgo = \"sha256,ecdsa384\";\n+\t\t\t\tkey-name-hint = \"dev\";\n+\t\t\t\tsign-images = \"fdt\", \"kernel\";\n+\t\t\t};\n+\t\t};\n+\t};\n+};\ndiff --git a/test/py/tests/vboot/sign-configs-sha256-ecdsa521.its b/test/py/tests/vboot/sign-configs-sha256-ecdsa521.its\nnew file mode 100644\nindex 00000000000..a65593ec64b\n--- /dev/null\n+++ b/test/py/tests/vboot/sign-configs-sha256-ecdsa521.its\n@@ -0,0 +1,45 @@\n+/dts-v1/;\n+\n+/ {\n+\tdescription = \"Chrome OS kernel image with one or more FDT blobs\";\n+\t#address-cells = <1>;\n+\n+\timages {\n+\t\tkernel {\n+\t\t\tdata = /incbin/(\"test-kernel.bin\");\n+\t\t\ttype = \"kernel_noload\";\n+\t\t\tarch = \"sandbox\";\n+\t\t\tos = \"linux\";\n+\t\t\tcompression = \"none\";\n+\t\t\tload = <0x4>;\n+\t\t\tentry = <0x8>;\n+\t\t\tkernel-version = <1>;\n+\t\t\thash-1 {\n+\t\t\t\talgo = \"sha256\";\n+\t\t\t};\n+\t\t};\n+\t\tfdt-1 {\n+\t\t\tdescription = \"snow\";\n+\t\t\tdata = /incbin/(\"sandbox-kernel.dtb\");\n+\t\t\ttype = \"flat_dt\";\n+\t\t\tarch = \"sandbox\";\n+\t\t\tcompression = \"none\";\n+\t\t\tfdt-version = <1>;\n+\t\t\thash-1 {\n+\t\t\t\talgo = \"sha256\";\n+\t\t\t};\n+\t\t};\n+\t};\n+\tconfigurations {\n+\t\tdefault = \"conf-1\";\n+\t\tconf-1 {\n+\t\t\tkernel = \"kernel\";\n+\t\t\tfdt = \"fdt-1\";\n+\t\t\tsignature {\n+\t\t\t\talgo = \"sha256,ecdsa521\";\n+\t\t\t\tkey-name-hint = \"dev\";\n+\t\t\t\tsign-images = \"fdt\", \"kernel\";\n+\t\t\t};\n+\t\t};\n+\t};\n+};\ndiff --git a/test/py/tests/vboot/sign-images-sha256-ecdsa256.its b/test/py/tests/vboot/sign-images-sha256-ecdsa256.its\nnew file mode 100644\nindex 00000000000..009003bb601\n--- /dev/null\n+++ b/test/py/tests/vboot/sign-images-sha256-ecdsa256.its\n@@ -0,0 +1,42 @@\n+/dts-v1/;\n+\n+/ {\n+\tdescription = \"Chrome OS kernel image with one or more FDT blobs\";\n+\t#address-cells = <1>;\n+\n+\timages {\n+\t\tkernel {\n+\t\t\tdata = /incbin/(\"test-kernel.bin\");\n+\t\t\ttype = \"kernel_noload\";\n+\t\t\tarch = \"sandbox\";\n+\t\t\tos = \"linux\";\n+\t\t\tcompression = \"none\";\n+\t\t\tload = <0x4>;\n+\t\t\tentry = <0x8>;\n+\t\t\tkernel-version = <1>;\n+\t\t\tsignature {\n+\t\t\t\talgo = \"sha256,ecdsa256\";\n+\t\t\t\tkey-name-hint = \"dev\";\n+\t\t\t};\n+\t\t};\n+\t\tfdt-1 {\n+\t\t\tdescription = \"snow\";\n+\t\t\tdata = /incbin/(\"sandbox-kernel.dtb\");\n+\t\t\ttype = \"flat_dt\";\n+\t\t\tarch = \"sandbox\";\n+\t\t\tcompression = \"none\";\n+\t\t\tfdt-version = <1>;\n+\t\t\tsignature {\n+\t\t\t\talgo = \"sha256,ecdsa256\";\n+\t\t\t\tkey-name-hint = \"dev\";\n+\t\t\t};\n+\t\t};\n+\t};\n+\tconfigurations {\n+\t\tdefault = \"conf-1\";\n+\t\tconf-1 {\n+\t\t\tkernel = \"kernel\";\n+\t\t\tfdt = \"fdt-1\";\n+\t\t};\n+\t};\n+};\ndiff --git a/test/py/tests/vboot/sign-images-sha256-ecdsa384.its b/test/py/tests/vboot/sign-images-sha256-ecdsa384.its\nnew file mode 100644\nindex 00000000000..567de687a06\n--- /dev/null\n+++ b/test/py/tests/vboot/sign-images-sha256-ecdsa384.its\n@@ -0,0 +1,42 @@\n+/dts-v1/;\n+\n+/ {\n+\tdescription = \"Chrome OS kernel image with one or more FDT blobs\";\n+\t#address-cells = <1>;\n+\n+\timages {\n+\t\tkernel {\n+\t\t\tdata = /incbin/(\"test-kernel.bin\");\n+\t\t\ttype = \"kernel_noload\";\n+\t\t\tarch = \"sandbox\";\n+\t\t\tos = \"linux\";\n+\t\t\tcompression = \"none\";\n+\t\t\tload = <0x4>;\n+\t\t\tentry = <0x8>;\n+\t\t\tkernel-version = <1>;\n+\t\t\tsignature {\n+\t\t\t\talgo = \"sha256,ecdsa384\";\n+\t\t\t\tkey-name-hint = \"dev\";\n+\t\t\t};\n+\t\t};\n+\t\tfdt-1 {\n+\t\t\tdescription = \"snow\";\n+\t\t\tdata = /incbin/(\"sandbox-kernel.dtb\");\n+\t\t\ttype = \"flat_dt\";\n+\t\t\tarch = \"sandbox\";\n+\t\t\tcompression = \"none\";\n+\t\t\tfdt-version = <1>;\n+\t\t\tsignature {\n+\t\t\t\talgo = \"sha256,ecdsa384\";\n+\t\t\t\tkey-name-hint = \"dev\";\n+\t\t\t};\n+\t\t};\n+\t};\n+\tconfigurations {\n+\t\tdefault = \"conf-1\";\n+\t\tconf-1 {\n+\t\t\tkernel = \"kernel\";\n+\t\t\tfdt = \"fdt-1\";\n+\t\t};\n+\t};\n+};\ndiff --git a/test/py/tests/vboot/sign-images-sha256-ecdsa521.its b/test/py/tests/vboot/sign-images-sha256-ecdsa521.its\nnew file mode 100644\nindex 00000000000..74ed45b21b8\n--- /dev/null\n+++ b/test/py/tests/vboot/sign-images-sha256-ecdsa521.its\n@@ -0,0 +1,42 @@\n+/dts-v1/;\n+\n+/ {\n+\tdescription = \"Chrome OS kernel image with one or more FDT blobs\";\n+\t#address-cells = <1>;\n+\n+\timages {\n+\t\tkernel {\n+\t\t\tdata = /incbin/(\"test-kernel.bin\");\n+\t\t\ttype = \"kernel_noload\";\n+\t\t\tarch = \"sandbox\";\n+\t\t\tos = \"linux\";\n+\t\t\tcompression = \"none\";\n+\t\t\tload = <0x4>;\n+\t\t\tentry = <0x8>;\n+\t\t\tkernel-version = <1>;\n+\t\t\tsignature {\n+\t\t\t\talgo = \"sha256,ecdsa521\";\n+\t\t\t\tkey-name-hint = \"dev\";\n+\t\t\t};\n+\t\t};\n+\t\tfdt-1 {\n+\t\t\tdescription = \"snow\";\n+\t\t\tdata = /incbin/(\"sandbox-kernel.dtb\");\n+\t\t\ttype = \"flat_dt\";\n+\t\t\tarch = \"sandbox\";\n+\t\t\tcompression = \"none\";\n+\t\t\tfdt-version = <1>;\n+\t\t\tsignature {\n+\t\t\t\talgo = \"sha256,ecdsa521\";\n+\t\t\t\tkey-name-hint = \"dev\";\n+\t\t\t};\n+\t\t};\n+\t};\n+\tconfigurations {\n+\t\tdefault = \"conf-1\";\n+\t\tconf-1 {\n+\t\t\tkernel = \"kernel\";\n+\t\t\tfdt = \"fdt-1\";\n+\t\t};\n+\t};\n+};\n", "prefixes": [ "RFC", "v2", "9/9" ] }