Test build in OBS has been tested manually with ostree-based image.
Approach is pretty simple: have a common interface for signing, with implementation of particular sign/verify in separate modules.
--with-libsodium
is needed to build with support of ed25515
signature mechanismCurrent status:
ostree sign
(inspired by "ostree gpg-sign") allowing to sign and verify commitsostree commit
with signingostree sign
commits with dummy
and ed25519
signing modulesostree sign --verify
dummy
and ed25519
modulesNew configuration keys:
sign-verify
-- global and per-remote to trigger verification for OTA updatesverification-key
-- per-remote -- for ed25519
: base64 encoded public key to use for verificationverification-file
-- per-remote -- for ed25519
: file with the list of base64 public keys to use for verificationAlso added "well-known" system places for ed25519
public keys -- expected 1 base64 key per line:
/etc/ostree/trusted.ed25519
DATADIR + /ostree/trusted.ed25519
/etc/ostree/trusted.ed25519.d
DATADIR + /ostree/trusted.ed25519.d
Current logic for verification during the commits pulling:
verification-key
if it exists in configurationverification-file
if it exists in configurationnot implemented: