标签: openpgp

gnupg:如何与密钥服务器交换密钥

你如何通过密钥服务器交换密钥?

工作示例非常适合发送和查找+检索。

我知道gpg --send-keys是命令,但是您如何找到 keyid(尝试了 - 的所有输出--list-keys)。--keyserver keys.gpugp.net使用--send-keys但不使用--search-keys(说坏 uri)。我应该发布哪些密钥?要发布到哪个密钥服务器。尽管是一个非常简单的程序,但 gnugp 文档很糟糕(链接断开,信息丢失)。

gnupg openpgp

6
推荐指数
1
解决办法
7430
查看次数

什么决定了 GnuPG 使用的 clearsign 哈希算法?

当使用 GnuPG 清除签名文本时,签名消息中有一个哈希部分。举个例子:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

abc
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEZZvqE5j3koIxs9Xim0+E4a5Vo2cFAlkRdvQACgkQm0+E4a5V
o2ew2QgAzHuvZ7Hlb6+3qRLjc9Yhdi+6tBmNWXbWpKoAQxpzx6jKQp/FSpQeGWuj
RxcYnqU3pk4ycMLtaCFcfnHEW5N0B95eXGcurgMGz7A6xhy0hy25x8WBdeKVAQ+2
PLA2ytJLUn2L1S3ueqJWcdVUBRaiczOOsYvvO
...
...

-----END PGP SIGNATURE-----
Run Code Online (Sandbox Code Playgroud)

但是对于不同的密钥(或服务器),哈希算法是不同的,有时是 SHA1,有时是 SHA256、SHA512。

是什么决定了这一点,关键还是 GnuPG 客户端?我找不到这方面的信息,当您使用gpgcreate new keys 时,没有指定哈希算法的选项。

更新:为了澄清我的问题,我在下面添加了更多信息。用于生成上面示例输出的命令是:

gpg --clearsign
Run Code Online (Sandbox Code Playgroud)

(gpg 版本在我的系统上是 gpg2。)

然后,我输入了一些随机文本,结果出现在上面。我想知道,如何生成具有特定“哈希:”值的输出?说,SHA1?

digital-signature gnupg openpgp

6
推荐指数
1
解决办法
4079
查看次数

检索对我拥有的密钥进行签名的公钥

我想弄清楚如何在一个命令中执行以下操作。

我有一个 ISO 映像及其签名文件 *.sig。我试图通过 GnuPG 2 验证它,但它报告了一个丢失的公钥给我它的指纹。我已使用以下方法成功检索到密钥

gpg2 --keyserver hkp://keys.gnupg.net --recv-key <fingerprint>
Run Code Online (Sandbox Code Playgroud)

但是当我检查钥匙时

gpg2 --edit-key <KEY ID>
Run Code Online (Sandbox Code Playgroud)

其次是

gpg> check
Run Code Online (Sandbox Code Playgroud)

我收到了这条消息:

27 signatures not checked due to missing keys
Run Code Online (Sandbox Code Playgroud)

如何检索所有这些密钥以检查我获得的密钥是否可信?

gnupg openpgp

6
推荐指数
1
解决办法
3877
查看次数

如何设置 SSH/PuTTY 以使用 Yubikey OpenPGP 身份验证?

我想使用 YubiKey 的 OpenPGP 接口在 Windows 10 上对我的 OpenSSH 服务器进行身份验证

  • 我根据这个创建了密钥:
    gpg --card-status
    
      Reader ...........: Yubico Yubikey 4 OTP U2F CCID 0
      Application ID ...: BEEFBEEFBEEFBEEFBEEFBEEF99990000
      Version ..........: 2.1
      Manufacturer .....: Yubico
      Serial number ....: 99999999
      Name of cardholder: John Doe
      Language prefs ...: en
      Sex ..............: male
      URL of public key : https://example.com/pgp.asc
      Login data .......: johndoe
      Signature PIN ....: required
      Key attributes ...: rsa4096 rsa4096 rsa4096
      Max. PIN lengths .: 127 127 127
      PIN …
    Run Code Online (Sandbox Code Playgroud)

ssh authentication putty openpgp yubikey

6
推荐指数
1
解决办法
9878
查看次数

如何使用 GPG 安装公钥

我正在安装 vagrant,并尝试按照他们的说明进行操作。我的下一步是安装他们的 PGP 公钥。我在 Windows 上,所以它不像 --recv-keys 那么简单,我需要将此代码放在某个地方:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

mQENBFMORM0BCADBRyKO1MhCirazOSVwcfTr1xUxjPvfxD3hjUwHtjsOy/bT6p9f
W2mRPfwnq2JB5As+paL3UGDsSRDnK9KAxQb0NNF4+eVhr/EJ18s3wwXXDMjpIifq
fIm2WyH3G+aRLTLPIpscUNKDyxFOUbsmgXAmJ46Re1fn8uKxKRHbfa39aeuEYWFA
3drdL1WoUngvED7f+RnKBK2G6ZEpO+LDovQk19xGjiMTtPJrjMjZJ3QXqPvx5wca
KSZLr4lMTuoTI/ZXyZy5bD4tShiZz6KcyX27cD70q2iRcEZ0poLKHyEIDAi3TM5k
SwbbWBFd5RNPOR0qzrb/0p9ksKK48IIfH2FvABEBAAG0K0hhc2hpQ29ycCBTZWN1
cml0eSA8c2VjdXJpdHlAaGFzaGljb3JwLmNvbT6JATgEEwECACIFAlMORM0CGwMG
CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEFGFLYc0j/xMyWIIAIPhcVqiQ59n
Jc07gjUX0SWBJAxEG1lKxfzS4Xp+57h2xxTpdotGQ1fZwsihaIqow337YHQI3q0i
SqV534Ms+j/tU7X8sq11xFJIeEVG8PASRCwmryUwghFKPlHETQ8jJ+Y8+1asRydi
psP3B/5Mjhqv/uOK+Vy3zAyIpyDOMtIpOVfjSpCplVRdtSTFWBu9Em7j5I2HMn1w
sJZnJgXKpybpibGiiTtmnFLOwibmprSu04rsnP4ncdC2XRD4wIjoyA+4PKgX3sCO
klEzKryWYBmLkJOMDdo52LttP3279s7XrkLEE7ia0fXa2c12EQ0f0DQ1tGUvyVEW
WmJVccm5bq25AQ0EUw5EzQEIANaPUY04/g7AmYkOMjaCZ6iTp9hB5Rsj/4ee/ln9
wArzRO9+3eejLWh53FoN1rO+su7tiXJA5YAzVy6tuolrqjM8DBztPxdLBbEi4V+j
2tK0dATdBQBHEh3OJApO2UBtcjaZBT31zrG9K55D+CrcgIVEHAKY8Cb4kLBkb5wM
skn+DrASKU0BNIV1qRsxfiUdQHZfSqtp004nrql1lbFMLFEuiY8FZrkkQ9qduixo
mTT6f34/oiY+Jam3zCK7RDN/OjuWheIPGj/Qbx9JuNiwgX6yRj7OE1tjUx6d8g9y
0H1fmLJbb3WZZbuuGFnK6qrE3bGeY8+AWaJAZ37wpWh1p0cAEQEAAYkBHwQYAQIA
CQUCUw5EzQIbDAAKCRBRhS2HNI/8TJntCAClU7TOO/X053eKF1jqNW4A1qpxctVc
z8eTcY8Om5O4f6a/rfxfNFKn9Qyja/OG1xWNobETy7MiMXYjaa8uUx5iFy6kMVaP
0BXJ59NLZjMARGw6lVTYDTIvzqqqwLxgliSDfSnqUhubGwvykANPO+93BBx89MRG
unNoYGXtPlhNFrAsB1VR8+EyKLv2HQtGCPSFBhrjuzH3gxGibNDDdFQLxxuJWepJ
EK1UbTS4ms0NgZ2Uknqn1WRU1Ki7rE4sTy68iZtWpKQXZEJa0IGnuI2sSINGcXCJ
oEIgXTMyCILo34Fa/C6VCm2WBgz9zZO8/rHIiQm1J5zqz0DrDwKBUM9C
=LYpS
-----END PGP PUBLIC KEY BLOCK-----
Run Code Online (Sandbox Code Playgroud)

有谁知道我应该去哪里?我正在使用 GnuPG - 不是 Gpg4win 中的任何过时软件。

openpgp

5
推荐指数
1
解决办法
2万
查看次数

GPG 智能卡获取公共子密钥时出错

我正在尝试使用 YubiKey 设置 OpenPGP 智能卡。
这是一个 YubiKey 4,所以理论上应该接受 4096 位的密钥,但我使用的是 2048 位的子密钥。

我有一个主密钥(仅设置为证书)和三个子密钥(签名、加密、身份验证),我已将其复制到 YubiKey。

我已将公钥上传到我的网站,并在智能卡中设置了公钥的 URL。

当我尝试使用 fetch 时,我收到一个错误,因为卡寻找错误的公钥。示例(使用 Windows 和 GPGWin):

Keys: 
11111111 - Master Key
22222222 - Signing sub
33333333 - Encrypt sub
44444444 - Auth sub

C:\gpg> gpg2 --card-status
...
URL of public key: https://my.server/pgp.key
...
General key info:  pub 2048/22222222 2016-01-09 Me <me@my.server>
sec# 4096R/11111111  created: 2016-01-09
ssb> 2048R/22222222  created: 2016-01-09
                     card-no: 0006 12345678
ssb> 2048R/33333333  created: 2016-01-09
                     card-no  0006 12345678
ssb> 2048R/44444444  created: 2016-01-09
                     card-no …
Run Code Online (Sandbox Code Playgroud)

smartcard gnupg openpgp

5
推荐指数
0
解决办法
1022
查看次数

公钥/私钥加密如何工作,谁生成密钥对?

我需要对文件进行加密,将其发送给外部合作伙伴,然后该合作伙伴将使用密钥解密该文件。

我的“基本”理解是我可以生成公钥和私钥,使用公钥对文件进行编码,我们的合作伙伴可以使用我们提供的私钥解密。但这对我来说听起来有点奇怪,我们将共享私钥。只有一个值得信赖的合作伙伴。

我错过了什么吗?

encryption pgp public-key-encryption openpgp

5
推荐指数
2
解决办法
1918
查看次数

同步 GnuPG 1.4 和 GnuPG 2.1 钥匙串

在新系统上将我的密钥导入 GnuPG 时,我考虑了以下几点:

  1. 是否可以同步 gpg 和 gpg2 (gpg2.1) 钥匙串?
  2. 这样做是否明智?

考虑

我找到了“GnuPG 1 和 GnuPG 2 彼此兼容吗?”的答案。,它说明了以下内容:

GnuPG 2.1 带来了一个重要的变化,它将以前分离的公共和私有密钥环(pubring.gpg 与 secring.gpg)结合到公共密钥环中。这已以保持兼容的方式实现,因此当 GnuPG 2.1 集成私钥环时,您仍然可以使用 GnuPG 1,但对私钥的更改不会显示为相应的其他实现。来自变更日志:
[...] 允许旧版 GnuPG 与 GnuPG 2.1 共存。但是,使用新 gpg 对私钥的任何更改在使用 2.1 之前的 GnuPG 版本时都不会显示,反之亦然。

文件级别的同步是没有选择的,似乎也没有内置的机制来同步链。

我是否可以安全地从 gpg 导出所有 pub 和 sec 密钥并通过 gpg2(cronjob 等)导入它们,反之亦然,或者这是否会给我带来未考虑的后果?

解决方案

我没有自动进行密钥同步,而是将所有密钥从我的 gpg 钥匙串转移到 gpg2 钥匙串并将 gpg2 符号链接到 gpg 以确保我始终使用 gpg2。这似乎是比将所有钥匙保存在不同钥匙圈中更好的解决方案。

gpg --export | gpg2 --import
gpg --export-secret-keys | gpg2 --import
sudo mv /usr/bin/gpg /usr/bin/gpg1
sudo ln …
Run Code Online (Sandbox Code Playgroud)

sync pgp gnupg openpgp gpg-agent

5
推荐指数
1
解决办法
2779
查看次数

GnuPG 私钥的处理和安全

我是新的 GnuPG,因此,这可能是一个愚蠢的问题。然而:

我想加密我的电子邮件,因此使用 gpg4win。此外,我还使用 Kleopatra,这是一种用于创建自己的证书和管理朋友公钥的工具。我浏览了Gpg4win - Compendium的手册,并且还阅读了一些其他手册和常见问题解答。

人们总是提到,导出您自己的证书/私钥并最好将其保存在某些外部介质(USB 记忆棒、DVD)上并妥善保管您的秘密密钥非常重要。无论如何,证书仍然在 Kleopatra-tool 中,可以一次又一次地导出(以及导入)。因此,我的证书的安全性不只是由访问我的 PC 的安全性定义的吗?我的意思是,作为一名黑客,我宁愿尝试访问某人的计算机,也不愿闯入公寓,在枕头下寻找那个 U 盘。我建议,这里的PC是最薄弱的地方。如果PC不是最薄弱的地方,则无需导出和隐藏证书。

另外,我正在使用 Thunderbird 和 Enigmail。在解密发送给我的邮件时,我被要求输入密码。与上面类似的点。只要不知道密码,秘钥不是完全没用吗?那么,当必须输入密码以使用我的证书时,导出和物理隐藏我的证书的重点在哪里?

encryption certificate gnupg openpgp

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

OpenPGP 加密的文件是否容易受到数据损坏的影响?

我已经使用 GnuPG 来加密一些长期备份,但我担心随着时间的推移数据损坏是否会导致无法恢复档案。

你能解密部分损坏的 OpenPGP 文件吗?

encryption file-corruption gnupg openpgp

2
推荐指数
1
解决办法
632
查看次数

无法分发永不过期的 GPG 公钥,因为它已过期

我之前已经成功分发了公钥(用于签署开源),但几个月后返回开源项目后,构建一直无法找到公钥。

当尝试重新分发密钥时我得到

gpg --keyserver keys.openpgp.org --send-key XXX
gpg: sending key XXX to hkp://keys.openpgp.org
gpg: keyserver send failed: Certificate expired
gpg: keyserver send failed: Certificate expired

Run Code Online (Sandbox Code Playgroud)

但是,证书设置为永不过期。

> gpg --edit-key  XXX
sec  rsa3072/XXX
     created: ...  expires: never       usage: SC  
     trust: ultimate      validity: ultimate
ssb  rsa3072/YYY
     created: ...  expires: never       usage: E   
Run Code Online (Sandbox Code Playgroud)

当证书设置为永不过期时,为什么它声称证书已过期,以及如何更新公钥以便可以再次使用?

谢谢。

certificate gnupg openpgp

2
推荐指数
1
解决办法
1661
查看次数

如何为 OpenPGP 证书设置自定义创建日期?

我可以创建包含自定义创建(开始有效期)日期的 OpenPGP 证书吗?

我今天需要创建一个 OpenPGP 证书,但让它从下周开始生效(例如)。

使用像“Kleopatra”这样的工具,我只能设置“到期日期”。

pgp gnupg openpgp

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