mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-09-08 08:33:27 +00:00
This PR fixes #7598 by providing a configurable way of signing commits across the Gitea instance. Per repository configurability and import/generation of trusted secure keys is not provided by this PR - from a security PoV that's probably impossible to do properly. Similarly web-signing, that is asking the user to sign something, is not implemented - this could be done at a later stage however. ## Features - [x] If commit.gpgsign is set in .gitconfig sign commits and files created through repofiles. (merges should already have been signed.) - [x] Verify commits signed with the default gpg as valid - [x] Signer, Committer and Author can all be different - [x] Allow signer to be arbitrarily different - We still require the key to have an activated email on Gitea. A more complete implementation would be to use a keyserver and mark external-or-unactivated with an "unknown" trust level icon. - [x] Add a signing-key.gpg endpoint to get the default gpg pub key if available - Rather than add a fake web-flow user I've added this as an endpoint on /api/v1/signing-key.gpg - [x] Try to match the default key with a user on gitea - this is done at verification time - [x] Make things configurable? - app.ini configuration done - [x] when checking commits are signed need to check if they're actually verifiable too - [x] Add documentation I have decided that adjusting the docker to create a default gpg key is not the correct thing to do and therefore have not implemented this. |
||
---|---|---|
.. | ||
locale_bg-BG.ini | ||
locale_cs-CZ.ini | ||
locale_de-DE.ini | ||
locale_en-US.ini | ||
locale_es-ES.ini | ||
locale_fa-IR.ini | ||
locale_fi-FI.ini | ||
locale_fr-FR.ini | ||
locale_hu-HU.ini | ||
locale_id-ID.ini | ||
locale_it-IT.ini | ||
locale_ja-JP.ini | ||
locale_ko-KR.ini | ||
locale_lt-LT.ini | ||
locale_lv-LV.ini | ||
locale_ml-IN.ini | ||
locale_nb-NO.ini | ||
locale_nl-NL.ini | ||
locale_nn-NO.ini | ||
locale_no-NO.ini | ||
locale_pl-PL.ini | ||
locale_pt-BR.ini | ||
locale_ru-RU.ini | ||
locale_ru-UA.ini | ||
locale_sr-SP.ini | ||
locale_sv-SE.ini | ||
locale_tr-TR.ini | ||
locale_uk-UA.ini | ||
locale_vi-VN.ini | ||
locale_zh-CN.ini | ||
locale_zh-HK.ini | ||
locale_zh-TW.ini | ||
TRANSLATORS |