标签: pgp

寻找解释 PGP 签名和加密文件内部结构的模型

我正在尝试使用 BouncyCastle 来调试和扩展现有的一段 Java 代码来解密和验证安全附件。

我已经浏览了 BouncyCastle 示例,但从那里更难提取的是 PGP 安全附件的模型。从代码和各种错误我可以推断出有一些东西由 PGPMarker 表示,然后你可以找到一个 PGPCompressedData,它里面有一个 PGPOnePassSignatureList 等等。这并没有澄清诸如何时期望一个与另一个以及在单独执行签名和加密时是否存在一次性签名等问题(这些是我遇到的示例,但不是问题的主题)。BC 的 javadoc 没有解释太多(例如,PGPOnePassSignature是“一次性签名对象”)。

通过反复试验对模型进行逆向工程是很耗时的,而且由于我还没有成功地在谷歌上搜索到一个很好的资源,我希望也许其他人知道。

提前致谢。

security encryption bouncycastle pgp openpgp

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

将受密码保护的PGP密钥公开保密是否安全?

我的PGP密钥始终受密码保护,这意味着您需要使用对称密钥对其进行解密才能访问我的私钥.

我有兴趣公开我的密码保护PGP密钥,但我不完全确定我是否遗漏了一些东西.将我的密钥存储在我的计算机上似乎只会使事情变得更难(通过混淆来保证安全),但实际上并没有做任何好事.

考虑到我可以使用256位AES密码保护我的私钥 http://en.wikipedia.org/wiki/Key_size#Symmetric_algorithm_key_lengths

并且使用蛮力破解2 ^ n密码所需的能量存在理论上的限制 http://en.wikipedia.org/wiki/Brute_force_attack#Theoretical_limits

我错过了什么?

cryptography key pgp pki

4
推荐指数
2
解决办法
2216
查看次数

如何在不使用本地存储的情况下从gpg获取私钥(在〜/ .gpg下)?

Subj:如何在不使用本地存储的情况下(在〜/ .gpg下)从gpg获取私钥?

该解决方案不满足要求:

  $ gpg --import priv.key
  $ gpg --export $KEYID >pub.key
  $ gpg --delete-secret-and-public-key $KEYID

gnupg pgp

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

按字符串导入PGP公钥

我想在脚本中将PGP公钥导入我的钥匙串,但我不希望它将内容写入文件.现在我的脚本执行此操作:

curl http://example.com/pgp-public-key -o /tmp/pgp && gpg --import /tmp/gpg
Run Code Online (Sandbox Code Playgroud)

我怎么能写这个脚本所以我可以调用gpg --import并导入公钥作为字符串?谢谢您的帮助.

shell gpgpu pgp

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

获取OpenPGP密钥的指纹

我正在尝试从ActiveMQ的公开OpenPGP密钥获取指纹。它们发布在http://www.apache.org/dist/activemq/KEYS上

不幸的是,并非所有键旁边都列出了指纹。您知道如何进行吗?

gnupg pgp openpgp

4
推荐指数
3
解决办法
8500
查看次数

如何在不手动操作的情况下信任一堆您信任的 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
查看次数

如何在命令行上从 PGP 密钥中提取图像?

我创建了一个私有 PGP 密钥,然后在我的 Ubuntu 的密码和密钥管理器中添加了一张照片。我可以在那里看到照片,但是有什么方法可以从 shell 查看它并将其导出为图像文件?

gnupg pgp sh

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

使用 OpenPGP 加载密钥时出现格式错误的装甲文本错误

我正在尝试使用 Node.js 包openPGP解密使用 GnuPG 2.2.28 加密的文件,但我什至无法加载私钥来启动,并且出现以下错误:

{
  "errorType": "Runtime.UnhandledPromiseRejection",
  "errorMessage": "Error: Misformed armored text",
  "trace": [
    "Runtime.UnhandledPromiseRejection: Error: Misformed armored text",
    "    at process.<anonymous> (/var/runtime/index.js:35:15)",
    "    at process.emit (events.js:314:20)",
    "    at process.EventEmitter.emit (domain.js:483:12)",
    "    at processPromiseRejections (internal/process/promises.js:209:33)",
    "    at processTicksAndRejections (internal/process/task_queues.js:98:32)"
  ]
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中,看起来我已经正确提供了装甲密钥,并使用反引号将密钥括起来:

{
  "errorType": "Runtime.UnhandledPromiseRejection",
  "errorMessage": "Error: Misformed armored text",
  "trace": [
    "Runtime.UnhandledPromiseRejection: Error: Misformed armored text",
    "    at process.<anonymous> (/var/runtime/index.js:35:15)",
    "    at process.emit (events.js:314:20)",
    "    at process.EventEmitter.emit (domain.js:483:12)",
    "    at processPromiseRejections (internal/process/promises.js:209:33)",
    "    at processTicksAndRejections (internal/process/task_queues.js:98:32)" …
Run Code Online (Sandbox Code Playgroud)

pgp openpgp node.js

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

PGP:在哪里可以找到支持的算法列表(名称+编号)?

当您生成 PGP 密钥对时,您可以选择公钥算法:

$ gpg --expert --full-gen-key
gpg (GnuPG) 2.2.19; Copyright (C) 2019 Free Software Foundation, Inc.

Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
   (7) DSA (set your own capabilities)
   (8) RSA (set your own capabilities)
   (9) ECC and ECC
  (10) ECC (sign only)
  (11) ECC (set your own capabilities)
  (13) Existing key
  (14) Existing key from card
Your selection?
Run Code Online (Sandbox Code Playgroud)

当您列出/浏览 PGP …

gnupg pgp

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

GnuPG的clearsign选项如何工作?

可以使用PGP对文件进行签名,通过clearsign在CMD中执行以下命令来使用选项

gpg --clearsign filename

GnuPG使用什么样的算法来清除选项,这样即使在执行签名之后,输出签名也是可读的?

我阅读了一本手册,说明了clearsign选项是如何工作的,但我无法理解它.它可以在这里找到.

根据手册,盔甲适用于签名,使签名不可读.但问题是清晰度如何使签名可读.

但是,如何控制由哈希算法和加密函数组成的签名输出作为明文?

通过使用散列和加密函数,如何将输出保证为可读的ASCII字符范围?

cryptography gnupg pgp digital-signature

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