【发布时间】:2016-05-12 11:39:01
【问题描述】:
我正在尝试使用 golang 中的 openPGP 包加密字符串,但到目前为止我还没有成功。
到目前为止,我尝试过的所有方法都不起作用,因此我正在寻找任何建议或修复方法。
我唯一的要求是它应该将公钥/私钥和字符串解密为字符串,而不是文件。
我尝试使用这篇文章中的示例:http://julianyap.com/2014/07/04/gnu-privacy-guard-gpg-examples-using-golang.html
具体是这个例子:https://gist.github.com/jyap808/8324818
但是当我开箱即用时,它会在尝试读取密钥时显示以下内容
openpgp: invalid argument: no armored data found
而且我没有找到其他好的示例/工作包。
我开始用尽选项,因为我最初尝试在 PHP 中执行此操作,但在那里也失败了。如果有人能提供一些建议,那就太好了!
提前致谢
【问题讨论】:
-
如果我记得,用 gpg
armor指示系统使用特殊的 ASCII 形式的键。使用有关您如何使用盔甲以及如何生成密钥的相关代码更新您的问题(使用--armor选项,对吗?)。 -
我使用的是实际示例,没有更改任何内容。所以我猜它应该可以工作,但我会尝试使用 Armor 选项生成一个密钥。
-
Okey,所以我可以使用自己的密钥成功生成消息,但是,我无法使用我尝试过的任何在线服务来解密它们,它根本不起作用。我猜这是因为我需要某些 PGP 标头,但我不确定具体要使用什么。尝试只复制一些通用的,但它不起作用。
-
你是用公钥加密,用私钥解密吗?
-
lol 感觉这里差点被人攻击了,还以为自己是菜鸟,虽然明白是要一一排除问题。是的,用于加密的公钥和用于解密的私钥,但是返回的字符串没有标题,所以我尝试粘贴通用的标题以便能够解密它,但可惜没有成功