Show a cover letter.

GET /api/covers/2218051/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2218051,
    "url": "http://patchwork.ozlabs.org/api/covers/2218051/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/cover/20260331100047.34618-1-philippe.reynes@softathome.com/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/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,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260331100047.34618-1-philippe.reynes@softathome.com>",
    "list_archive_url": null,
    "date": "2026-03-31T10:00:32",
    "name": "[v3,00/15] add software ecdsa support",
    "submitter": {
        "id": 74351,
        "url": "http://patchwork.ozlabs.org/api/people/74351/?format=api",
        "name": "Philippe Reynes",
        "email": "philippe.reynes@softathome.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/cover/20260331100047.34618-1-philippe.reynes@softathome.com/mbox/",
    "series": [
        {
            "id": 498164,
            "url": "http://patchwork.ozlabs.org/api/series/498164/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=498164",
            "date": "2026-03-31T10:00:34",
            "name": "add software ecdsa support",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/498164/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2218051/comments/",
    "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=m97Un7I2;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; 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=\"m97Un7I2\";\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 [85.214.62.61])\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 4flNxF5RM1z1y1q\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 31 Mar 2026 21:03:45 +1100 (AEDT)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id CCD838414B;\n\tTue, 31 Mar 2026 12:01:15 +0200 (CEST)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 3C76384056; Tue, 31 Mar 2026 12:01:10 +0200 (CEST)",
            "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 E0DB4840F1\n for <u-boot@lists.denx.de>; Tue, 31 Mar 2026 12:00:59 +0200 (CEST)",
            "from PR1P264CA0025.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19f::12)\n by MRZP264MB1575.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:17::22) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.15; Tue, 31 Mar\n 2026 10:00:52 +0000",
            "from PA2PEPF00019231.FRAP264.PROD.OUTLOOK.COM\n (2603:10a6:102:19f:cafe::3) by PR1P264CA0025.outlook.office365.com\n (2603:10a6:102:19f::12) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9745.28 via Frontend Transport; Tue,\n 31 Mar 2026 10:00:32 +0000",
            "from proxy.softathome.com (149.6.166.170) by\n PA2PEPF00019231.mail.protection.outlook.com (10.167.242.37) with Microsoft\n SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9745.21\n via Frontend Transport; Tue, 31 Mar 2026 10:00:52 +0000",
            "from sah1lpt726.home (unknown [192.168.72.39])\n by proxy.softathome.com (Postfix) with ESMTPSA id 5D47F201AE;\n Tue, 31 Mar 2026 12:00:52 +0200 (CEST)"
        ],
        "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=xCHf0IGRJ+fRLbKdFNolTIM2jdpROMA/CP9ZASQX0dcTsTM0eupzWJp9/mwJpDpIzJbUDFeW2ich9qpiJ1WMDYjMXSThYg0w4ubGjs/79wKqB18oSXdneaMCGHlfImPBhfWksfZpQfmufbWF/f9daAbbFyWLZTX9fE8u3ImNWOz0+KNGR4t2luRf0pWAWQNpNzpomoLGN2biregLHgJk29fylF9fCvHWAJB4sCFFwIQAQKxl/IAiLIEKJ3FK5nLU8FtX2NNy55273vNGDv3cBrk5hbSXGYGEssPjNrSRkDi+7QtuuZ6TsunoslnLccjjmYgXbi+TrzPwDlXBHUlHng==",
        "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=aexOa5j5EiUDPg/ldeSYyROkE0N5xQiKrfl9vZOApL0=;\n b=KIE522gr16eHLhLIHT9W7PkFfQCZQd3K9wL+P4E7k7qkApifTza/8X+YY98Vb+P884s1PBHmOSbXzRa+2OtEpjBxqOVD1PooP+qTpWK874/QZWDgKZUGHjO/Wl2tsaroSvgO7JNlGbz8ExkurwPtqHk47le2QxuoLaJ8rA2/Nt6kffHhADy61+9cpgRemHcrsfyE/J9LC5lR8Cn9rOEX//7/2eaa8Aaw+7MlG0oiedb0nICYRFyyjXb60l3evw5xTZSfy+BQMnrIQj6F+/K7BvYDX5/SDZPew9CaA1vEKtYmhUYCMvkM6wT7y6mB/FfnjGucQDBpYfavMxb3cp2d0A==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 149.6.166.170) smtp.rcpttodomain=canonical.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=aexOa5j5EiUDPg/ldeSYyROkE0N5xQiKrfl9vZOApL0=;\n b=m97Un7I2zzMRyonopvhJ0wvuVrz6dnUs81nQTICRxbyKn1UN1hO+weriK5tdOTBb5SH0PvuJ5lgh4nHOCoNjAQei3ZnSHo9jdKkoDrIZsGpnXXCGyD2WjJxE4V25MTAdX/KVWKBjcF/FXtfAhROCmiB+FeAmeJgLc/SPyDMlx8dvjqQMhPU9+A9zE7Lvcy5bU528Utn+qXO9WtAF00MTroaslsr0Nb/IjPeguEMxnWUukSjFZ0pMVt8ZgRVZiPK+DbidmC7vTenz+Q3oR0HGhzkrn6HqlkhP/V6WvljZXNnGU7Etzht+iy4jXOkjlvslqGXK/koWbRNE4q2hcXbcPQ==",
        "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, simon.glass@canonical.com",
        "Cc": "u-boot@lists.denx.de,\n\tPhilippe Reynes <philippe.reynes@softathome.com>",
        "Subject": "[PATCH v3 00/15] add software ecdsa support",
        "Date": "Tue, 31 Mar 2026 12:00:32 +0200",
        "Message-ID": "<20260331100047.34618-1-philippe.reynes@softathome.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "PA2PEPF00019231:EE_|MRZP264MB1575:EE_",
        "Content-Type": "text/plain",
        "X-MS-Office365-Filtering-Correlation-Id": "bba008f0-e591-4fcf-1513-08de8f0c64c2",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|1800799024|82310400026|36860700016|376014|18002099003|56012099003;",
        "X-Microsoft-Antispam-Message-Info": "\n CI72rCADrIPfkj1816aQ9X2PdjvuNOUDDFWvDs5GR8EJBRFdFmPp3YaqxEZ3DsQMurHgsBRziwf7sYDrsE8IHNoi7wX2OGvc5vEL/rIt3jikN91kkL2PIXOiljmzdASml+xz53teNcNJ+A7AMpMgYyaooFsneGTDoL+R4ijiCnu9vA+TRmjdhYat1HQiqTZr1c34jvqVQdu+omtyWu0Y8YmQMQqbWE7BTNvuFeKhWGsn71ng7C9aRmRhiO9dLk9e7WFJrcZ9xmGmlx5ycry0YXT0ofnzhFrn33Q/3twIQ3aopuSjthQ7UfrT4jtYgLBswQNFjbimn6nI4WViRpJln4wt9xxTYO4d70CvyMDjkLFU3V3OnH1r++vNJmUjHlMVYXIvrf/2J/Pg8ALHrLi5hf714lia+MK0S8rkBRTK8LDORk4s94WSFAaxKVTp3QauqWNZWi00PlbhMwoJ9Qjbi7tGcLBI2xpgQEguF2oS2/HbtKJSLrQWhYFOwSyYQLB/Kf0oY5jqXOXETV72ER8cyRmPZ1APptNs+lSditsLO7Kj5k6UHXSzvCJM+lXb8ofv6EeClqgqfEcFik6ekdudKdoEbcNRqEFbV9ooAREA6q3PYsPxiw2OoFCzq7ldIeC0NpAnoy5+C2y6jIzD2W8yAedioIxq2tp50GMO2jaxg2KI64AieNt0f7JBwuTB8mCTY+Cr/Uj1vHB/BwndE6NY410XXxI2rQKMKJ1zQCw4syV9kw9W54hgBE/6xj8dyuHiEp46MXgSJr+X8H3qhvFgLw==",
        "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)(1800799024)(82310400026)(36860700016)(376014)(18002099003)(56012099003);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n pofKFcgv7N+nGmvhUCxFn6F5kql1vQ/jXBDbNmsFG4TbWmT1ODBD3Fb1NXhNYBU0MSStZcEB1fGnNXXoRsQZ8QZxa7yyohM4hNCL8VbKEYOqHUj9L8hNOn2jsb81Ng3BH4zHgfXiRnz2eeUb4EFRglXX7g/pZpxx52X/5wI0GzvWamE+HwE0zd86tOVIK4r7A/GIhnOTMAgPlAvUclfyef0uzoYBAZGy1MBGPiBhA+oJp/Nvhn5L2kWqlGTGXaNEFtgOyDCr8j+fl2ygsv0EmnrlqX3qF161y899CgR6Stw7P4x4UwLcWdLkaoBBkcBzsQGkP19wJe2bl+96tg7p0pkMhinl3soaFPwVumHQ4RMJEEZ/p9acOHipULoMwjtSrrhQLWfaBWmIzhBnxpFszJwCfhpLFjsz3vEiL7KfaGS0IWZxPxwBcRlr/z9Fzmlo",
        "X-OriginatorOrg": "softathome.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "31 Mar 2026 10:00:52.5535 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n bba008f0-e591-4fcf-1513-08de8f0c64c2",
        "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": "PA2PEPF00019231.FRAP264.PROD.OUTLOOK.COM",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "MRZP264MB1575",
        "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 serie adds the support of ecdsa with software\nusing mbedtls. So boards without ecdsa hardware may\nalso use signature with ecdsa.\n\nTo add the support of ecdsa with mbedtls, I have:\n- enabled ecdsa in mbedtls\n- add a function sw_ecdsa_verify that uses mbedtls\n- add a driver sw_ecdsa that call sw_ecdsa_verify\n\nI have tested this code with sandbox, and I have\nfollowed those steps:\n\n0) build u-boot using sandbox_defconfig and adding those options:\nCONFIG_ECDSA_SW=y\nCONFIG_ECDSA_MBEDTLS=y\nCONFIG_ECDSA=y\nCONFIG_ECDSA_VERIFY=y\n\n1) add a signature node to an its file\n\tsignature-256 {\n\t\talgo = \"sha256,ecdsa256\";\n\t\tkey-name-hint = \"private-key-256\";\n\t};\n\n2) generate an ecdsa key\nopenssl ecparam -name prime256v1 -genkey -noout -out private-key-256.pem\n\n3) create the itb file\n./tools/mkimage -f <file.its> -k . -K arch/sandbox/dts/test.dtb <file.itb>\n\n4) launch sandbox u-boot\n\n./u-boot -d arch/sandbox/dts/test.dtb\n\n5) on sandbox u-boot prompt, load the itb and launch bootm on it\n\n=> host load hostfs - 1000000 uboot-ecdsa.itb\n4628674 bytes read in 1 ms (4.3 GiB/s)\n=> bootm 1000000\n...\n...\n   Verifying Hash Integrity ... sha256,ecdsa256:private-key-256+ OK\n\n\nI have tested with success ecdsa256 and ecdsa384,\nbut there is an issue with secp521r1. \n\nChanges in v2:\n- move ECDSA_MBEDTLS to MBEDTLS_LIB_X509\n- rename lib/mbedtls/sw_ecdsa.c to lib/mbedtls/ecdsa.c\n- enhance dependancies for ECDSA_MBEDTLS\n- fix support of ecdsa521/secp521r1\n- add vboot test using ecdsa\n\nChanges in v3:\n- do not use _MBEDTLS in mbedtls_def_config.h\n- check returns and remove mem leak in lib/mbedtls/ecdsa.c\n- remove useless field  *k in struct ecdsa_test_vector_s\n- check returns in test/lib/ecdsa.c\n- fix third parameter when calling sha*_csum_wd()\n- add support of ecdsa in pre-load header\n\n\nPhilippe Reynes (15):\n  mbedtls: enable support of ecc\n  ecdsa: initial support of ecdsa using mbedtls\n  test: lib: ecdsa: add initial test\n  drivers: crypto: add software ecdsa support\n  ecdsa: fix support of secp521r1\n  test: dm: ecdsa.c: clean this test as software ecdsa is now\n    implemented\n  test: py: vboot: prepare integration test for ecdsa\n  test: vboot: add test for ecdsa\n  tools: mkimage: pre-load: add support of ecdsa\n  tools: binman: pre-load: add support of ecdsa\n  tools: binman: pre-load: add test for ecdsa\n  boot: pre-load: add support of ecdsa\n  tools: preload_check_sign: add support of ecdsa\n  test: py: vboot: prepare test for glocal signature with ecdsa\n  test: py: vboot: add test for global signature with ecdsa\n\n boot/image-pre-load.c                         |  48 +-\n configs/amd_versal2_virt_defconfig            |   1 +\n configs/qemu_arm64_lwip_defconfig             |   1 +\n configs/starfive_visionfive2_defconfig        |   1 +\n configs/xilinx_versal_net_virt_defconfig      |   1 +\n configs/xilinx_versal_virt_defconfig          |   1 +\n configs/xilinx_zynqmp_kria_defconfig          |   1 +\n configs/xilinx_zynqmp_virt_defconfig          |   1 +\n drivers/crypto/Kconfig                        |   2 +\n drivers/crypto/Makefile                       |   1 +\n drivers/crypto/ecdsa/Kconfig                  |   8 +\n drivers/crypto/ecdsa/Makefile                 |   6 +\n drivers/crypto/ecdsa/ecdsa-sw.c               |  33 ++\n include/crypto/internal/ecdsa.h               |  14 +\n lib/ecdsa/ecdsa-libcrypto.c                   |  50 +-\n lib/ecdsa/ecdsa-verify.c                      |  24 +-\n lib/fdt-libcrypto.c                           |   2 +-\n lib/mbedtls/Kconfig                           |  16 +\n lib/mbedtls/Makefile                          |  19 +-\n lib/mbedtls/ecdsa.c                           | 141 ++++++\n lib/mbedtls/mbedtls_def_config.h              |  18 +\n test/dm/ecdsa.c                               |  18 +-\n test/lib/Makefile                             |   1 +\n test/lib/ecdsa.c                              | 447 ++++++++++++++++++\n test/py/tests/test_fit_ecdsa.py               |   2 +-\n test/py/tests/test_vboot.py                   | 143 +++---\n .../tests/vboot/sandbox-binman-ecdsa256.dts   |  24 +\n .../tests/vboot/sandbox-binman-ecdsa384.dts   |  24 +\n .../tests/vboot/sandbox-binman-ecdsa521.dts   |  24 +\n ...pss.dts => sandbox-binman-rsa2048-pss.dts} |   0\n ...-binman.dts => sandbox-binman-rsa2048.dts} |   0\n .../vboot/sandbox-u-boot-global-ecdsa256.dts  |  27 ++\n .../vboot/sandbox-u-boot-global-ecdsa384.dts  |  27 ++\n .../vboot/sandbox-u-boot-global-ecdsa521.dts  |  27 ++\n ... => sandbox-u-boot-global-rsa2048-pss.dts} |   0\n ....dts => sandbox-u-boot-global-rsa2048.dts} |   0\n ....its => sign-configs-sha1-rsa2048-pss.its} |   0\n ...sha1.its => sign-configs-sha1-rsa2048.its} |   0\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 ... sign-configs-sha256-rsa2048-pss-prod.its} |   0\n ...ts => sign-configs-sha256-rsa2048-pss.its} |   0\n ...56.its => sign-configs-sha256-rsa2048.its} |   0\n ...84.its => sign-configs-sha384-rsa3072.its} |   0\n ...s.its => sign-images-sha1-rsa2048-pss.its} |   0\n ...-sha1.its => sign-images-sha1-rsa2048.its} |   0\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 ...its => sign-images-sha256-rsa2048-pss.its} |   0\n ...256.its => sign-images-sha256-rsa2048.its} |   0\n ...384.its => sign-images-sha384-rsa3072.its} |   0\n tools/binman/etype/pre_load.py                |  78 ++-\n tools/binman/ftest.py                         |  31 ++\n tools/binman/test/351_pre_load_ecdsa.dts      |  22 +\n .../test/352_pre_load_ecdsa_invalid_sha.dts   |  22 +\n .../test/353_pre_load_ecdsa_invalid_algo.dts  |  22 +\n tools/binman/test/ecdsa521.pem                |   7 +\n tools/image-host.c                            |  78 ++-\n tools/image-sig-host.c                        |   2 +-\n tools/preload_check_sign.c                    |  24 +\n 62 files changed, 1577 insertions(+), 123 deletions(-)\n create mode 100644 drivers/crypto/ecdsa/Kconfig\n create mode 100644 drivers/crypto/ecdsa/Makefile\n create mode 100644 drivers/crypto/ecdsa/ecdsa-sw.c\n create mode 100644 include/crypto/internal/ecdsa.h\n create mode 100644 lib/mbedtls/ecdsa.c\n create mode 100644 test/lib/ecdsa.c\n create mode 100644 test/py/tests/vboot/sandbox-binman-ecdsa256.dts\n create mode 100644 test/py/tests/vboot/sandbox-binman-ecdsa384.dts\n create mode 100644 test/py/tests/vboot/sandbox-binman-ecdsa521.dts\n rename test/py/tests/vboot/{sandbox-binman-pss.dts => sandbox-binman-rsa2048-pss.dts} (100%)\n rename test/py/tests/vboot/{sandbox-binman.dts => sandbox-binman-rsa2048.dts} (100%)\n create mode 100644 test/py/tests/vboot/sandbox-u-boot-global-ecdsa256.dts\n create mode 100644 test/py/tests/vboot/sandbox-u-boot-global-ecdsa384.dts\n create mode 100644 test/py/tests/vboot/sandbox-u-boot-global-ecdsa521.dts\n rename test/py/tests/vboot/{sandbox-u-boot-global-pss.dts => sandbox-u-boot-global-rsa2048-pss.dts} (100%)\n rename test/py/tests/vboot/{sandbox-u-boot-global.dts => sandbox-u-boot-global-rsa2048.dts} (100%)\n rename test/py/tests/vboot/{sign-configs-sha1-pss.its => sign-configs-sha1-rsa2048-pss.its} (100%)\n rename test/py/tests/vboot/{sign-configs-sha1.its => sign-configs-sha1-rsa2048.its} (100%)\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 rename test/py/tests/vboot/{sign-configs-sha256-pss-prod.its => sign-configs-sha256-rsa2048-pss-prod.its} (100%)\n rename test/py/tests/vboot/{sign-configs-sha256-pss.its => sign-configs-sha256-rsa2048-pss.its} (100%)\n rename test/py/tests/vboot/{sign-configs-sha256.its => sign-configs-sha256-rsa2048.its} (100%)\n rename test/py/tests/vboot/{sign-configs-sha384.its => sign-configs-sha384-rsa3072.its} (100%)\n rename test/py/tests/vboot/{sign-images-sha1-pss.its => sign-images-sha1-rsa2048-pss.its} (100%)\n rename test/py/tests/vboot/{sign-images-sha1.its => sign-images-sha1-rsa2048.its} (100%)\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\n rename test/py/tests/vboot/{sign-images-sha256-pss.its => sign-images-sha256-rsa2048-pss.its} (100%)\n rename test/py/tests/vboot/{sign-images-sha256.its => sign-images-sha256-rsa2048.its} (100%)\n rename test/py/tests/vboot/{sign-images-sha384.its => sign-images-sha384-rsa3072.its} (100%)\n create mode 100644 tools/binman/test/351_pre_load_ecdsa.dts\n create mode 100644 tools/binman/test/352_pre_load_ecdsa_invalid_sha.dts\n create mode 100644 tools/binman/test/353_pre_load_ecdsa_invalid_algo.dts\n create mode 100644 tools/binman/test/ecdsa521.pem"
}