随着 GitHub 最近宣布他们支持 GPG 验证,我决定在我的机器上设置 GPG。
不幸的是,每次我签署提交时,GPG 都会输出以下有关不安全内存的消息。
gpg: WARNING: using insecure memory!
gpg: please see http://www.gnupg.org/documentation/faqs.html for more information
Run Code Online (Sandbox Code Playgroud)
我已经阅读了这篇博文,解释了这条消息的全部内容。在 linux 中解决此问题的最简单方法是将二进制文件的 uid 设置为 root 用户(并且 GPG 在设置安全内存空间后显然会降级)。
不幸的是,似乎没有一种安全的方法可以在 Windows 中正确解决该问题。我已经决定我愿意接受在不安全内存中操作的风险,但我想取消每次签署提交时显示的消息。
我想将该no-secmem-warning选项添加到我的用户级 GPG 配置文件(或添加到系统范围的配置,如果不可能),但我实际上不知道相关文件在 Windows 上的位置(或如果它们不存在,我应该创建它们)。
我使用的是 Windows 10。我使用gpg4win在我的机器上安装它。我的安装似乎不包含gpg-option二进制文件(当我gpg-option从 powershell运行时,它说找不到该程序)。我的 gpg 配置文件在哪里?
我曾经在旧的 Windows XP 机器上使用 Kleopatra。上述电脑的硬盘已转入外置机箱,可用;GPG4Win 2.0.1 版在该机器上。
新计算机运行 Windows 7 Home Premium 并安装了 GPG4Win 2.1.0。当然,我只能从公钥服务器下载我的公钥。
如何将 Kleopatra PGP GPG 私钥从旧硬盘传输到新计算机?
gpg-agent 具有选项“--enable-ssh-support”和“--enable-putty-support”,允许它使用它作为众所周知的 ssh-agent 的替代品。
我一直在努力弄清楚如何在 Windows 和 git-bash 中实现这项工作。(请不要建议我使用 putty,因为我有很多脚本和其他程序需要在我的 windows pc 机器上使用 git bash 和 openssh,包括 PHPStorm 等)
我的第一次尝试是enable-ssh-support在C:\Users\[user]\AppData\Roaming\gnupg\gpg-agent.conf文件中有一行,
并export SSH_AUTH_SOCK=/c/users/[user]/AppData/Roaming/gnupg/S.gpg-agent.ssh在/c/users/[user]/.bash_profile文件中行。(我还创建了一个SSH_AUTH_SOCK带有值的 Windows 环境变量C:\Users\[username]\AppData\Roaming\gnupg\S.gpg-agent.ssh)
我在密钥环中有我的 GPG 秘密密钥,带有启用身份验证和加密的子密钥。
并且我在C:\Users\[user]\AppData\Roaming\gnupg\sshcontrol文件中添加了启用身份验证的子密钥的 keygrip 。
由于 GnuPG 2.2.4 带有--export-ssh-key选项,所以我不需要monkeysphere将 GPG 密钥转换为 OpenSSH 格式。所以我导出了我的公钥,并将它放在具有正确权限的远程 Linux 机器中的 authorized_keys 文件中(使用腻子在另一台计算机上测试)。
然后我执行:
gpg-connect-agent killagent /bye和gpg-connect-agent /byePowerShell中(并开始在后台运行的GPG代理并创建了S.gpg-agent.sshSOCK文件)。
然后尝试以常规方式 ssh 进入服务器。
它给了我一个错误。
然后我尝试启用腻子支持(enable-putty-support行中gpg-agent.conf允许您启用腻子支持。
您还需要在 …
在 Windows 10 上,如何自动生成 PGP RSA 密钥对,如果 40 个十六进制字符指纹未开始ABBA(例如)转储每个,当生成的一对满足该标准时停止,然后导出公共和私人标准 ASCII 装甲形式的钥匙?假设所有指纹都是等概率的,在本例中,预期生成的指纹对数量约为 45,000,手动处理太多。
这是最近在我更新到 Windows 10 1803 (x64) 后开始的。我已将 Gpg4Win 更新到最新版本 (3.1.2),但这并没有解决任何问题。
我尝试了以下方法:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\SmartCards这些都没有解决它,我现在几乎没有想法。这是我机器上唯一的智能卡读卡器(除了 TPM),并且 Yubikey 已经过测试,可以在 Linux 上与 gpg 一起使用。
Yubikey 显示为 Identity Device (NIST SP 800-73 [PIV])
GPG 返回:
$ gpg --card-status
gpg: selecting openpgp failed: No such device
gpg: OpenPGP card not available: No such device
Run Code Online (Sandbox Code Playgroud)
Certutil …
假设我大部分时间只使用一个加密密钥。
如何设置默认加密密钥以避免在加密命令中提及它
换句话说,我想要这个命令:
gpg -e
Run Code Online (Sandbox Code Playgroud)
等同于接收者的命令
gpg -e -r reciever@mail.edu
Run Code Online (Sandbox Code Playgroud) 我收到一个扩展名为“.pgp”的文件。我成功解密了它,但生成的文件似乎是错误的:发件人加密了一个文件夹,而不是单个文件。但是,解密后我看不到文件夹 - 我看到一个奇怪的二进制文件,没有扩展名,Windows 7 无法打开(Windows 资源管理器中的纯白色图标)。
但是,Windows 必须知道它是一个文件夹,因为当我打开“属性”窗口时它是这样说的:
知道如何强制 Windows 将此文件作为文件夹处理吗?
gpg4win ×7
gnupg ×6
gpg-agent ×2
windows ×2
windows-10 ×2
encryption ×1
git ×1
gpgpu ×1
pgp ×1
private-key ×1
ssh ×1
windows-7 ×1
yubikey ×1