标签: gnupg

GPG - 与多个收件人一起解密

我正在尝试解密已使用 2 个收件人 (--recipientrecipientA@example.com --recipientrecipientB@example.com) 加密的文件。但是,当我尝试解密文件时,它总是请求第一个收件人的密码。当第一个收件人密钥不是密钥环的一部分时,它将给出错误“未找到密钥”。

如何加密具有多个收件人的文件,以便双方都可以在不知道对方密钥和密码的情况下解密它们?

(对我来说,这个问题似乎很简单,也是一个基本功能 - 但显然我无法让它发挥作用)

先感谢您!

encryption gnupg

4
推荐指数
1
解决办法
5587
查看次数

如何使用 OpenSSL 验证 GPG 签名

我编写了一个简单的跨平台实用程序来使用gpgme验证 GPG 签名。然而,gpgme 在 Windows 和其他平台(例如 osx)上工作得不太好,它需要安装 GnuPG 命令行实用程序,这是一个相当重的依赖项。我还研究了其他 openpgp 库,例如netgpg,但它们的可移植性更差(它确实必须使用 mingw-w64 构建)。

是否可以实现一个独立的工具来仅使用 openssl 和 zlib 等标准库来验证 GPG 签名?据我了解,openpgp 由标准密码和哈希函数组成。是什么让这件事变得如此困难以至于没有好的 C 库来做到这一点?

ssl gnupg openpgp public-key-encryption gpgme

4
推荐指数
1
解决办法
2974
查看次数

更新 MacOSX 后 GPG 签名 Git 提交在密码输入时挂起

我认为这种情况是在我更新最新的 OSX 版本后开始发生的,该版本可能包含也可能不包含新版本的 Git。但现在,几乎每次我尝试签署我的提交(通过git commit -Sgit rebase -S):

  1. 我收到密码提示
  2. 输入密码
  3. 按 Enter 键,什么也没有发生。没有“权限被拒绝:密码无效”,什么也没有。
  4. 我必须按 Ctrl-C 才能退出提示。

不确定这是否是 Git 或 El Capitan 10.11.6 上的已知问题,但它变得令人烦恼,因为我总是签署我的 git 提交。

我还检查了没有其他 GPG 进程正在运行,什么也没有。

git macos gnupg

4
推荐指数
1
解决办法
2502
查看次数

如何在组织模式下加密单个标题?

我到处搜索有关如何使用 org-crypt 在 org-mode 中使用密码保护特定标题的信息。大多数信息都说使用 org-crypt。我已将 org-crypt 行添加到我的 .emacs 中,但没有任何运气让它工作。我认为你还必须使用 gpg,但我仍然不确定。

我已经添加了:

(require 'org-crypt)
(org-crypt-use-before-save-magic)
(setq org-tags-exclude-from-inheritance (quote ("crypt"))) 
;;  set to nil to use symmetric encryption.
(setq org-crypt-key nil)
Run Code Online (Sandbox Code Playgroud)

当我用 crypt 标签保存文件时,没有任何反应。我想我缺少某种连接代码。有人知道我做错了什么吗?提前谢谢了。

encryption emacs gnupg org-mode

4
推荐指数
1
解决办法
1289
查看次数

gpg,一个电子邮件地址有两个密钥

假设用户在 gpg 密钥环中列出了 2 个密钥(即,2 个密钥具有相同的电子邮件地址)。如何设置使用 2 个键中的哪一个?我唯一的输入是电子邮件,并且这两个键是相同的。
谢谢

gnupg

4
推荐指数
1
解决办法
5368
查看次数

如何在不手动操作的情况下信任一堆您信任的 pgp 公钥?

我只需要信任一堆公钥就可以通过 pass 来使用它。不幸的是,我没有找到一种简单的方法来信任我本地存储的所有公钥。我发现它的收益按时间顺序相当昂贵:

> gpg --edit-key XXXXXXXXXXXXXXXX
  gpg (GnuPG) 2.2.10; Copyright (C) 2018 Free Software Foundation, Inc.
  This is free software: you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.

pub  rsa4096/XXXXXXXXXXXXXXXX
     created: 2018-11-16  expires: never       usage: SC  
     trust: unknown       validity: unknown
sub  rsa4096/XXXXXXXXXXXXXXXX
     created: 2018-11-16  expires: never       usage: E   
[ unknown] (1). email@example.com

gpg> trust
pub  rsa4096/XXXXXXXXXXXXXXXX
     created: 2018-11-16  expires: never       usage: SC  
     trust: unknown       validity: unknown
sub  rsa4096/XXXXXXXXXXXXXXXX
     created: …
Run Code Online (Sandbox Code Playgroud)

trust automation gnupg pgp

4
推荐指数
1
解决办法
3769
查看次数

是否可以将 GPG 密钥过期时间设置为短于一天(例如一小时)?

在我的项目中,我们想要测试 GPG 密钥过期时我们的产品的行为。所以我们希望密钥在很短的时间内过期,以便频繁地重复测试。

实际上,生成密钥时的提示信息明确表明过期的最小单位是“天”:

Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Run Code Online (Sandbox Code Playgroud)

但我仍然想问一个问题,以防万一有什么东西可以满足我的需求:是否可以将 GPG 密钥过期时间设置为短于一天(例如,一小时,甚至几分钟)?

如果没有这样的方法,我需要弄清楚如何重复我们的测试,而不必等待一整天。

gnupg

4
推荐指数
1
解决办法
929
查看次数

Git 不认为 gpg 密钥是秘密,即使它是,我该如何修复它?

所以看起来我的 gpg 密钥是秘密的,但是当我尝试在 git 中签署我的提交时,它不被识别为秘密。我完全不知道为什么会这样。我相信我的设置正确,但我的提交标志失败。难道我做错了什么?在此先感谢您的帮助。

[brad@reason entry-criteria-test]$ gpg --list-secret-keys --keyid-format LONG
/home/brad/.gnupg/secring.gpg
-----------------------------
sec   4096R/15980D34B4EED3FA 2019-03-11
uid                          Brad <brad@work.com>
ssb   4096R/3B437BF0F7366F6C 2019-03-11

[brad@reason entry-criteria-test]$ git config user.signingkey 15980D34B4EED3FA
[brad@reason entry-criteria-test]$ git config --global user.signingkey 15980D34B4EED3FA
[brad@reason entry-criteria-test]$ git commit -S -m "testing signed commit"
gpg: key B4EED3FA: secret key without public key - skipped
gpg: skipped "15980D34B4EED3FA": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object
[brad@reason …
Run Code Online (Sandbox Code Playgroud)

git gnupg gpg-signature

4
推荐指数
1
解决办法
1848
查看次数

在 Windows 上使用 GPG4Win 代替 Git 的内部 GPG

当我gpg --list-secret-keys --keyid-format LONG在 git 中运行时,我根本没有显示任何键。另一方面,当我运行相同的命令时,cmd或者PowerShell我得到一个看起来像这样的输出

在此输入图像描述

我还gpg.program通过运行在全局配置文件中添加了配置git config --global gpg.program "/c/Program Files (x86)/GnuPG/bin/gpg.exe"。无济于事。知道我可能做错了什么吗?顺便说一句,我只使用 git bash,并没有将 git 集成到 Windows 中。

windows git gnupg

4
推荐指数
1
解决办法
2026
查看次数

Git GPG:gpg 未能对数据进行签名

我在签署我的提交时遇到错误git commit -S -m 'test'并收到以下错误:

error: gpg failed to sign the data
fatal: failed to write commit object
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这个解决方案,但仍然无法正常工作。

也尝试过这个,但仍然一无所获。

我有配备最新 macOS 的 Macbook Pro 2017。

有没有其他解决方案可以修复它并正确地将我的提交提交到 Github 或 Gitlab?

git github gnupg gitlab gpg-signature

4
推荐指数
1
解决办法
4662
查看次数