Een git-commit van een deck wordt niet met de eigen sleutel ondertekend #2750

Open
opened 2026-11-02 23:43:45 +00:00 by brenno · 0 comments
Owner

Wat je wilt bereiken

Wie een deck via git deelt, kan de commit ondertekenen met de sleutel die al op de machine staat. OciDeck bewaart die sleutel niet en beweert niet dat een handtekening klopt als hij haar niet heeft gecontroleerd.

Wat er nu mist

Het zegel en de herkomsthandtekening gaan over het deckbestand (.seal.json). Een commit op de forge is een tweede laag, en die is nu ongetekend. docs/design/GIT_STORAGE.md parkeert SSH-ondertekening (D11) tot een live testomgeving. Deze stap heeft die omgeving niet nodig: git tekent lokaal. De git-aanroep draait al met een toelatingslijst voor de omgeving, juist zodat een token niet in een trace lekt.

Bestandsformaat

Geen byte in de .md. De handtekening is van git, naast het bestand.

Oplossingsrichting

Aanbeveling: bouwen, standaard uit.

Een instelling: onderteken commits met de sleutel die git op deze machine al gebruikt (user.signingkey, SSH of GPG). Doorzetten via de bestaande git-config, niet via een eigen crypto-bibliotheek en niet via de omgeving van het proces. De sleutel komt niet in de app, niet in de CI en niet in het deck. Lukt ondertekenen niet, dan faalt het opslaan naar git zichtbaar. Geen stille ongetekende commit terwijl de instelling aan staat. De status is drie waarden: getekend en gecontroleerd, getekend maar hier niet te controleren, ongetekend. "Niet te controleren" is geen bevestiging.

Niet: een sleutel genereren in OciDeck. Niet: ondertekenen verplicht maken. Het zegel van het deck blijft de route voor wie geen git gebruikt.

Afweging

  • Soevereiniteit: de sleutelbos van de gebruiker. Geen certificaat van een derde en geen geheim in de release-runner.
  • Informatiebeveiliging: dezelfde gesloten omgeving als de token-aanroep. Een mislukte handtekening is een fout, geen succes.
  • Stabiliteit: git doet het tekenen. De app doet de schakelaar en de status.
  • Privacy: een publieke sleutel gaat niet het deck in. Het deck zelf verandert niet.
  • Gebruik: één schakelaar, met de uitleg dat dit de commit betreft en niet het zegel.
  • Toegankelijkheid: de drie statussen als tekst, niet alleen als icoon.
## Wat je wilt bereiken Wie een deck via git deelt, kan de commit ondertekenen met de sleutel die al op de machine staat. OciDeck bewaart die sleutel niet en beweert niet dat een handtekening klopt als hij haar niet heeft gecontroleerd. ## Wat er nu mist Het zegel en de herkomsthandtekening gaan over het deckbestand (`.seal.json`). Een commit op de forge is een tweede laag, en die is nu ongetekend. `docs/design/GIT_STORAGE.md` parkeert SSH-ondertekening (D11) tot een live testomgeving. Deze stap heeft die omgeving niet nodig: git tekent lokaal. De git-aanroep draait al met een toelatingslijst voor de omgeving, juist zodat een token niet in een trace lekt. ## Bestandsformaat Geen byte in de `.md`. De handtekening is van git, naast het bestand. ## Oplossingsrichting Aanbeveling: bouwen, standaard uit. Een instelling: onderteken commits met de sleutel die git op deze machine al gebruikt (`user.signingkey`, SSH of GPG). Doorzetten via de bestaande git-config, niet via een eigen crypto-bibliotheek en niet via de omgeving van het proces. De sleutel komt niet in de app, niet in de CI en niet in het deck. Lukt ondertekenen niet, dan faalt het opslaan naar git zichtbaar. Geen stille ongetekende commit terwijl de instelling aan staat. De status is drie waarden: getekend en gecontroleerd, getekend maar hier niet te controleren, ongetekend. "Niet te controleren" is geen bevestiging. Niet: een sleutel genereren in OciDeck. Niet: ondertekenen verplicht maken. Het zegel van het deck blijft de route voor wie geen git gebruikt. ## Afweging - Soevereiniteit: de sleutelbos van de gebruiker. Geen certificaat van een derde en geen geheim in de release-runner. - Informatiebeveiliging: dezelfde gesloten omgeving als de token-aanroep. Een mislukte handtekening is een fout, geen succes. - Stabiliteit: git doet het tekenen. De app doet de schakelaar en de status. - Privacy: een publieke sleutel gaat niet het deck in. Het deck zelf verandert niet. - Gebruik: één schakelaar, met de uitleg dat dit de commit betreft en niet het zegel. - Toegankelijkheid: de drie statussen als tekst, niet alleen als icoon.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#2750
No description provided.