| Message ID | 20250904115704.58413-12-Michael.Glembotzki@iris-sensing.com |
|---|---|
| State | Changes Requested |
| Delegated to: | Stefano Babic |
| Headers | show
Return-Path: <swupdate+bncBDY5JUXLVIEBBIH54XCQMGQENY36JUA@googlegroups.com>
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@legolas.ozlabs.org
Authentication-Results: legolas.ozlabs.org;
dkim=pass (2048-bit key;
unprotected) header.d=googlegroups.com header.i=@googlegroups.com
header.a=rsa-sha256 header.s=20230601 header.b=JEV0I1LC;
dkim=pass (2048-bit key;
unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256
header.s=20230601 header.b=cr9yfHx/;
dkim-atps=neutral
Authentication-Results: legolas.ozlabs.org;
spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com
(client-ip=2a00:1450:4864:20::338; helo=mail-wm1-x338.google.com;
envelope-from=swupdate+bncbdy5juxlviebbih54xcqmgqeny36jua@googlegroups.com;
receiver=patchwork.ozlabs.org)
Received: from mail-wm1-x338.google.com (mail-wm1-x338.google.com
[IPv6:2a00:1450:4864:20::338])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384)
(No client certificate requested)
by legolas.ozlabs.org (Postfix) with ESMTPS id 4cHdJP30xmz1y20
for <incoming@patchwork.ozlabs.org>; Thu, 4 Sep 2025 21:57:25 +1000 (AEST)
Received: by mail-wm1-x338.google.com with SMTP id
5b1f17b1804b1-45b85c93afdsf3919985e9.3
for <incoming@patchwork.ozlabs.org>;
Thu, 04 Sep 2025 04:57:25 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1756987043; cv=pass;
d=google.com; s=arc-20240605;
b=PmXmDQoBqj6CqWryBW0PFFle2WjvFm4Q8l9Ll1oVeB+1aeXG/Q4ao91+L2PPC6iiNW
Z3LBq0zpu4Gz5+ocDGtpE5A/Qgt6Ozs7Y6+d0tt2mUmV3Pburhf/gXqWQ6mBnYCb1tkE
JscIrskUXt0aVbxCvGg4hePU9v0Quk0ZpCh9TRW98OsTeBnewEsN76Q31us6htLOA93/
bLkCF7kRQEOPA+CFWBGAYSjV4DS3IpSwwnqUO67a9a+VTdiI1Q9vL40osfK30GaU+M5f
gEnhV9PYYODpYjiJspd46XqxwZGgQcp6LUbmLSEqXzBWV1QMjm0FG5JRPt5N/EqJlQFh
LoYg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
s=arc-20240605;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:sender:dkim-signature
:dkim-signature;
bh=v939yA2NezQ9UZcKCy24UKqKTcehed5lE/jiwcVCIPQ=;
fh=Ts0sJyZsXNgT/7XrOcmyZsDZtFz0ca41X65wxY20NUM=;
b=ekQ0eTM8V60IKNPdfdawTTL8NPzTqFmZO8ixnW47CMCxI7Bl6OaGegK2Q+A4ePgEhT
c+9Sv8WEWqKCBOpjPjtt9I18GrdQVfy3k/0Egak88+MMCEB1OiOf7wvnXEzVYkbM4HNo
T2o87QY3DXrS5ubUEgHqcn1NsTZAei4tYrDiQzzXqmnKMVphZ5wIbn72ykl153esQQN/
gk70pnJvhaaSjoH0A4Q2hRillnmSrVS19pKkiIYoKFdG2q2AA7XweckI6laL2+N5eg89
KGoanvEsTCgkk4XiugBRnqtTdDYec5H4v0h8f1yxSSzvq1Q8HZIVj9Du47kSsh1QJ3dS
4F4Q==;
darn=patchwork.ozlabs.org
ARC-Authentication-Results: i=2; gmr-mx.google.com;
dkim=pass header.i=@gmail.com header.s=20230601 header.b=Uc6FykeO;
spf=pass (google.com: domain of m.glembo@gmail.com designates
2a00:1450:4864:20::62b as permitted sender) smtp.mailfrom=m.glembo@gmail.com;
dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;
dara=pass header.i=@googlegroups.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=googlegroups.com; s=20230601; t=1756987043; x=1757591843;
darn=patchwork.ozlabs.org;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:x-original-authentication-results
:x-original-sender:mime-version:references:in-reply-to:message-id
:date:subject:cc:to:from:sender:from:to:cc:subject:date:message-id
:reply-to;
bh=v939yA2NezQ9UZcKCy24UKqKTcehed5lE/jiwcVCIPQ=;
b=JEV0I1LCIu8z4gkYRjuDNdrdVc9SDsP5qo9sIj7YIRdOOhwNBdUPVyQB7JIvsmKNsE
hDusOcPHd0dMkrJtPDHYMKrBLncR9TA6ev0+AL6vi24fzuGUvoqE9ZcMHmeQSlJ0cgG9
fLY6hmVwJcOXKiShl4vfX/ME4PwMI+DlCycrZWm7NHCGYNo9R2cBMjX3QC1UuLhdc6zc
Q+Pwv9+KHPkvFD8Yz+AgP9+Y3jrF4B7uzrvAnylWCX+4bNqhD0pct0tK9xjrNWtAPsNj
tNOI20nwDzhW6ohJ7aaJxa5bGoB9hFvXYgIdUEXemM47XaDZHmoQGnlhnw3W1UCZAmvF
+ovQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1756987043; x=1757591843;
darn=patchwork.ozlabs.org;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:x-original-authentication-results
:x-original-sender:mime-version:references:in-reply-to:message-id
:date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=v939yA2NezQ9UZcKCy24UKqKTcehed5lE/jiwcVCIPQ=;
b=cr9yfHx/M8qVI2ayL0+tcBNEXOndwh+QuHBhZ2i8RDUETQP1Jeomhu09Mbfn1n9NG9
Zc+C4dl7V/mWRleDnRgDtBS0hHypTgvIoHptIUwakYRoSotMcsKXNclSBkJDNuZF6Rvy
gp4IVRBzq3jCfytm+RgotaRCkaWbxHQHZN7iEPZ89YkOg1XrnABZN64GHNlgGu1Ud2BN
793pu7KUQi/s2yc8UddnCbBy99cES/c27+OML9U0tdWGZY70ttbZ1dB6obV4lPNTHkAv
C6hmf+77YxZeSImkK8U2jj76U2FdjtzrXYjbLjeA7yBHErPf2UB7nR/1KHtqd7PHyzvr
gemw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1756987043; x=1757591843;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:x-spam-checked-in-group:list-id:mailing-list:precedence
:x-original-authentication-results:x-original-sender:mime-version
:references:in-reply-to:message-id:date:subject:cc:to:from
:x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date
:message-id:reply-to;
bh=v939yA2NezQ9UZcKCy24UKqKTcehed5lE/jiwcVCIPQ=;
b=EkN/L2op+X7tHhOC5s30SfSKNiKX8HC9EQkj7dt7gziffV4iUFcd+EZZ87toJbudLe
nd/vlic7/Q62jNVwV6WyPRzIw0fMmPErqprCgtoiFDfyBBqbawQWOmlIobC/LahMH0jc
PXsvZ11F8v7ztbM/831xgDbngm0nra3Dpu2T0WuvJKkQsmcnW7ZJwU/DOdBCu141Ps5v
aDR9FZoLXwlrz2Bc10MgHBIbkzSsOVT9Y+S+I42ZRaoQ9g+7SM8EoezpxUOk0jibI0aO
g7TP8DHrn4JzpzQITIIBTMfFciQ+yqgjrencbbPLYnEqZ6hkItZKOom83XuLdaJlKSk7
z8dA==
Sender: swupdate@googlegroups.com
X-Forwarded-Encrypted: i=2;
AJvYcCW1DGoJckqPH1VXtqaLR5C4W0l8174AFIqir34gXPKbd94wVHRnse2NuvzEG/STusq39AM+wiww1w==@patchwork.ozlabs.org
X-Gm-Message-State: AOJu0YzvS7KKHKdxGtUSTN+LukFZNxV2B1Tx8sY5hyn51FcNv/sV+gme
Xlg8Y4ccOe4GkJCWlUKc5yPSsfNqQAb7T0YSLDI/wGEMgam6l/pIvspx
X-Google-Smtp-Source:
AGHT+IG4VRuS0ELNFnY93Jpcu7iRLM7Mcbp47L5SrQYhVYhoR8FIRAVBpZvcc0KdUAQ5cuZX9oQj+w==
X-Received: by 2002:a05:600c:3ba8:b0:45b:6705:4fca with SMTP id
5b1f17b1804b1-45b8558b82amr180843935e9.31.1756987042717;
Thu, 04 Sep 2025 04:57:22 -0700 (PDT)
X-BeenThere: swupdate@googlegroups.com;
h=AZMbMZcwAbg/ropakrB10oNkz18wWj0JddvHSsdCki4MRMR5Iw==
Received: by 2002:a05:600c:4b17:b0:459:ebdf:b560 with SMTP id
5b1f17b1804b1-45b990edc8els11554425e9.1.-pod-prod-04-eu; Thu, 04 Sep 2025
04:57:18 -0700 (PDT)
X-Received: by 2002:a05:600c:358c:b0:45b:9a3b:34aa with SMTP id
5b1f17b1804b1-45b9a3b36d5mr94996985e9.16.1756987038017;
Thu, 04 Sep 2025 04:57:18 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1756987038; cv=none;
d=google.com; s=arc-20240605;
b=RQlvO6YIBhvV2dZbP15AI3/cWxhTpvMCNhJnTQdxksmkHZlNB7U1UzmcolKatA/hnE
gGrDV0Y4XoxrJH1saycuk9j8m69GASIc1Vy8sfMtXLzwZlxHCsJzxLUltROwpU6QKcxn
D+vypzZCSFk2io6F52Q9Kz+JEgRF//hxZL1BrCxzXtVnN/iTxM1o8YPbrZRd5ZB1/lfo
jWPmePKJu/rmJph4oooaGlgjbhiO2Lq705CVM5HBVPm2azRdpBx8BVji286nIFi0DrKh
P7z2r+e/jojXcUNJjfOWN4mAf4QI9rF3hqgNvtQ2z8af26H4iw063FHYVmJdB72Ac4zb
NW0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
s=arc-20240605;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:dkim-signature;
bh=582jEpM5290Nyk32QX1tCHIU67xSLHbjL9VZB05Ztpg=;
fh=zydHuzCQWrku2OPQyZfraJZFcOpEXLQ/YBcu3QNiBd0=;
b=Z6EM4iOrhyDMrkSVS8Y5DKOTQ5gf3AiMQuLacFXT4WzYC5iDbTVcZl1sCmQbt+Y+L+
IBDJY2EC8R+S1Sel2yIIkWiDrVlfVmj4uacATZ7gah4tlm4qjCHhumVQ1yAXXugEcLUn
monTk+VE0BR+83cCeFfjQxLveYhC3OzmV7Q15bXv8Pwrmhp+LGuwW8irmlLOLHahNLRU
ElvSgIasB8rhG7A/3waJX1P0WGdi027cNXmOCdcL5ut/c7A9QqqT/Os15+yYZuYQyqrj
oxSlbehIOtjpw0WLqj1hGk5Lc2VdhM7JSvLfX+sXY9q05Ke1PC9APvEjEEq0gXFOr9ha
aU0g==;
dara=google.com
ARC-Authentication-Results: i=1; gmr-mx.google.com;
dkim=pass header.i=@gmail.com header.s=20230601 header.b=Uc6FykeO;
spf=pass (google.com: domain of m.glembo@gmail.com designates
2a00:1450:4864:20::62b as permitted sender) smtp.mailfrom=m.glembo@gmail.com;
dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;
dara=pass header.i=@googlegroups.com
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com.
[2a00:1450:4864:20::62b])
by gmr-mx.google.com with ESMTPS id
ffacd0b85a97d-3cf2883c69csi259554f8f.3.2025.09.04.04.57.17
for <swupdate@googlegroups.com>
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Thu, 04 Sep 2025 04:57:18 -0700 (PDT)
Received-SPF: pass (google.com: domain of m.glembo@gmail.com designates
2a00:1450:4864:20::62b as permitted sender) client-ip=2a00:1450:4864:20::62b;
Received: by mail-ej1-x62b.google.com with SMTP id
a640c23a62f3a-b046fc9f359so165993366b.0
for <swupdate@googlegroups.com>; Thu, 04 Sep 2025 04:57:17 -0700 (PDT)
X-Gm-Gg: ASbGncth5K4lwmPjsbX/A0M5QcHc6Z7U8VALwMwblvLh62SLzK/ZvslJAYu+FvgtpCA
5C91R9e4qrBrL2n+kQEWogBK2/ToOg0LzyU9PzT82XRgzNjs9TFzbIhp1/9oiA0r5qhbXfekewt
OCSjZVKy047Rxqxgkiu2CKLdxBCA3fxbq0ZRpylrc2T1TXISyGeCrjN9An3x1JO1TUihcmaV/YJ
eatSmXvuLUzFFFjlMhY4uItph3WxrTLoVW1PnWKMOGt91xvrSAS0gns7v9DAkb6gqzW+T9zwCOR
jQDiXHqOQWNlCW4RIUbHPD/UN7UG9zQ7P+eazUlstIsz2ayCdnXkbqSjrYHbFq0XsLLUZx4xvSn
xL8WlWDrXeFZTBOHfq8Sgl461pqFYo3/9OUOg0fsg0Nf5EVpsHZTYxg==
X-Received: by 2002:a17:906:f587:b0:b04:5829:97bf with SMTP id
a640c23a62f3a-b0458299b16mr987740066b.55.1756987036993;
Thu, 04 Sep 2025 04:57:16 -0700 (PDT)
Received: from PC-2635.irisgmbh.local ([2a02:8108:96a3:5d00::454d])
by smtp.gmail.com with ESMTPSA id
a640c23a62f3a-b04129eccbfsm1203751066b.7.2025.09.04.04.57.16
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 04 Sep 2025 04:57:16 -0700 (PDT)
From: Michael Glembotzki <m.glembo@gmail.com>
To: swupdate@googlegroups.com
Cc: Michael Glembotzki <Michael.Glembotzki@iris-sensing.com>
Subject: [swupdate] [PATCH v5 11/16] cpio_utils.c: use per-image AES key / iv
from sw-description
Date: Thu, 4 Sep 2025 13:49:58 +0200
Message-ID: <20250904115704.58413-12-Michael.Glembotzki@iris-sensing.com>
X-Mailer: git-send-email 2.50.1
In-Reply-To: <20250904115704.58413-1-Michael.Glembotzki@iris-sensing.com>
References: <20250904115704.58413-1-Michael.Glembotzki@iris-sensing.com>
MIME-Version: 1.0
X-Original-Sender: m.glembo@gmail.com
X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass
header.i=@gmail.com header.s=20230601 header.b=Uc6FykeO; spf=pass
(google.com: domain of m.glembo@gmail.com designates 2a00:1450:4864:20::62b
as permitted sender) smtp.mailfrom=m.glembo@gmail.com; dmarc=pass
(p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;
dara=pass header.i=@googlegroups.com
Content-Type: text/plain; charset="UTF-8"
Precedence: list
Mailing-list: list swupdate@googlegroups.com;
contact swupdate+owners@googlegroups.com
List-ID: <swupdate.googlegroups.com>
X-Spam-Checked-In-Group: swupdate@googlegroups.com
X-Google-Group-Id: 605343134186
List-Post: <https://groups.google.com/group/swupdate/post>,
<mailto:swupdate@googlegroups.com>
List-Help: <https://groups.google.com/support/>,
<mailto:swupdate+help@googlegroups.com>
List-Archive: <https://groups.google.com/group/swupdate
List-Subscribe: <https://groups.google.com/group/swupdate/subscribe>,
<mailto:swupdate+subscribe@googlegroups.com>
List-Unsubscribe:
<mailto:googlegroups-manage+605343134186+unsubscribe@googlegroups.com>,
<https://groups.google.com/group/swupdate/subscribe>
|
| Series |
Add support for asymmetric decryption
|
expand
|
diff --git a/core/cpio_utils.c b/core/cpio_utils.c index 6fb7a984..aff7a4bb 100644 --- a/core/cpio_utils.c +++ b/core/cpio_utils.c @@ -532,6 +532,8 @@ int copyfile(struct swupdate_copy *args) unsigned char *aes_key = NULL; unsigned char *ivt = NULL; unsigned char ivtbuf[AES_BLK_SIZE]; + unsigned char aesbuf[AES_256_KEY_LEN]; + char keylen = 0; struct InputState input_state = { .fdin = args->fdin, @@ -608,7 +610,6 @@ int copyfile(struct swupdate_copy *args) } if (args->encrypted) { - aes_key = (unsigned char *)swupdate_get_decrypt_key(); if (args->imgivt && strlen(args->imgivt)) { if (!is_hex_str(args->imgivt) || ascii_to_bin(ivtbuf, sizeof(ivtbuf), args->imgivt)) { ERROR("Invalid image ivt"); @@ -617,7 +618,20 @@ int copyfile(struct swupdate_copy *args) ivt = ivtbuf; } else ivt = get_aes_ivt(); - decrypt_state.dcrypt = swupdate_DECRYPT_init(aes_key, swupdate_get_decrypt_keylen(), ivt, AES_CBC); + + if (args->imgaes && strlen(args->imgaes)) { + if (!is_hex_str(args->imgaes) || ascii_to_bin(aesbuf, sizeof(aesbuf), args->imgaes)) { + ERROR("Invalid image aes-key"); + return -EINVAL; + } + aes_key = aesbuf; + keylen = strlen(args->imgaes) / 2; + } else { + aes_key = (unsigned char *)swupdate_get_decrypt_key(); + keylen = swupdate_get_decrypt_keylen(); + } + + decrypt_state.dcrypt = swupdate_DECRYPT_init(aes_key, keylen, ivt, args->cipher); if (!decrypt_state.dcrypt) { ERROR("decrypt initialization failure, aborting"); ret = -EFAULT;
Signed-off-by: Michael Glembotzki <Michael.Glembotzki@iris-sensing.com> --- core/cpio_utils.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-)