- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
这感觉应该非常简单,但我没有任何运气。
场景是这样的:我有一个公开的 *.asc key 文件。我想使用这个文件(不是我的个人 key 环)来加密服务器上的数据,这样我就可以在本地用 key 解密它。
在命令行中,我可以使用 gpg
实现这一点,但我更喜欢使用 Ruby 库,它不仅仅是 CLI 的包装器(即,可能提供绑定(bind)到C 库)。我查看了 GPGME 和 OpenPGP gem,但一直无法弄清楚如何使用它们。文档(尤其是 OpenPGP)非常稀少。
例如,这是我使用 GPGME 尝试过的东西,但没有任何运气:
key = GPGME::Data.new(File.open(path_to_file))
data = GPGME::Data.new("I want to encrypt this string.")
# Raises GPGME::Error::InvalidValue
GPGME::Ctx.new do |ctx|
e = ctx.encrypt(key, data)
end
有没有人已经经历过这个?这肯定不会那么复杂吧?
最佳答案
我相信我现在已经弄明白了。实际上,我只是遗漏了一些简单的部分:
GPGME::KEYLIST_MODE_EXTERN
的 keylist_mode
初始化 GPGME::Ctx
对象。GPGME::Ctx#import
导入公钥文件。GPGME::Crypto#encrypt
执行加密并指定正确的接收者。所以我的解决方案现在看起来像这样:
key = GPGME::Data.new(File.open(path_to_file))
data = GPGME::Data.new("I want to encrypt this string.")
GPGME::Ctx.new(GPGME::KEYLIST_MODE_EXTERN) do |ctx|
ctx.import(key)
crypto = GPGME::Crypto.new(:armor => true, :always_trust => true)
e = crypto.encrypt(data, :recipients => "recipient@domain.com")
end
关于ruby - 如何使用 OpenPGP 和 Ruby 对数据进行非对称加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11548337/
这是我第一次想最好检查我要安装的绑定(bind)软件的 key 。所以我下载了我认为是 OpenPGP key 的东西...... $ wget ftp://ftp.isc.org/isc/bind9
RFC 4880 将版本 4 签名数据包标签 2 描述为 - One-octet signature type. - One-octet public-key algorithm. - One-oct
我正在使用 Grails 插件:crypto:2.0,但在 PGP 中加密解密消息时遇到问题。 这是我的 Controller 代码: def index3 () { def pgpK = P
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 8年前关闭。 Improve this que
我正在尝试使用 BouncyCaSTLe 库创建签名和加密的消息,然后我在命令行上针对 gpg 进行测试以确认它是否有效。然而,虽然它提供了一个看起来不错的 PGP 消息,但 gpg 在解密它时遇到了
如何使用 Javascript 和 openpgp.js 从文本中读取私钥并生成公钥? 我试图让用户将他们的私有(private) PGP key 输入文本框,并使用该文本框中的数据(和密码)生成公共
我在一个目录中有数百个 gpg 加密文件,格式为 filename.xyz.gpg,其中“xyz”是任意扩展名。我需要解密所有文件以生成 filename.xyz,这样我就不必手动输入每个文件的密码了
我正在使用 PHP 中的 GnuPG 类。我在导入有效公钥时没有遇到任何问题,但如果我尝试随机导入一些明显不是公钥的“测试”之类的东西,我会收到错误 502 错误网关。我在 PHP 文档中看到 gnu
是否有创建 OpenPGP key 或使用 OpenPGP 加密文件的库? 最佳答案 可以看看GPGMe .查看manual关于 generating keys 的条目和 encrypting a p
我想使用我的 GPS (2) 子 key 之一在 Git 中签署提交/标签即,我新创建的具有长 ID B0##...的 RSA4096 仅签名 key sec# ed25519/9F########
我正在开发一个需要验证 OpenPGP 公钥的 go 项目,以便能够使用它来验证文件签名。 我生成了一个根 key 和另一个 key ,我用根 key 对其进行了签名(我们称第二个 key 为已签名)
我对文档有一些疑问。 这是我的程序: package main import ( "bytes" "code.google.com/p/go.crypto/openpgp" "
OpenPGP.js 是一个实现了 OpenPGP 标准的密码学库,最常用于电子邮件加密。 OpenPGP.js 是一个实现了 OpenPGP 标准 的密码学库,
我正在使用以下管道从 Aurora 流式传输数据,将其转换为 csv,然后将其发送到 S3。 可读的 knex 流: const getQueryStream = (organizationId) =
我只有一个 OpenPGP key 的公共(public)指纹。我不知道 key ID 或几乎任何其他信息。 如何获取对应的公钥?有没有在线服务可以做到这一点? 最佳答案 指纹与长短键 ID 的关系如
从 GitHub REST API v3 for GPG Keys 返回的 public_key 字段的格式是什么? ? 例如,命令curl -v -H "Accept: application/vn
我正在尝试从 ActiveMQ 的公共(public) OpenPGP key 中获取指纹。它们发布于http://www.apache.org/dist/activemq/KEYS . 不幸的是,并
据我了解,OpenPGP 是 'definition of a set of standard formats for encrypting/signing' . 我最近推荐某人使用默认的 Java
我尝试导入现有的 pgp 公钥: -----BEGIN PGP PUBLIC KEY BLOCK----- Version: Keybase OpenPGP v1.0.0 Comment: https
我在业余时间一直在研究 OpenPGPjs(Javascript port of OpenPGP)以学习新知识。为了测试它,我正在开发一个简单的网络应用程序来存储和检索 key 对和数据库中的加密数据
我是一名优秀的程序员,十分优秀!