草庐IT

encryption - openpgp golang gpg 库的问题

所以我是golang的新手,我正在努力获得一个使用openpgp加密一些文本并再次解密的工作示例。这是我目前所拥有的:(https://gist.github.com/93750a142d3de4e8fdd2.git)packagemainimport("log""bytes""code.google.com/p/go.crypto/openpgp""encoding/base64""io/ioutil""os")//creategpgkeyswith//$gpg--gen-key//ensureyoucorrectpathsandpassphraseconstmysecretstri

go - 我如何使用 Go 的 openpgp 包?

我一直在浏览documentation对于Go的openpgp包,我想我一定遗漏了一些明显的要点。例如,有一个ReadKeyRing函数,但没有WriteKeyRing。另一方面,我可以Serialize一个Entity,但我无法读回它。这里发生了什么?有没有人实际使用这个包? 最佳答案 一个实体代表公钥+私钥的GPGkey信息。ReadKeyRing函数允许您读取GPGkey列表。Entity.Serializefunctiondocumentation状态:Serializewritesthepublicpartofthegiv

go - 使用 go.crypto/openpgp 验证签名

我有一个二进制文件:foo.bin此文件已使用gpgkey签名以创建:foo.bin.sig我有一个包含用于签署二进制文件的公钥的文件。我想做的是能够使用Go验证此签名。我正在阅读go.crypto/openpgp文档,它们对这个用例并不是特别有用。验证将在远程机器上完成。理想情况下,我想避免在运行此代码的机器上使用key环。公钥可以简单地存储在可执行文件本身中......如果我能弄清楚如何完成此验证。我认为需要做的步骤如下:创建一个只代表公钥的实体同时打开二进制文件和签名并将其传递给某个验证函数问题主要是:如何仅使用公钥编写此验证函数? 最佳答案

go - 在 Go openpgp 中验证 gpg 签名

我正在编写一个下载和验证文件的Go程序。我希望避免强制用户安装gnupg(如果可能的话)。是否可以按照描述的方式验证带有gpg签名(asc文件)的下载文件here或here使用Go的openpgp库或其他Go库?任何演示如何使用openpgp验证具有asc签名的文件的示例将不胜感激。 最佳答案 我能够使用以下代码验证gpg签名:packagemainimport("fmt""golang.org/x/crypto/openpgp""os")funcmain(){keyRingReader,err:=os.Open("signer-p

go - Go 的 openpgp 包中的 PGP key 装甲编码

我正在尝试使用Go的openpgp/armor包以ASCII装甲编码打印PGP公钥。我期望的输出:-----BEGINPGPPUBLICKEYBLOCK----------ENDPGPPUBLICKEYBLOCK-----我得到的输出:-----BEGINPGPPUBLICKEYBLOCK-----它只打印公钥的第一部分。公钥从本地keyring文件中获取,处理如下:keyRingFileBuffer,err:=os.Open(keyRingFilePath)iferr!=nil{log.Fatal(err)}deferkeyRingFileBuffer.Close()keyRing,