From patchwork Mon May 15 16:16:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: York Sun X-Patchwork-Id: 762607 X-Patchwork-Delegate: yorksun@freescale.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3wRQnF5Cbkz9s5L for ; Tue, 16 May 2017 02:21:21 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 7232BC21D0B; Mon, 15 May 2017 16:20:19 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAD_ENC_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 28D7FC21DC1; Mon, 15 May 2017 16:16:41 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id CDC35C21C54; Mon, 15 May 2017 16:16:32 +0000 (UTC) Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0055.outbound.protection.outlook.com [104.47.34.55]) by lists.denx.de (Postfix) with ESMTPS id 5D4BDC21D96 for ; Mon, 15 May 2017 16:16:25 +0000 (UTC) Received: from MWHPR03CA0011.namprd03.prod.outlook.com (10.175.133.149) by DM2PR0301MB0911.namprd03.prod.outlook.com (10.160.217.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1084.16; Mon, 15 May 2017 16:16:22 +0000 Received: from BN1AFFO11FD034.protection.gbl (2a01:111:f400:7c10::111) by MWHPR03CA0011.outlook.office365.com (2603:10b6:300:117::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1084.16 via Frontend Transport; Mon, 15 May 2017 16:16:22 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BN1AFFO11FD034.mail.protection.outlook.com (10.58.52.158) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1075.5 via Frontend Transport; Mon, 15 May 2017 16:16:21 +0000 Received: from oslab-l16.am.freescale.net ([10.213.168.194]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id v4FGGCfF013028; Mon, 15 May 2017 09:16:20 -0700 From: York Sun To: U-Boot Mailing List Date: Mon, 15 May 2017 09:16:05 -0700 Message-ID: <1494864969-7374-6-git-send-email-york.sun@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1494864969-7374-1-git-send-email-york.sun@nxp.com> References: <1494864969-7374-1-git-send-email-york.sun@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131393385821719064; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39380400002)(39840400002)(39860400002)(39450400003)(39410400002)(39400400002)(39850400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(9170700003)(105606002)(85426001)(86362001)(33646002)(36756003)(76176999)(2906002)(106466001)(305945005)(8676002)(6666003)(50226002)(2950100002)(5660300001)(189998001)(6916009)(4326008)(356003)(5003940100001)(81166006)(47776003)(53936002)(104016004)(77096006)(50466002)(54906002)(50986999)(8936002)(498600001)(8656002)(48376002)(38730400002)(110136004); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0911; H:az84smr01.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD034; 1:mGCbkOgknicRd15Z2Sh2H/NnTQ2/h1jPPl0EuzYdjEGe/RfsLIxXQUun8MxjIsCo3/R74TqOCFEFhIr9dJpkLeVTTNNFT/dvxvywFQWN2TTLc/hTw9K6GqPcQCoiideGlovQdheQ3ZFDddRryLK1nDNPq7QSAufn3dMSGid6CNanjniGfGNX+DAyBppMx1tKFDPAH/ZoaaDGIUHHVYGmpvre5t/7AP0RL5vGHfs6BX4sqFPia5HgsHkDdpsv1ONkAMZlMkBy2nE3JcGq4Ogum6sdUrQy354ouzCYfqF1S6iWVWTbg7u2nrHfJz2/IEfwFCht+f6KyQT4oJfEQUyCxiPNxhRExO7BSmXllArFaJh9TwK8fs7DtkaZ4An3ZgTPYXdBK4QI27BF65s1OvRjuP0HprHi2GW8VpaIxhsYSV8Xl+XCDciLjsJmnsaz8JxRMxoui3uR0ohDnrvyYgkI0iS2ImHmtozSQ8qNXMNBC/1q1VsVT4OOlHYGZVJJza/qQbexOkS8iVnzOGL+QJ0/0o/Dz5pdpK+XBu/bAJT2wvmPrgnwIM9MzPX2KkeJ742MkUAfIrmFm+iiNSpzcfHxK8NytPY/33qmxV7gj0VZ52kEo4uSTNwLDLDIMQtc//regXu+fA3QoeJ/vJQpMiOuSmRNtORaShfKnwe0wpg3iT27cCten0SkAXYIT3PVU5Wwi3GL5OskZq2hdWoKA0h89DGrA1Kp+NqzOUiJ1UEmK4E= MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c14b8c59-fc3e-408c-e8b6-08d49badba31 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:DM2PR0301MB0911; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0911; 3:gGNOfkkClv7/tZTzpXWsXaIHEiewwXNPgkg3bQ4/OA3GgvDi8eCvd3ss2xoOkdA2GNpSuFzHvJBv5SRX3flmFXvs91NY7JQk7crPMgp/IFQaUBoatROKMC0/LqJHLIid0u+DqFa5SzVvgU8xV6KFXQl2/nODxKbOfAJGJjOmYn+9hubN9dGfmEPKm8XkkJjzlBWqPnluds17hF+2qEQShPGPyZ9GNUkJMCNvt3aas+CmaJZDAWFncBCc0pV1Q6OGF3X48FpIa5A777cBSlYO+7reRvZlUyys+HyokSCmNoANKvpOBTLEH4ljIuTTK0T1l9Y3pzuTX/8qUCL3GqqMcNJ0gkhGLUu5TNXbeinK/4MUmbFsPQrjJH+mlT1kwGKv7vKyoo7LR1+wA7jX8vfAEQKXcn4BoMImgxftpgHTLer6N/JmdjZ2b/Jig07hSlPS; 25:gA5le+lu8szTceKPLlJ+0sb6b70BJmjF5iJvXnbC5Gau7t/Y8LF+35lRM7L8VXTpV/tnHoSGdZWO4MD/i7zuwHiKZNexct9mghM7BhUhDhYulvHjqJuwHyPSN+N9DtO9JVlxqg6av+83XenBmOo8u+soGJVmJ+j6UsNUsMEvgtXZG7UW70Z4dMxPUuk4FxEVGHMENRtHy0U1slntHxGMUij7Ld3lP91jZrXaZNTW/ZneiSbcqcguboWowN75oslP6KdoI8qPx2Cw8QOBCGtgBdUs6yl9jrKpTmG552rc3Sfb9z9wbmuKdQFn/eKdjkeLkfxgCcLIg0EofFtbPb/Y04iCmdyJXN+1hsWE5i60drrjmA4OAp+Mp0jGEjCfGQOzq/sex+/XF2XWANIk02ZVmMq8SfVltVHjQSnh3UNOPflxrKQF8W8YZMKGQXnPZcxyA1m8Cui8itAx25U7HTHx+Q== X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0911; 31:X/iYIqW64AcW/J7Mf0LlV59bee7KPsAZiBo3UithSIgtsxHRELI+oZmKla0JoxauLrw+7uk6naC5PTn7/qYgbVeZkOPZoXPOkky8se0RBnNSOz8k5htjYZrW/QeW54dTKo9QxnW7qKvMA81njIfTZnp9IpVvwRphuppQrKX2XVNZm9ktLJL/m0Y+urB0avaPzGofIjQUkxgtSuKtgfoKpdkqERcNk/ylvak7OoCvCnnuLvhbqwkFSbA2C4y8AhcGMGDTV46zfeTZ9yKahq06eQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(601004)(2401047)(13023025)(13018025)(13024025)(5005006)(8121501046)(13015025)(13017025)(3002001)(93006095)(93001095)(10201501046)(6055026)(6096035)(20161123561025)(20161123565025)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123556025)(20161123559100)(20161123563025); SRVR:DM2PR0301MB0911; BCL:0; PCL:0; RULEID:(400006); SRVR:DM2PR0301MB0911; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0911; 4:ZsbtAx54xksToKDnt2R+ia4kPLQGQRhRd5XijfId?= =?us-ascii?Q?UUWIFfPwUcSRZEG3JGu4SfeRiwLUHrEZ9sajXL22d0pmIABmVvQxOFpNzF5q?= =?us-ascii?Q?QFVhlhp4wNMR5eRc0iZ6pMcFNcpr1hh6tSFUe9X/LP5YJeyRQVqf59NP4C3U?= =?us-ascii?Q?0TjTPHH9F+vbuMJCX0wtvBClWyTnofRgNS1n+vaqY8wid14j01bqfl5+Lj12?= =?us-ascii?Q?3KJRLEhqBlxKedwYKaJEmMPl33p9DIrFcrjIhRTSQdx6byLpDCEk0JTlMqBZ?= =?us-ascii?Q?DHM2chbLzIk5f3cKHfO39RG1XRKQi+PItJiHdsXIgUkDEMAf3Pelhafi7b6Y?= =?us-ascii?Q?yQhJOLJBjjPtbV6fNC86C6JPGIGL3T5iwJPhVnWtfsSHjrVuQgMTDpmRoUKI?= =?us-ascii?Q?7m52KWkVQLTZqBA73UDQ6eI7bnhgd5lPKsN4ZF/nluTxC92/oSdJBjI1J/Lp?= =?us-ascii?Q?5rPMG+t+7VAKN8t6n+tA50fYf2GI+1Lt40xvFEegWyijVwnHg4VhVoSzzpVI?= =?us-ascii?Q?7jbXrAX0cfKE8AvIGGg4mhBdxOZXJ/tIRzeIRSXeNUPfFOVu3WfzSoxPNUYO?= =?us-ascii?Q?GbwnC9pkFdvpdNZTr69CIeRVk4FZR32V3t0sxim1dbOyU6CxrQtnq6SGgfcj?= =?us-ascii?Q?ubMc3QiUN2pCiDKu2k8qOlKsneL1Z5c/j6a8XVX2p48v2+HOY/nKPRb8BJpa?= =?us-ascii?Q?z4Htg58VGRH49741/P4rknlozy1mZM8+a+97J9n3YF7dhV/RB/MkOVw8RP3X?= =?us-ascii?Q?5tdWw+XJbkW8GeDqWZi5QBq+WjRpJK3tVrxm7zHZxDCJ//FQliK8PP0gi8ZM?= =?us-ascii?Q?xobCgHPWqmSCMNI+daJ4ZL/1qdTgdICYqDS5j+AKXWTDvf4smBCrEVczRZmI?= =?us-ascii?Q?d7zLfWYBLXhRs7UkVraZKpZYSXEwXWw43zES9XPWJXtXDlfV+SvZTjsBkAh9?= =?us-ascii?Q?bh238QZ/axBQ03hjdsWnGbWB2M1FmlZMtXgSMvd2tA=3D=3D?= X-Forefront-PRVS: 0308EE423E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0911; 23:sBoyrwRyL682CNXUtYHiPnxXdmAIxOm2M4K7rh8?= =?us-ascii?Q?jA6SbSQuF568bumiWh/UecmgDM/6ioXXBhCiNaGUaFfmwAet2afQXsyK1aI+?= =?us-ascii?Q?Q9FkUebQbDFMg7/wQ0ctQo6l/Pf63TjgScNccVvd32MS5e/42U3n9pnN89ng?= =?us-ascii?Q?Alw0zlHOw0kTU3PYezGZ12nf4MVL1bDIrlwuqmXlPebNFw7XptUzY6XOxq4d?= =?us-ascii?Q?l1tDYE1trULiNiZUcUJHDwEeQiUjvsH6EtiS2XPykNrM0YRrulpw2tRIx26R?= =?us-ascii?Q?QNIkMp8OW+mWnmfL3Cl0ncT+EfzpH4b6N1C/2wanqfG/Jk95LRefcM3KJuJF?= =?us-ascii?Q?862KCX3uJwiqB/nMsjFcSn6HakawwCQ/PbpzIQW4oBj9pEL/0Zn/7x76z+Wo?= =?us-ascii?Q?mQGHpOFBDV2MnXPQQc+H+BYkMoNfA+Q6w3LQYsCdsV4pB5XWPJP0rBq4FFIS?= =?us-ascii?Q?V20YG3rXYyzs+B+JU2lsTi0jNDdi+bClvvHRFVWJXk0hWqzeEQfTiy8pJDbW?= =?us-ascii?Q?lNPMaHQoXY1zsXNW+F3AyxlK4VzRUQEj/tStZIDAdymtAtUDtQlSbYBzNp9v?= =?us-ascii?Q?wajApCvX86Nsgwth0R2XSrRgaHTtvo+G89L+2J1HRQMHQmYGKsjU45Cnbvs9?= =?us-ascii?Q?C1Txw80yzUjf0mnRVV8HIWx1hiaShYdqGUTQIwKXw4u/TNPivA/UyK7vSV4Z?= =?us-ascii?Q?M0FY6/tW8Y50urlff//ewxievo92onjr+UfkTgnCLp0XU8IF8F2bja0ni9R/?= =?us-ascii?Q?0tkKtwOU94vFEjxhkGbeUSRbouZJqbrupgsDa3gxrTal0d+T87cviOy+kGwa?= =?us-ascii?Q?VEYfdvFJQDnpQAs7urTIWYqJLfsiy7mvoxHFNP1ZC8aGasYDIrlgQ2p+ECdH?= =?us-ascii?Q?S+ONz3CIuPeJjMeKXAyKSk0T/cymfjOPBTjrYag6ht8P9+gEmZ9Wiculz+xs?= =?us-ascii?Q?CfEON2l+0IIuukeTK8xC/6V6zKOxXPqnl8gusWnOZxr/4OkMJsttCxCQBSUU?= =?us-ascii?Q?iwRRzdF0+LopSsbReQCkn8iAEv00dSJxhfIKzaX3nRh9WqjQEh6Xiv2ExifF?= =?us-ascii?Q?BT5St9qd7uCBJXHLqYFFovJGKupr7xSn3urp0PKoJ7lUgLT4Hsu+SU4VAycz?= =?us-ascii?Q?ufhpMXYS6b/kzZ+uf31kdIza7BIuLRXsqnv8E7/t2Og6s7k6iSsIr4GitCgz?= =?us-ascii?Q?HCl3Tvl+cgEcYdXxMDW9mwcS9lU3+kLJvimvcetwlH7qE5Fea8nJ2aavINQ?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0911; 6:tJ/yfjPCVrrBtl8Mi1Lz+P+CXp7FRmOcW7BhIVmkE9/lsIK3UzNnJ9pODdn/nRWbUg0oVjwh2cuqnwscT1C7xDOuv66wW8BzHNnxxUxYlHLhOWi9zrg4XASk/HK5CgWNU4KtHYAoU5YMMPh51QOI2P68sehjcqTVeh0el08qwoaq673qNtHHA874SGBPeOhlMGMQXADe7ZMWN3icUovCMbAnX/P/ql9MRwhkD0OkVOT/O6HdtCm9Uvmy1ViYvDOf6UsLJDJBfPQqehxNgkzNNqoqD7RqsW/8zNbW/4i+Zyuw93euaXstqUCAWMslPPXSGEiqAMSr88m/lo0o5rNbQDuJNkIAMrQVTuhY/b5Y7DdY40cwND1wbb/dC/asq7gmgWUZ6sAbR5UXur7MfjMl4vF+znOHJbNiUheUFeYJ2K50aGHumnZCnIWbOYzWU4ly6u9HfPN6Sc00XuqNaqL2UcaZTmuowBa/VeInY5PDbJPfmk0LW9B+/RLEeemqauBB1WyGAfeoSdfONYRiQlLYuQ==; 5:DeuD95z7YHYXg5rmzQ4jNanzLkFcbG1N9dBdpPQaM8gl6FXVqIBkrJCsB9YiT1rdi/wEI8U+I80EHASvoHn4sk+jXHOdXT3r9AfYmzxafto6x3DgyoHV0uqYIpreei43u+FzvR7QfB0t/GZE6yhrVrdfgKQoAn1IXMx15hAbflc9lKsd6sR945dDN3NG1/p9; 24:5WXT0bb/Ddwuk1z58tf7ZGl81SIxpFS0SKBFnt6hE4gMGMKJAvA8At5reXxSo0e5n8kNRqiIKJoAWZqnSwMEuqbBcmpnaChsC34bj56BUds= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0911; 7:ylT4MJVvCpvlt/U9ufmDc1BEfLRXt24RKkfEIhn0dzZI/9RIvCAov6w/tMW1kot50dwosHGj3H2PaCYl9NG0UTbO01Kmop7ghrSeua6bgRLRSxNsU+H6C+37MxrtIK5dg+yFlfeGefDROuwgBRovu268zxa0pnLpa83ayYY3DvljzeJ9+lgWbpkJ+GdzURVj4qaPHypKoO+6NNpqoefl0LvsrvByDTPTaxlKfW25cAihB94M/pUb+f0bt/pqi0SERPlGUPPCTIxlLQsnXBzskwpgtcl8FyRNQwjlqQzvFg6IYouxCitxs3ChaZhi60LtUhhmLeE7Erpfai9NSXuBEQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2017 16:16:21.9223 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0911 Cc: Udit Agarwal , Aneesh Bansal , Saksham Jain , Ruchika Gupta Subject: [U-Boot] [PATCH v1 5/9] fsl: secure boot: Add fsl_rsa_modexp_raw function for scenarios without DM model X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Ruchika Gupta Add fsl_rsa_modexp_raw() for secure boot during SPL stage where DM driver is not loaded. Signed-off-by: Sumit Garg Signed-off-by: Ruchika Gupta Signed-off-by: York Sun --- board/freescale/common/fsl_validate.c | 13 +++++++++---- drivers/crypto/fsl/fsl_rsa.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/board/freescale/common/fsl_validate.c b/board/freescale/common/fsl_validate.c index 86baecc..96bd879 100644 --- a/board/freescale/common/fsl_validate.c +++ b/board/freescale/common/fsl_validate.c @@ -786,10 +786,6 @@ static int calculate_cmp_img_sig(struct fsl_secboot_img_priv *img) { int ret; uint32_t key_len; - struct key_prop prop; -#if !defined(USE_HOSTCC) - struct udevice *mod_exp_dev; -#endif ret = calc_esbchdr_esbc_hash(img); if (ret) return ret; @@ -797,6 +793,14 @@ static int calculate_cmp_img_sig(struct fsl_secboot_img_priv *img) /* Construct encoded hash EM' wrt PKCSv1.5 */ construct_img_encoded_hash_second(img); +#if defined(CONFIG_SPL_BUILD) && !defined(CONFIG_SPL_DM) + ret = fsl_mod_exp_raw(img->img_sign, img->hdr.sign_len, + img->img_key, key_len, img->img_encoded_hash); +#else + struct key_prop prop; +#if !defined(USE_HOSTCC) + struct udevice *mod_exp_dev; +#endif /* Fill prop structure for public key */ memset(&prop, 0, sizeof(struct key_prop)); key_len = get_key_len(img) / 2; @@ -813,6 +817,7 @@ static int calculate_cmp_img_sig(struct fsl_secboot_img_priv *img) ret = rsa_mod_exp(mod_exp_dev, img->img_sign, img->hdr.sign_len, &prop, img->img_encoded_hash); +#endif if (ret) return ret; diff --git a/drivers/crypto/fsl/fsl_rsa.c b/drivers/crypto/fsl/fsl_rsa.c index 5471504..32c059f 100644 --- a/drivers/crypto/fsl/fsl_rsa.c +++ b/drivers/crypto/fsl/fsl_rsa.c @@ -15,7 +15,34 @@ #include "jr.h" #include "rsa_caam.h" #include +#include +#if defined(CONFIG_SPL_BUILD) && !defined(CONFIG_SPL_DM) +int fsl_mod_exp_raw(const uint8_t *sig, uint32_t sig_len, + uint8_t *rsa_pub_key, int keylen, uint8_t *out) +{ + struct pk_in_params pkin; + uint32_t *desc = malloc(sizeof(int) * MAX_CAAM_DESCSIZE); + int ret; + + pkin.a = sig; + pkin.a_siz = sig_len; + pkin.n = rsa_pub_key; + pkin.n_siz = keylen; + pkin.e = rsa_pub_key + keylen; + pkin.e_siz = keylen; + + inline_cnstr_jobdesc_pkha_rsaexp(desc, &pkin, out, sig_len); + + ret = run_descriptor_jr(desc); + if (ret) { + debug("%s: RSA failed to verify: %d\n", __func__, ret); + return -EFAULT; + } + + return 0; +} +#else int fsl_mod_exp(struct udevice *dev, const uint8_t *sig, uint32_t sig_len, struct key_prop *prop, uint8_t *out) { @@ -59,3 +86,4 @@ U_BOOT_DRIVER(fsl_rsa_mod_exp) = { U_BOOT_DEVICE(fsl_rsa) = { .name = "fsl_rsa_mod_exp", }; +#endif