From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM04-BN3-obe.outbound.protection.outlook.com (mail-eopbgr680050.outbound.protection.outlook.com [40.107.68.50]) by dpdk.org (Postfix) with ESMTP id A88B3532C for ; Thu, 25 Oct 2018 12:00:58 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2Ub0zlSYC/xI+aR6pq4MT0MXNFK6kjfAdk3cEE3g3fM=; b=njV7m6c9LyAlCx05Y/pylipdv99g+nl6VP7v1SaXfeqcxR5W9vzI4XaLPysMA4xIdctL+eYPN1frUZkBjRLw/cEoe+T8Rrcgb4WdTET/83VwfpbICX6I7WwZP+1PwT5xU0IMmn0u/48kih1xnUdfEQ77o+JDi5Sr3PZC8TYKtRE= Received: from MWHPR07MB2783.namprd07.prod.outlook.com (10.169.237.19) by MWHPR07MB3005.namprd07.prod.outlook.com (10.172.96.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1250.30; Thu, 25 Oct 2018 10:00:57 +0000 Received: from MWHPR07MB2783.namprd07.prod.outlook.com ([fe80::38e3:533b:287:e034]) by MWHPR07MB2783.namprd07.prod.outlook.com ([fe80::38e3:533b:287:e034%5]) with mapi id 15.20.1273.021; Thu, 25 Oct 2018 10:00:57 +0000 From: Akash Saxena To: "pablo.de.lara.guarch@intel.com" CC: "dev@dpdk.org" , "akhil.goyal@nxp.com" , "Verma, Shally" , "Verma, Ayuj" , "Saxena, Akash" Thread-Topic: [PATCH v2 1/2] crypto/openssl: changes for RSA verify operation Thread-Index: AQHUbEmfdDq4ecZHxEajht87kO1sJg== Date: Thu, 25 Oct 2018 10:00:56 +0000 Message-ID: <1540461621-28828-2-git-send-email-akash.saxena@caviumnetworks.com> References: <1540461621-28828-1-git-send-email-akash.saxena@caviumnetworks.com> In-Reply-To: <1540461621-28828-1-git-send-email-akash.saxena@caviumnetworks.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [115.113.156.2] x-clientproxiedby: BM1PR01CA0072.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:1::12) To MWHPR07MB2783.namprd07.prod.outlook.com (2603:10b6:300:2a::19) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Akash.Saxena@cavium.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; MWHPR07MB3005; 6:eNLrZAQfkEC6QXT0lM2YRH50Eqel6XVzTxyhOpS4GfZBSNTf7/dONUsMrol/AHC1risbMIgt1QRR0MElo2A/BBVQVaa+kqPQSr5bc9zmdRV8dI60pt8tBgE/tdXGfuBwtN3gRc2mgOUZKvbYTuqZzbvg0LQx0UvHqyZ9ue/Dy24OnsjXGN0OKyQLAXhWPYT/TFgsObM+MbIC3SNqBkLD+f49BousM1sbSDpm31kVbK12KhOsMoc/azdmatvsW8YCKEod11eskbS7wqiVuiQJD2fHEpQL52izoKS5TY7LTGUTCEqAmjVxkoxSunvU9EclQmaDewnsfZgBKxmqy0sYpJGm0mdXjhewTsRdPGCnAZAqXctsx0Pk47B3UZn9WrcJb11MUogB3xNao1JZfzvjoPEOI4fv+N6gW0PpkJxJhdzeaVMu6m84Ees2ENO16ntunWEVGAaSEMn7HO5cg0SyvA==; 5:zhVQnfUlfEiUF5JEdXWKt0fj+vr+GYTRbiJstG7K4ZQWWXqoMT+9PYgNOr4pF9/ZIJ3j/P1gFjyaXVibSXEMijizqnWxiygF4qvCCpjQuvt4oTN2ep1Y7YEtic0DL5IvfA+VYTzQDiQa62Dzg/TVbZnAeekbvUgC+T9mw+AIQ58=; 7:fVkU719NZqueEC0lfnxHeL8RPMxpNhhg+XH5qYtWGao6eX4MnmIDNhhnnQ4KOgqV2UvowRfDEGUWiMvGlsqxnqc4Et4aTx3+o81BSrKoryUcDapN5bhT8fLYAa4x0w9/fl5Pvi2gngIWbm05gJzVJqiQ1/zHTSRx4dA6X5DvEBzyWXFs6LV+RJ9pbih+RiBLc8yzBd/qaIpx1r10diDAyZEmmbdoEKaadC4wjfjlrwtsXVPdUApqOp8UR9JXdl2j x-ms-office365-filtering-correlation-id: 2e575f4b-b0dc-4d53-dfe2-08d63a60c1fd x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:MWHPR07MB3005; x-ms-traffictypediagnostic: MWHPR07MB3005: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(3231355)(944501410)(52105095)(10201501046)(3002001)(148016)(149066)(150057)(6041310)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:MWHPR07MB3005; BCL:0; PCL:0; RULEID:; SRVR:MWHPR07MB3005; x-forefront-prvs: 083691450C x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39850400004)(366004)(376002)(136003)(396003)(346002)(199004)(189003)(386003)(6506007)(36756003)(68736007)(6486002)(99286004)(81166006)(6116002)(575784001)(2616005)(316002)(55236004)(3846002)(102836004)(8676002)(81156014)(5250100002)(2501003)(76176011)(486006)(72206003)(53936002)(42882007)(2900100001)(476003)(2906002)(6436002)(97736004)(5660300001)(107886003)(186003)(6916009)(4326008)(25786009)(8936002)(256004)(14444005)(14454004)(52116002)(478600001)(305945005)(5640700003)(7736002)(54906003)(26005)(446003)(2351001)(15650500001)(66066001)(11346002)(106356001)(105586002)(71190400001)(71200400001)(6512007); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB3005; H:MWHPR07MB2783.namprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 6Ci9xSIb5w278LNXpsoSOY9wHBoAAUjqQTMXyEa6T7IwCj7Np66clqJ0JO1feTjPJG++Y9H7dI845nGmoxALpiSpxl1CjYx1bxyzcjYmzPS8OyX8dmtKWyK+XUN+qZ93M1eDHX8XwhiPoV8idwMEjeZeanP0bKecmU4p0pD3DlaofO4XQna+/OA+GbpmKO2GEjJsio1xTH4IfIVHlqr0QSzSmFRjKJxbGrmcP2Rs69pyq8eBHe3yLmOFaJaYBLtz0LyGGCBMz+5u+W4r1opK5w0WHNPWRxMX5s6kkp6hrxZw/XEUe4miTeDDRaFnrSJhsOdyx9oSxbsdu1oSSxEhtH+sSNo6+qxLElQOG0+jKPU= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2e575f4b-b0dc-4d53-dfe2-08d63a60c1fd X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Oct 2018 10:00:57.1430 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB3005 Subject: [dpdk-dev] [PATCH v2 1/2] crypto/openssl: changes for RSA verify operation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Oct 2018 10:00:59 -0000 Add tmp buffer to pass to OpenSSL sign API and memcmp output with original plain text to verify signature match. Set op->status =3D RTE_CRYPO_OP_STATUS_ERROR on signature mismatch. Signed-off-by: Ayuj Verma Signed-off-by: Akash Saxena Signed-off-by: Shally Verma --- drivers/crypto/openssl/rte_openssl_pmd.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/open= ssl/rte_openssl_pmd.c index 003116d..11ea0d1 100644 --- a/drivers/crypto/openssl/rte_openssl_pmd.c +++ b/drivers/crypto/openssl/rte_openssl_pmd.c @@ -1843,6 +1843,9 @@ process_openssl_rsa_op(struct rte_crypto_op *cop, struct rte_crypto_asym_op *op =3D cop->asym; RSA *rsa =3D sess->u.r.rsa; uint32_t pad =3D (op->rsa.pad); + uint8_t *tmp; + + cop->status =3D RTE_CRYPTO_OP_STATUS_SUCCESS; =20 switch (pad) { case RTE_CRYPTO_RSA_PKCS1_V1_5_BT0: @@ -1895,9 +1898,15 @@ process_openssl_rsa_op(struct rte_crypto_op *cop, break; =20 case RTE_CRYPTO_ASYM_OP_VERIFY: + tmp =3D rte_malloc(NULL, op->rsa.sign.length, 0); + if (tmp =3D=3D NULL) { + OPENSSL_LOG(ERR, "Memory allocation failed"); + cop->status =3D RTE_CRYPTO_OP_STATUS_ERROR; + break; + } ret =3D RSA_public_decrypt(op->rsa.sign.length, op->rsa.sign.data, - op->rsa.sign.data, + tmp, rsa, pad); =20 @@ -1905,13 +1914,12 @@ process_openssl_rsa_op(struct rte_crypto_op *cop, "Length of public_decrypt %d " "length of message %zd\n", ret, op->rsa.message.length); - - if (memcmp(op->rsa.sign.data, op->rsa.message.data, - op->rsa.message.length)) { - OPENSSL_LOG(ERR, - "RSA sign Verification failed"); - return -1; + if ((ret <=3D 0) || (memcmp(tmp, op->rsa.message.data, + op->rsa.message.length))) { + OPENSSL_LOG(ERR, "RSA sign Verification failed"); + cop->status =3D RTE_CRYPTO_OP_STATUS_ERROR; } + rte_free(tmp); break; =20 default: --=20 2.7.4