问题标签 [pgp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 我如何知道 PGP BouncyCastle 在他们的 PGP 加密 Java 实现中实现了哪个版本?
查看 Bounty Castle 的发行说明,我没有看到任何日期或任何与 PGP 版本相匹配的内容。也许我想错了。
debian - 将 .p12 证书导入 GPG 以对 debian 包进行签名
我目前正在.deb
使用从同事那里获得的自签名 PGP 证书签署一些 debian 软件包。因此,我的文件夹 `~/.gnupg/ 中有以下文件:
- gpg.conf(目前只有评论)
- 发布.gpg
- 随机种子
- secring.gpg
- 信任数据库.gpg
我现在获得了一个正确签名的 .pfx 格式(或从 Keychain 导出的 .p12)证书,我应该用它来签署我的 debian 包。我一直在谷歌上寻找相当多的东西来弄清楚如何转换证书。我目前正在寻找一种将 .pfx 转换为上述文件结构的简单方法,以便我可以继续使用新证书签署我的 debian 包。
非常感谢您的帮助!
c# - FTP 在 C# 中传输期间更改 PGP 文件
我有已验证为有效的 PGP 文件,但在 FTP 上传期间的某个时间点,它们会损坏。检索时,我收到一条错误消息,指出“在这些文件中找不到 PGP 信息”。
值得一提的是,PGP 是 6.5.8 版,但我认为这并不重要,因为文件在上传之前看起来还不错。
我的文件传输代码如下,是否有我错过的设置或字段?
任何帮助表示赞赏
apache-camel - Apache骆驼路线中的PGP解密
我正在尝试从 apache camel 中的 sftp 服务器解密 pgp 加密文件。我四处搜索并找到了一些线程,但没有得到关于如何在 apache 骆驼路线中进行 pgp 解密的真正线索。有没有人这样做并愿意为我指明方向或分享代码?
ios - iOS 上的 PGP 解密
我正在尝试在 iPad 上实现 PGP 文件的解密。我设置了一些测试 .txt 文件,然后通过 PGP 桌面对其进行加密。
我已经导入了用于加密文档的证书的私钥,使用 SecPKCS12Import,然后从生成的 SecIdentityRef 中使用 SecIdentityCopyPrivateKey()。
如果我使用证书的公钥和私钥在 Objective C 中测试加密和解密一个简单的字符串,那效果很好。
现在我正在试用实际的 PGP 解密,我有点难过......从 .pgp 文件中读取文本,我得到:
我知道我需要从文件中的数据中获取 PGP 用来加密文件的随机一次性密钥。我知道要做到这一点,我需要将 SecKeyDecrypt 与私钥一起使用,以获取一次性 AES 密钥。一旦我有了那个密钥,我就可以解密其余的数据。
我遇到的问题是将哪一部分数据输入 SecKeyDecrypt。PGP 文件设置如何 - 前 128 个字符是 AES 密钥吗?除非我的理解是错误的,否则我需要将其与数据分开。
如果我通过 SecKeyDecrypt 函数将前 128 个字符作为 void 运行:(在剥离 BEGIN PGP MESSAGE 行之后)
我明白了:
MRªh6∞bJ˘e£t*˝ã=ŒA¢Òt'ŸY±éÿAÃîâG Îfi≠$b≈tâç`yxk=uHªqu-,–dïn^™È\›5±tb.‡€Kñ⁄≤sΩw–ïʃkafS ˘À*Æô竡rAyv)fi]wOrµKz^ªq“à∑öΓı*r<+l˝Äo∑›g≠¶/÷eÔ&€PÒRåêM¶Ñ|Q$á6În^võ¬∏·h(ƒß• R≤(fò(*•Aa
我不知道这是什么编码,但试图将它从 outputBuf 转换为字符串永远不会 100% 有效。无论我通过什么编码,它似乎都会被修改。如果我先将它传递给 NSData,我可以取回原始字符串。
然后我尝试将该密钥传递给 AES256DecryptWithKey 类,在前 128 个字符之后为其提供 PGP 文件中的剩余数据。
问题:
结果数据“纯”打印为<>,即为空。我的问题是我什至不认为我知道如何从 PGP 文件中获取密钥。
谁能向我解释 PGP 文件设置?如果它实际上与数据完全分开,那么“关键”是什么部分?它总是相同的长度/相同的位置吗?如果它不是分开的,那么我根本不知道我怎么能抓住它。我认为其余的工作会很好。我没有收到任何错误或崩溃,这不是我为 AES 解密传递的正确密钥和/或数据,我怀疑可能是字符串编码错误的组合,并且没有为 AES 密钥/正确组合获取正确的数量.
笔记 -
我创建了 3 个不同的文本文件并通过 PGP 进程运行它们。检查它们,它们都以相同的 24 个字符 (qANQR1DBwEwDraQm2Kxa5GkB) 开头。即使我通过解密传递了这 24 个,它也不起作用,而且我的印象是每个文档使用的 AES 密钥 PGP 都不同。我弄错了吗?
感谢您朝着正确方向迈出的任何一步!
编辑添加:
只是部分注意到我的错误 - 128 的 AES 需要 16 位,所以无论哪种方式,我都使用 128 个字符来取错数量,愚蠢的错误,认为我一直在看这个太久......换掉它并没有工作。我所做的任何解密都会导致 '⁄Ĉ¢ï¡0M¶È2Cˆ¿©gUú¨6iîΩ`&<%Jœv£¯nRbΔ:(–%' 类型结果,这对我来说意味着我做错了什么或需要对编码做进一步的事情。
pgp - 如何在不使用本地存储(在 ~/.gpg 下)的情况下从 gpg 中的私有获取公钥?
查看Subj:如何在不使用本地存储(在〜/ .gpg下)的情况下从gpg中的私人获取公钥?
此解决方案不满足要求:
go - 如何使用 Go 的 openpgp 包?
我一直在查看Go软件包的文档openpgp
,我想我一定遗漏了一些明显的要点。例如,有一个ReadKeyRing
函数,但没有WriteKeyRing
. 另一方面,我可以Serialize
,Entity
但我无法读回它。这里发生了什么?有人真的用过这个包吗?
php - 使用 PGP/MIME 签署多部分邮件
我正在尝试在 php 中使用 PGP 签署邮件。我可以使边界和标题正常工作,但邮件签名无效(如 Thunderbirds Enigmail 所述)。
我的问题是要签署什么部分以及在执行时要注意什么。
目前生成的邮件的来源是这样的(文本和签名被占位符替换,以使其易于阅读):
目前以 & 开头的行用于生成签名。换行符只是换行符(PHP_EOL)。
我尝试遵循 RFC2015 但这似乎不适用于多部分/替代内容。
请在这里帮助我,这样我才能完成。
ruby-on-rails - Rails 生产与使用 GPGP 加密的生产控制台产生不同的结果。怎么修?
我正在使用各种 GPGR gem (https://github.com/HHRy/gpgr) 来进行 pgp 加密,当我installed_public_keys
在生产控制台中运行一个函数时,我收到的电子邮件(在一个数组中)是附加到我的 PGP 密钥。但是,如果我有一个在生产 gui 中记录该函数的输出的按钮,它会输出一个空数组。
我还有一个脚本运行程序,我可以使用运行良好的生产环境标志调用它,但是当以 root 身份从 crontab 调用完全相同的行时,它会失败,说没有安装任何密钥。
我假设这与每个用户都拥有一个密钥环而不是环境变量有关,但所有生产都使用 root 并且它让我大吃一惊。
postgresql - PostgreSQL pgp_sym_encrypt() 在 9.1 版中被破坏
以下适用于 PostgreSQL 8.4:
当我在 9.1 版中尝试它时,我得到了这个:
错误:函数 pgp_sym_encrypt(unknown, unknown) 不存在第 1 行:插入凭证值('demo', pgp_sym_encrypt('pass... ^ 提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。
***错误** *
错误:函数 pgp_sym_encrypt(unknown, unknown) 不存在 SQL 状态:42883 提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。字符:40
如果我尝试一些像这样的明确演员表
我收到一条略有不同的错误消息:
错误:函数 pgp_sym_encrypt(text, text) 不存在
我已经安装了 pgcrypto。有人在 PostgreSQL 9.1 中使用 pgp_sym_encrypt() 吗?