pithyx catalog sign
pithyx catalog sign signiert die exakten Bytes von index.json in einem Branch-Ordner mit einem privaten Ed25519-Schlüssel und schreibt index.json.sig. Boxen prüfen diese Signatur gegen die Schlüssel, die für die Kataloge des Projekts in den Daemon eingebaut sind; eigene Kataloge werden nicht geprüft.
pithyx catalog sign <branch folder> --key-id <id> [--append]Optionen
Abschnitt betitelt „Optionen“| Option | Wert | Typ | Standard | Beschreibung |
|---|---|---|---|---|
--key-id |
<id> |
string | Pflicht | In pithyx --help nicht beschrieben; siehe unten. |
--append |
– | boolean | aus | In pithyx --help nicht beschrieben; siehe unten. |
--key-id <id>: der Name des Schlüssels, wie ihn der Schlüsselbund der Box kennt, zum Beispielpithyx-next-1.--append: behält die Signaturen anderer Schlüssel-IDs inindex.json.sig, für einen Schlüsselwechsel. Eine Signatur derselben Schlüssel-ID wird ersetzt. Ohne die Option enthält die Datei nur die neue Signatur.
Der Schlüssel kommt nur aus der Umgebungsvariable PITHYX_SIGNING_KEY: ein privater Ed25519-Schlüssel als PEM (PKCS #8, wie openssl genpkey -algorithm ed25519 ihn schreibt). Er wird nie als Option angenommen, damit er nicht in einer Shell-Historie oder Prozessliste landet.
Ausgabedatei
Abschnitt betitelt „Ausgabedatei“{ "signatureVersion": 1, "signatures": [{ "keyId": "pithyx-next-1", "signature": "<base64>" }]}Dateien
Abschnitt betitelt „Dateien“| Datei | Zugriff |
|---|---|
<branch folder>/index.json |
gelesen |
<branch folder>/index.json.sig |
gelesen mit --append, geschrieben |
Exit-Codes
Abschnitt betitelt „Exit-Codes“| Code | Wann |
|---|---|
| 0 | Signed <branch>/index.json with <id>. |
| 1 | Der Schlüssel ist kein privater Ed25519-Schlüssel als PEM, oder index.json lässt sich nicht lesen. |
| 2 | Kein Branch-Ordner, kein --key-id, oder PITHYX_SIGNING_KEY fehlt oder ist leer. |
Befunde
Abschnitt betitelt „Befunde“Keine.
Beispiele
Abschnitt betitelt „Beispiele“openssl genpkey -algorithm ed25519 -out next.pemPITHYX_SIGNING_KEY="$(cat next.pem)" pithyx catalog sign catalog-next --key-id example-next-1