使用 GPG 密钥签署提交
WebStorm 依赖于 Git 内置的 GPG commit signing 功能。 为了获得最佳体验,建议使用具有图形界面的 gpg2 软件包以处理密码提示。
配置环境
设置 GPG 支持
请选择以下操作之一:
下载并安装最新版本的 GitForWindows (需 2.19.2 或更高版本)。 预配置的 GPG 是该软件包的一部分。
要验证是否正确设置,请打开 GitBash,运行
gpgconf命令并确保输出如下所示:gpg:OpenGPG:/usr/bin/gpg gpg-agent:Private Keys:/usr/bin/gpg-agent scdaemon:Smartcards:/usr/lib/gnupg/scdaemon gpgsm:S/MIME:/usr/bin/gpgsm dirmngr:Network:/usr/bin/dirmngr pinentry:Passphrase Entry:/usr/bin/pinentry运行
echo GETPIN | pinentry命令,确保 pinentry 显示图形界面提示。下载并安装 Gpg4Win 软件包,并通过以下操作确保
git config gpg.program指向软件包中的gpg.exe文件:运行
where.exe gpg。如果输出返回多个可执行文件,请定位 Gpg4Win 提供的文件(默认路径为 C:\Program Files (x86)\GnuPG\bin\gpg.exe )。
运行
git config --global gpg.program "path/to/gpg/from/Gpg4Win"。
设置 GPG 支持
请选择以下操作之一:
下载并安装 GPGTools。 预配置的 GPG 是该软件包的一部分。
请确保
git config gpg.program指向软件包中的 gpg 文件(默认路径为 /usr/local/MacGPG2/bin/gpg )。下载并打开 Homebrew 并运行以下命令:
brew install gnupg pinentry-mac。要验证是否正确设置,请打开 Terminal,运行
gpgconf命令并确保输出如下所示:pg:OpenGPG:/usr/local/MacGPG2/bin/gpg gpg-agent:Private Keys:/usr/local/MacGPG2/bin/gpg-agent scdaemon:Smartcards:/usr/local/MacGPG2/libexec/scdaemon gpgsm:S/MIME:/usr/local/MacGPG2/bin/gpgsm dirmngr:Network:/usr/local/MacGPG2/bin/dirmngr pinentry:Passphrase Entry:/usr/local/bin/pinentry运行
echo GETPIN | pinentry-mac命令,确保 pinentry 显示图形界面提示。
设置 GPG 支持
使用随您的 Linux 发行版提供的软件包管理器安装
gpg2。 软件包的具体列表将依赖您所用的发行版,主要包括 gnupg2 、 gnupg-agent 以及用于显示图形界面提示的 pinentry 。例如,在 Ubuntu/Debian 上,运行
sudo apt -y install gnupg2 gnupg-agent pinentry-gnome3。要验证是否正确设置,请打开终端,运行
gpgconf命令并确保输出如下所示:gpg:OpenPGP:/usr/bin/gpg gpg-agent:Private Keys:/usr/bin/gpg-agent scdaemon:Smartcards:/usr/lib/gnupg/scdaemon gpgsm:S/MIME:/usr/bin/gpgsm dirmngr:Network:/usr/bin/dirmngr pinentry:Passphrase Entry:/usr/bin/pinentry使用
echo GETPIN | pinentry命令,确保 pinentry 显示图形界面提示。
设置 GPG 密钥
最安全的方式是使用智能卡,例如 Yubikey 来存储您的私钥部分。 有关设置 Yubikey 的更多信息,请参阅 YubiKey-Guide。
导入 GPG 密钥
如果您已有 GPG 密钥,则需要将其导入到对应的 GPG 密钥环中。
打开 Terminal/命令提示符/GitBash/系统上的其他 shell 并运行以下命令:
gpg --import <path to your private gpg.key>
生成 GPG 密钥
如果尚无任何密钥,则需要生成新的密钥对。
打开 Terminal/命令提示符/GitBash/系统上的其他 shell 并运行以下命令:
gpg --full-generate-key(对于 pgp 2.1.17 及以下版本,请使用gpg --gen-key命令)。回答工具返回的问题。 推荐的选择包括:
密钥类型 :RSA
密钥长度 :至少 4096 位
密钥有效期 :1 年(建议每年更换一次密钥)
输入您的用户 ID 信息。 建议使用与提交作者相同的用户名和电子邮件地址。 如果计划结合使用邮箱隐私功能,请指定 GitHub noreply 邮箱地址。
输入一个安全的密码短语。 请确保在弹出的图形界面对话框中输入密码,而不是在命令行中输入,因为密码提示应使用图形界面。
运行以下命令确保密钥已导入:
gpg --list-keys。
启用提交签名
在启用提交签名之前,请先 设置 GPG 密钥。
启动 WebStorm(或重启它以确保加载您对环境所做的更改)。
在 设置 对话框中(Ctrl+Alt+S ),转到 版本控制|Git 并点击 配置 GPG 密钥 按钮。
在打开的对话框中点击 使用GPG 密钥签署提交 并从列表中选择要使用的密钥。
现在每次提交都将使用所选密钥进行签名。 GPG 签名的状态将在日志选项卡的提交详情窗格中显示。
将 GPG 密钥添加到您的帐户
如果您使用的 Git 托管平台支持 GPG 签名验证,请将您的公钥部分上传至该平台。
请按照以下平台的说明操作