-
Hey everyone, I've been asked to demonstrate how fwupd downloads are signed and validated. There's a jcat manifest in /var/lib/fwupd/metadata/lvfs/metadata.xml.xz.jcat, which references a file firmware.xml.xz, that's nowhere on the system. However, the checksums in the manifest suggest that metadata.xml.xz, in the same directory might be this missing firmware.xml.xz, and in fact, it is:
What could be the reason for the actual filename being absent in the manifest? This is on Debian 12:
|
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 17 replies
-
The firmware.xml.xz is an alias -- i.e. what the file might be called. e.g. see:
i.e. fwupd downloads metadata.xml.zst.jcat find the firmware-07437-stable.xml.zst filename, and then saves it as firmware.xml.zst in the cache. The reason we do this is that the cdn might give us a metadata.xml.zst.jcat from yesterday, in which case we want the exact metadata from yesterday -- rather than one 12 h old and one 6 hours old. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the reply! If both the XML and the JCAT file get routinely renamed, wouldn't it make sense to have the other filename embedded in the JCAT as well? Also, another question: How do /etc/pki/fwupd/ and /var/lib/fwupd/gnupg/ relate to each other? Is /var/lib/fwupd/gnupg/ only updated on the fly from /etc/pki/fwupd/ or may it at some later point update keys from a metadata server on the fly? |
Beta Was this translation helpful? Give feedback.
-
Now validate /var/lib/fwupd/metadata/lvfs/metadata.xml.zstd using this manifest. |
Beta Was this translation helpful? Give feedback.
How about #7721 as a nice ending. :)