Lines Matching +full:3 +full:- +full:2022

1 .. SPDX-License-Identifier: GPL-2.0
2 .. include:: ../disclaimer-zh_CN.rst
4 :Original: Documentation/process/maintainer-pgp-guide.rst
23 .. _`保护代码完整性`: https://github.com/lfit/itpol/blob/master/protecting-code-integrity.md
33 - 分布式源仓库 (git)
34 - 定期发布快照 (tarballs)
40 - git 仓库在所有标签上提供 PGP 签名
41 - tarball 为所有下载提供独立的 PGP 签名
44 --------------------------
58 -------------------------
63 $ gpg --version | head -n1
68 配置 gpg-agent 选项
75 - ``default-cache-ttl`` (秒): 如果在生命周期结束之前再次使用相同的
77 - ``max-cache-ttl`` (秒): 无论你自输入初始密码以来多久使用过密钥,
80 如果你发现这些默认值太短(或太长),你可以编辑 ``~/.gnupg/gpg-agent.conf``
84 default-cache-ttl 1800
85 max-cache-ttl 7200
89 不需要在 shell 会话开始时手动启动 gpg-agent。你可能需要检查
103 ---------------
105 PGP 密钥很少由单个密钥对组成 - 通常它是独立子密钥的集合,这些子密钥
109 - **[S]** 密钥可用于签名
110 - **[E]** 密钥可用于加密
111 - **[A]** 密钥可用于身份验证
112 - **[C]** 密钥可用于验证其他密钥
124 以有 2 个有效的加密子密钥、3 个有效的签名子密钥,但只有 1 个有
128 3. 单个子密钥可能具有多种功能(例如,你的 **[C]** 密钥也可以是你
134 - 添加或撤销具有 S/E/A 功能的其他密钥(子密钥)
135 - 添加、更改或撤销与密钥关联的身份 (uid)
136 - 添加或更改其本身或任何子密钥的到期日期
137 - 出于信任网络的目的签署其他人的密钥
141 - 一个子密钥同时具有认证和签名功能 (**[SC]**)
142 - 具有加密功能的单独子密钥 (**[E]**)
145 运行命令来验证,例如: ``gpg --list-secret-keys``
149 sec ed25519 2022-12-20 [SC] [expires: 2024-12-19]
152 ssb cv25519 2022-12-20 [E] [expires: 2024-12-19]
154 在 ``sec`` 这行下面长长的一行就是你的密钥指纹-无论在下文任何地方
158 ------------------
166 $ gpg --change-passphrase [fpr]
169 ------------------------
174 $ gpg --quick-addkey [fpr] ed25519 sign
184 ------------------------------
195 $ gpg --export-secret-key [fpr] | paperkey -o /tmp/key-backup.txt
199 如果你更改了它,你将不记得创建备份时它曾经是什么 - *保证*。
211 -------------------
231 $ cp -a ~/.gnupg /media/disk/foo/gnupg-backup
235 $ gpg --homedir=/media/disk/foo/gnupg-backup --list-key [fpr]
239 放在安全的地方 - 但不要太远,因为你每次都需要使用它时不时地用于诸
243 ----------------------------------
248 - 在制作快速主目录备份以设置新工作站时意外发生
249 - 系统管理员的疏忽或恶意
250 - 通过不安全的备份
251 - 通过桌面应用程序(浏览器、pdf 查看器等)中的恶意软件
252 - 跨越国界时通过胁迫
265 $ gpg --with-keygrip --list-key [fpr]
269 pub ed25519 2022-12-20 [SC] [expires: 2022-12-19]
273 sub cv25519 2022-12-20 [E] [expires: 2022-12-19]
275 sub ed25519 2022-12-20 [S]
281 $ cd ~/.gnupg/private-keys-v1.d
289 $ cd ~/.gnupg/private-keys-v1.d
292 现在,如果你发出命令 ``--list-secret-keys`` ,它将显示证书密钥丢
295 $ gpg --list-secret-keys
296 sec# ed25519 2022-12-20 [SC] [expires: 2024-12-19]
299 ssb cv25519 2022-12-20 [E] [expires: 2024-12-19]
300 ssb ed25519 2022-12-20 [S]
305 如果你没有“private-keys-v1.d”目录
308 如果你没有 ``~/.gnupg/private-keys-v1.d`` 目录,那么你的密钥仍存
311 供使用 ``private-keys-v1.d`` 。
328 ------------
338 ----------------
343 - `Nitrokey Start`_: 开放硬件和免费软件,日本基于FSI的 `Gnuk` 。
346 - `Nitrokey Pro 2`_: 与 Nitrokey Start 类似,但更防篡改并提供
348 - `Yubikey 5`_: 专有硬件和软件,但比 Nitrokey Pro 便宜,并且以
349 USB-C 形式提供,对于较新的笔记本电脑更有用。提供额外的安全功能,
360 .. _`Nitrokey Start`: https://shop.nitrokey.com/shop/product/nitrokey-start-6
361 .. _`Nitrokey Pro 2`: https://shop.nitrokey.com/shop/product/nkpr2-nitrokey-pro-2-3
362 .. _`Yubikey 5`: https://www.yubico.com/products/yubikey-5-overview/
363 .. _Gnuk: https://www.fsij.org/doc-gnuk/
364 .. _`qualify for a free Nitrokey Start`: https://www.kernel.org/nitrokey-digital-tokens-for-kernel-
367 ------------------
372 $ gpg --card-status
381 $ gpg --card-edit
387 你应该设置用户 PIN (1)、管理员 PIN (3) 和重置代码 (4)。请确保将
405 ----------------------
410 $ gpg --edit-key [fpr]
415 created: 2022-12-20 expires: 2024-12-19 usage: SC
418 created: 2022-12-20 expires: never usage: E
420 created: 2017-12-07 expires: never usage: S
425 使用 ``--edit-key`` 使我们再次进入菜单模式,你会注意到按键列表有点
428 首先,让我们选择要放入卡上的密钥 - 你可以通过键入 ``key 1`` (它是
456 (3) Authentication key
471 如果你现在执行 ``--list-secret-keys`` ,你将看到输出中存在细微的差异::
473 $ gpg --list-secret-keys
474 sec# ed25519 2022-12-20 [SC] [expires: 2024-12-19]
477 ssb> cv25519 2022-12-20 [E] [expires: 2024-12-19]
478 ssb> ed25519 2022-12-20 [S]
483 $ cd ~/.gnupg/private-keys-v1.d
484 $ strings *.key | grep 'private-key'
486 输出应包含 ``shadowed-private-key`` 指示这些文件只是存根,实际内容
494 $ echo "Hello world" | gpg --clearsign > /tmp/test.asc
495 $ gpg --verify /tmp/test.asc
498 ``gpg --verify`` 后显示"Good signature"。
503 ---------------------
513 $ export GNUPGHOME=/media/disk/foo/gnupg-backup
514 $ gpg --list-secret-keys
527 $ gpg --quick-set-expire [fpr] 1y
532 $ gpg --quick-set-expire [fpr] 2025-07-01
536 $ gpg --send-key [fpr]
544 $ gpg --export | gpg --homedir ~/.gnupg --import
547 通过 ssh 使用 gpg-agent
551 gpg-agent。
555 - `Agent通过SSH转发`_
575 .. _`自己与它无关`: https://github.com/jayphelps/git-blame-someone-else
578 --------------------------
584 $ git config --global user.signingKey [fpr]
587 ----------------
589 要创建签名标签,只需将 ``-s`` 开关传递给 tag 命令::
591 $ git tag -s [tagname]
599 要验证签名标签,只需使用以下 ``verify-tag`` 命令::
601 $ git verify-tag [tagname]
626 $ git config --global tag.forceSignAnnotated true
629 ------------------
647 3. 如果有人需要挑选你的提交,这可以让他们在应用之前快速验证其完整性。
652 要创建签名提交,你只需将 ``-S`` 标志传递给 ``git commit`` 命令(由于
653 与另一个标志冲突,所以它是大写的 ``-S`` )::
655 $ git commit -S
662 git config --global commit.gpgSign true
666 确保 ``gpg-agent`` 在打开此功能之前进行配置。
672 ----------------
675 电子邮件签名机制(PGP-Mime 或 PGP-inline)往往会导致常规代码审查任务
677 名放入消息标头中(a-la DKIM):
679 - `Patatt Patch Attestation`_
690 则 patatt 不需要进一步配置。你可以通过在所需的仓库中安装 git-send-email
693 patatt install-hook
695 现在,你使用 ``git send-email`` 发送的任何补丁都将自动使用你的加密签
704 $ b4 am 20220720205013.890942-1-broonie@kernel.org
707 ---
708 ✓ [PATCH v1 1/3] kselftest/arm64: Correct buffer allocation for SVE Z registers
709 ✓ [PATCH v1 2/3] arm64/sve: Document our actual ABI for clearing registers on syscall
710 ✓ [PATCH v1 3/3] kselftest/arm64: Enforce actual ABI for SVE syscalls
711 ---
726 使用 WKD 和 DANE 配置auto-key-locate(自动密钥检索)
727 ----------------------------------------------------
736 auto-key-locate wkd,dane,local
737 auto-key-retrieve
746 Greg Kroah-Hartman 的密钥(如果你还没有它们)::
748 $ gpg --locate-keys torvalds@kernel.org gregkh@kernel.org
756 -----------------------------------
774 ``trust-model`` 设置::
776 trust-model tofu+pgp
779 --------------------------
785 - `内核开发者密钥环`_