Wer in Debian aktuell ein Repository aus dritter Hand in die Quellenliste eintragen will, sieht sich oft mit einem Dilemma konfrontiert. Das Projekt, dessen Repo integriert werden soll, schlägt oft vor, den OpenPGP-Schlüssel, der die Authentizität des Repos bescheinigt, per apt-key
zu importieren. Dieser Methode wird aber, wie ich bereits dargelegt habe, nicht mehr vertraut und wird ab Mai 2022 weder in Debian Unstable noch in Ubuntu funktionieren. Bereits seit einiger Zeit löst dies eine Warnung aus:
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8))
Fehleranfällig
Das Debian-Wiki schlägt anstatt /etc/trusted.gpg.d
alternativ /usr/share/keyrings
vor. Da OpenPGP-Keys von Repositories aus dritter Hand in der Regel mit der Methode ASCII-Armor versehen sind, soll diese Verpackung vorzugsweise bereits während des Downloads entfernt werde. In Befehlsform sieht das beispielsweise auf der Webseite für den Signal-Messenger, die bereits angepasst wurde, dann so aus:
wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor | sudo tee /usr/share/keyrings/signal-archive-keyring.gpg
Dann muss noch der Eintrag für die Quellenliste erstellt werden:
deb [signed-by=/usr/share/keyrings/signal-archive-keyring.gpg] https://updates.signal.org/debian/ stable main
Nicht sehr anwenderfreundlich, dafür aber fehleranfällig. Debian- und Ubuntu-Entwickler Andreas Klose hat in einem Blogeintrag jetzt unter anderem eine Idee skizziert, die bisher nur als Merge-Request existiert. Die Hauptrolle spielt dabei DEB822, ein Format für Quellenangaben, das mir durch den Blogeintrag erstmals unterkam. Dabei handelt es sich um Blöcke in der Quellenliste, die ein Repository beschreiben und gleich den öffentlichen Schlüssel enthalten. Sie enden nicht wie üblich in .list
, sondern haben.sources
als Endung. Ein solcher Eintrag könnte künftig so aussehen:
Types: deb
URIs: https://updates.signal.org/desktop/apt
Suites: stable
Components: main
Signed-By:
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFjlSicBEACgho//0EzxuvuCn01LwFqGAgwPKcSSl4L+AWws5/YbsZZvmTBk
ggIiVOCIMh+d3cmGu5W3ydaeUbWbFGNsxO44EB5YBZcuLa5EzRKbNPVaOXKXmhp+
w0mEbkoKbF+3mz3lifwBnzcBpukyJDgcJSq8cXfq5JsDPR1KAL6ph/kwKeiDNg+8
oFgqfboukK56yPTYc9iM8hkTFdx9L6JCJaZGaDMfihoQm2caKAmqc+TlpgtKbBL0
...
-----END PGP PUBLIC KEY BLOCK-----
Demnächst vielleicht in APT 2.4 verfügbar
Wenn dann die Anbieter von Repos aus dritter Hand diese Methode aufgreifen, ist das Einbinden eines solchen Archivs mit dem Einfügen des Eintrags im DEB822-Formats in /etc/apt/sources.list.d/
erledigt. Ein Befehl wie apt add-source
könnte das in einem Rutsch erledigen. Das neue Quellenformat wird, wenn Kloses Merge-Request akzeptiert wird, mit Apt 2.3.x oder 2.4 verfügbar sein. Zudem lernen wir aus Kloses Blog, dass ein Ersatz für OpenPGP auf der Basis von Ed25519 in Arbeit ist, der in kürzeren und sichereren Schlüsseln resultiert und derzeit auf den Namen aptsign
hört.