如何将 Kleopatra PGP 密钥存储在 USB 驱动器上?

如何将 Kleopatra PGP 密钥存储在 USB 驱动器上?

我在 Windows 上使用 Kleopatra(实际上是 gpg4win)。我创建了 PGP 私钥,我想将它们存储在我的 USB 记忆棒上(例如,只有当私钥可用时才能加密文件 - 也就是说,如果 USB 记忆棒在驱动器中)。

我怎样才能做到这一点?

谢谢!

答案1

您不能移动单个密钥甚至密钥对,但您可以移动整个密钥环:

  1. 将 GnuPG 数据目录(~/.gnupg在 Windows 上为 ; %APPDATA%\.gnupg)移动到您选择的位置。
    • 为了额外的安全,请复制并进行安全擦除,而不是仅仅移动(这会进行不安全的删除)。
  2. 将环境变量设置GNUPGHOME为新位置。
    1. 系统属性 → 高级 → 环境变量或者,在 Windows 7 中,在控制面板中搜索“environ”。
    2. 点击添加, 进入GNUPGHOME作为名称,并将新路径作为值。
      • 例如,E:\private\gnupg或者C:\mnt\jwir3 flash drive\GnuPG无论你将钥匙移到了哪里。
    3. 当前正在运行的程序将不会查看您的更改。例外:Windows Shell(explorer.exe),它接收更改通知。因此您需要关闭 Kleopatra 并从“开始”菜单重新启动它。

编辑:看起来它实际上是GNUPGHOME环境变量,而不是GNUPG_HOME

答案2

我尝试了 GNUPGHOME 目录,它基本上可以正常工作,但是如果您再次安装 GPG,那么一切都会变得一团糟,并且会产生一些问题。我偶然发现的一个更好的解决方案是下载并安装完整的 gpg4win 下载,然后运行 ​​mkportable --full [somedir] 来创建便携式安装。将其复制到您的 USB 或 truecrypt 驱动器,然后卸载 gpg。主目录是您复制所有现有密钥环文件(如果有)的地方。

答案3

我在 Windows 上使用 Kleopatra(实际上是 gpg4win)。我创建了 PGP 私钥,我想将它们存储在我的 USB 记忆棒上(例如,只有当私钥可用时才能加密文件 - 也就是说,如果 USB 记忆棒在驱动器中)。

实际上,您不会使用私钥加密文件。通常,公钥负责加密,私钥负责解密或签名。

随身携带私钥不会给您带来任何好处。当 Windows 和 Cleopatra 设置正确时,密钥环文件将受到密码保护。例如,在 Windows 计算机上使用 SMIME 时,密钥将使用您的 Windows 密码进行加密。

如果有人能够从您的计算机中提取您的私钥,那么他可能还能够在这台电脑上安装键盘记录器,并在您将 USB 驱动器连接到该电脑时从您的 USB 驱动器复制您的密钥环。任何人都可以编写一个 .com,在安装可移动驱动器时(通过自动启动例程)搜索 .pgp 文件并将其复制到特定位置。

我同意,不时备份并保存好密钥环是绝对合理的,但一旦有人窃取了您的 PGP 密钥环,您就一无所获了。您会使用哪种 USB 驱动器?Corsair 挂锁?

答案4

我正在使用的另一个选项(我在 Win10 中使用 gpg4win):创建密钥 - 私钥存储在 C:\Users\xxx\AppData\Roaming\private-keys-v1.d\ 中。我已将 .key 文件从此处移动(最好也清除该空间)到我的 SD 卡,并创建了指向 SD 卡中文件的同名符号链接。现在,当我尝试解密/签名任何东西时,我得到了解密失败:没有密钥。一旦我重新插入 SD 卡,它就会再次正常工作。无需重新启动 Kleopatra 或 GpgEX。

相关内容