mirror of
https://gitea.com/gitea/docs.git
synced 2026-07-22 12:37:42 +00:00
Update zh tw languages and fix some broken links (#455)
--------- Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: silverwind <2021+silverwind@noreply.gitea.com> Reviewed-on: https://gitea.com/gitea/docs/pulls/455 Reviewed-by: silverwind <2021+silverwind@noreply.gitea.com>
This commit is contained in:
@@ -6,36 +6,36 @@ aliases:
|
||||
- /zh-tw/signing
|
||||
---
|
||||
|
||||
# GPG 提交签名
|
||||
# GPG 提交簽名
|
||||
|
||||
Gitea 将通過检查提交是否由 Gitea 数据库中的密钥签名,或者提交是否与 Git 的默认密钥匹配,来驗證提供的树中的 GPG 提交签名。
|
||||
Gitea 將通過檢查提交是否由 Gitea 資料庫中的密鑰簽名,或者提交是否與 Git 的預設密鑰匹配,來驗證提供的樹中的 GPG 提交簽名。
|
||||
|
||||
密钥不会被检查以确定它们是否已過期或撤销。密钥也不会与密钥服务器進行检查。
|
||||
密鑰不會被檢查以確定它們是否已過期或撤銷。密鑰也不會與密鑰伺服器進行檢查。
|
||||
|
||||
如果找不到用于驗證提交的密钥,提交将被标记為灰色的未锁定图标。如果提交被标记為红色的未锁定图标,则表示它使用带有 ID 的密钥签名。
|
||||
如果找不到用於驗證提交的密鑰,提交將被標記為灰色的未鎖定圖標。如果提交被標記為紅色的未鎖定圖標,則表示它使用帶有 ID 的密鑰簽名。
|
||||
|
||||
請注意:提交的签署者不必是提交的作者或提交者。
|
||||
請注意:提交的簽署者不必是提交的作者或提交者。
|
||||
|
||||
此功能要求 Git >= 1.7.9,但要实現全部功能,需要 Git >= 2.0.0。
|
||||
此功能要求 Git >= 1.7.9,但要實現全部功能,需要 Git >= 2.0.0。
|
||||
|
||||
## 自动签名
|
||||
## 自動簽名
|
||||
|
||||
有许多地方 Gitea 会生成提交:
|
||||
有許多地方 Gitea 會生成提交:
|
||||
|
||||
- 存放庫初始化
|
||||
- Wiki 更改
|
||||
- 使用编辑器或 API 進行的 CRUD 操作
|
||||
- 从合並請求進行合並
|
||||
- 使用編輯器或 API 進行的 CRUD 操作
|
||||
- 從合併請求進行合併
|
||||
|
||||
根据配置和服务器信任,您可能希望 Gitea 对这些提交進行签名。
|
||||
根據設定和伺服器信任,您可能希望 Gitea 對這些提交進行簽名。
|
||||
|
||||
## 安裝和生成 Gitea 的 GPG 密钥
|
||||
## 安裝和生成 Gitea 的 GPG 密鑰
|
||||
|
||||
如何安裝签名密钥由服务器管理员决定。Gitea 目前使用服务器的 `git` 命令生成所有提交,因此将使用服务器的 `gpg` 進行签名(如果配置了)。管理员應該审查 GPG 的最佳实践 - 特别是可能建议僅安裝签名的子密钥,而不是主签名和認證的密钥。
|
||||
如何安裝簽名密鑰由伺服器管理員決定。Gitea 目前使用伺服器的 `git` 命令生成所有提交,因此將使用伺服器的 `gpg` 進行簽名(如果設定了)。管理員應該審查 GPG 的最佳實踐 - 特別是可能建議僅安裝簽名的子密鑰,而不是主簽名和認證的密鑰。
|
||||
|
||||
## 通用配置
|
||||
## 通用設定
|
||||
|
||||
Gitea 的签名配置可以在 `app.ini` 的 `[repository.signing]` 部分找到:
|
||||
Gitea 的簽名設定可以在 `app.ini` 的 `[repository.signing]` 部分找到:
|
||||
|
||||
```ini
|
||||
...
|
||||
@@ -53,84 +53,84 @@ MERGES = pubkey, twofa, basesigned, commitssigned
|
||||
|
||||
### `SIGNING_KEY`
|
||||
|
||||
首先讨论的選项是 `SIGNING_KEY`。有三个主要選项:
|
||||
首先討論的選項是 `SIGNING_KEY`。有三個主要選項:
|
||||
|
||||
- `none` - 这将阻止 Gitea 对任何提交進行签名
|
||||
- `default` - Gitea 将使用 `git config` 中配置的默认密钥
|
||||
- `KEYID` - Gitea 将使用具有 ID `KEYID` 的 GPG 密钥对提交進行签名。在这种情况下,您應該提供 `SIGNING_NAME` 和 `SIGNING_EMAIL`,以便显示此密钥的信息。
|
||||
- `none` - 這將阻止 Gitea 對任何提交進行簽名
|
||||
- `default` - Gitea 將使用 `git config` 中設定的預設密鑰
|
||||
- `KEYID` - Gitea 將使用具有 ID `KEYID` 的 GPG 密鑰對提交進行簽名。在這種情況下,您應該提供 `SIGNING_NAME` 和 `SIGNING_EMAIL`,以便顯示此密鑰的資訊。
|
||||
|
||||
`default` 選项将读取 `git config` 中的 `commit.gpgsign` 選项 - 如果设置了該選项,它将使用 `user.signingkey`、`user.name` 和 `user.email` 的结果。
|
||||
`default` 選項將讀取 `git config` 中的 `commit.gpgsign` 選項 - 如果設定了該選項,它將使用 `user.signingkey`、`user.name` 和 `user.email` 的結果。
|
||||
|
||||
通過在 Gitea 的存放庫中调整 Git 的 `config` 文件,可以使用 `SIGNING_KEY=default` 為每个存放庫提供不同的签名密钥。然而,这显然不是一个理想的使用者界面,因此可能会发生更改。
|
||||
通過在 Gitea 的存放庫中調整 Git 的 `config` 文件,可以使用 `SIGNING_KEY=default` 為每個存放庫提供不同的簽名密鑰。然而,這顯然不是一個理想的使用者介面,因此可能會發生更改。
|
||||
|
||||
:::warning
|
||||
**自 1.17 起**,Gitea 在自己的主目錄 `[git].HOME_PATH`(默认為 `%(APP_DATA_PATH)/home`)中运行 git,並使用自己的配置文件 `{[git].HOME_PATH}/.gitconfig`。
|
||||
**自 1.17 起**,Gitea 在自己的主目錄 `[git].HOME_PATH`(預設為 `%(APP_DATA_PATH)/home`)中運行 git,並使用自己的設定文件 `{[git].HOME_PATH}/.gitconfig`。
|
||||
|
||||
如果您有自己定制的 Gitea git 配置,您應該将这些配置设置在系统 git 配置文件中(例如 `/etc/gitconfig`)或者 Gitea 的内部 git 配置文件 `{[git].HOME_PATH}/.gitconfig` 中。
|
||||
如果您有自己定製的 Gitea git 設定,您應該將這些設定設定在系統 git 設定文件中(例如 `/etc/gitconfig`)或者 Gitea 的內部 git 設定文件 `{[git].HOME_PATH}/.gitconfig` 中。
|
||||
|
||||
与 git 命令相关的主目錄文件(如 `.gnupg`)也應該放在 Gitea 的 git 主目錄 `[git].HOME_PATH` 中。
|
||||
如果您希望将 `.gnupg` 目錄放在 `{[git].HOME_PATH}/` 之外的位置,請考虑设置 `$GNUPGHOME` 环境变量為您首選的位置,否则 Gitea 将会从 `{[git].HOME_PATH}/.gnupg` 查找私钥。
|
||||
與 git 命令相關的主目錄文件(如 `.gnupg`)也應該放在 Gitea 的 git 主目錄 `[git].HOME_PATH` 中。
|
||||
如果您希望將 `.gnupg` 目錄放在 `{[git].HOME_PATH}/` 之外的位置,請考慮設定 `$GNUPGHOME` 環境變量為您首選的位置,否則 Gitea 將會從 `{[git].HOME_PATH}/.gnupg` 查找私鑰。
|
||||
:::
|
||||
|
||||
### `INITIAL_COMMIT`
|
||||
|
||||
此選项确定在建立存放庫时,Gitea 是否應該对初始提交進行签名。可能的取值有:
|
||||
此選項確定在建立存放庫時,Gitea 是否應該對初始提交進行簽名。可能的取值有:
|
||||
|
||||
- `never`:从不签名
|
||||
- `pubkey`:僅在使用者拥有公钥时進行签名
|
||||
- `twofa`:僅在使用者使用 2FA 登入时進行签名
|
||||
- `always`:始终签名
|
||||
- `never`:從不簽名
|
||||
- `pubkey`:僅在使用者擁有公鑰時進行簽名
|
||||
- `twofa`:僅在使用者使用 2FA 登入時進行簽名
|
||||
- `always`:始終簽名
|
||||
|
||||
除了 `never` 和 `always` 之外的選项可以组合為逗号分隔的列表。如果所有選择的選项都為 true,则提交将被签名。
|
||||
除了 `never` 和 `always` 之外的選項可以組合為逗號分隔的列表。如果所有選擇的選項都為 true,則提交將被簽名。
|
||||
|
||||
### `WIKI`
|
||||
|
||||
此選项确定 Gitea 是否應該对 Wiki 的提交進行签名。可能的取值有:
|
||||
此選項確定 Gitea 是否應該對 Wiki 的提交進行簽名。可能的取值有:
|
||||
|
||||
- `never`:从不签名
|
||||
- `pubkey`:僅在使用者拥有公钥时進行签名
|
||||
- `twofa`:僅在使用者使用 2FA 登入时進行签名
|
||||
- `parentsigned`:僅在父提交已签名时進行签名。
|
||||
- `always`:始终签名
|
||||
- `never`:從不簽名
|
||||
- `pubkey`:僅在使用者擁有公鑰時進行簽名
|
||||
- `twofa`:僅在使用者使用 2FA 登入時進行簽名
|
||||
- `parentsigned`:僅在父提交已簽名時進行簽名。
|
||||
- `always`:始終簽名
|
||||
|
||||
除了 `never` 和 `always` 之外的選项可以组合為逗号分隔的列表。如果所有選择的選项都為 true,则提交将被签名。
|
||||
除了 `never` 和 `always` 之外的選項可以組合為逗號分隔的列表。如果所有選擇的選項都為 true,則提交將被簽名。
|
||||
|
||||
### `CRUD_ACTIONS`
|
||||
|
||||
此選项确定 Gitea 是否應該对 Web 编辑器或 API CRUD 操作的提交進行签名。可能的取值有:
|
||||
此選項確定 Gitea 是否應該對 Web 編輯器或 API CRUD 操作的提交進行簽名。可能的取值有:
|
||||
|
||||
- `never`:从不签名
|
||||
- `pubkey`:僅在使用者拥有公钥时進行签名
|
||||
- `twofa`:僅在使用者使用 2FA 登入时進行签名
|
||||
- `parentsigned`:僅在父提交已签名时進行签名。
|
||||
- `always`:始终签名
|
||||
- `never`:從不簽名
|
||||
- `pubkey`:僅在使用者擁有公鑰時進行簽名
|
||||
- `twofa`:僅在使用者使用 2FA 登入時進行簽名
|
||||
- `parentsigned`:僅在父提交已簽名時進行簽名。
|
||||
- `always`:始終簽名
|
||||
|
||||
除了 `never` 和 `always` 之外的選项可以组合為逗号分隔的列表。如果所有選择的選项都為 true,则更改将被签名。
|
||||
除了 `never` 和 `always` 之外的選項可以組合為逗號分隔的列表。如果所有選擇的選項都為 true,則更改將被簽名。
|
||||
|
||||
### `MERGES`
|
||||
|
||||
此選项确定 Gitea 是否應該对 PR 的合並提交進行签名。可能的選项有:
|
||||
此選項確定 Gitea 是否應該對 PR 的合併提交進行簽名。可能的選項有:
|
||||
|
||||
- `never`:从不签名
|
||||
- `pubkey`:僅在使用者拥有公钥时進行签名
|
||||
- `twofa`:僅在使用者使用 2FA 登入时進行签名
|
||||
- `basesigned`:僅在基础存放庫中的父提交已签名时進行签名。
|
||||
- `headsigned`:僅在头分支中的头提交已签名时進行签名。
|
||||
- `commitssigned`:僅在头分支中的所有提交到合並点的提交都已签名时進行签名。
|
||||
- `approved`:僅对已批准的合並到受保护分支的提交進行签名。
|
||||
- `always`:始终签名
|
||||
- `never`:從不簽名
|
||||
- `pubkey`:僅在使用者擁有公鑰時進行簽名
|
||||
- `twofa`:僅在使用者使用 2FA 登入時進行簽名
|
||||
- `basesigned`:僅在基礎存放庫中的父提交已簽名時進行簽名。
|
||||
- `headsigned`:僅在頭分支中的頭提交已簽名時進行簽名。
|
||||
- `commitssigned`:僅在頭分支中的所有提交到合併點的提交都已簽名時進行簽名。
|
||||
- `approved`:僅對已批准的合併到受保護分支的提交進行簽名。
|
||||
- `always`:始終簽名
|
||||
|
||||
除了 `never` 和 `always` 之外的選项可以组合為逗号分隔的列表。如果所有選择的選项都為 true,则合並将被签名。
|
||||
除了 `never` 和 `always` 之外的選項可以組合為逗號分隔的列表。如果所有選擇的選項都為 true,則合併將被簽名。
|
||||
|
||||
## 获取签名密钥的公钥
|
||||
## 獲取簽名密鑰的公鑰
|
||||
|
||||
用于签署 Gitea 提交的公钥可以通過 API 获取:
|
||||
用於簽署 Gitea 提交的公鑰可以透過 API 獲取:
|
||||
|
||||
```sh
|
||||
/api/v1/signing-key.gpg
|
||||
```
|
||||
|
||||
在存在特定于存放庫的密钥的情况下,可以通過以下方式获取:
|
||||
在存在特定於存放庫的密鑰的情況下,可以透過以下方式獲取:
|
||||
|
||||
```sh
|
||||
/api/v1/repos/:username/:reponame/signing-key.gpg
|
||||
|
||||
Reference in New Issue
Block a user