我将尝试使用Go的
我期望的输出为:
我收到的输出:
openpgp/armor
包,以ASCII装甲编码打印PGP公钥。我期望的输出为:
-----BEGIN PGP PUBLIC KEY BLOCK-----
<base64 encoded bytes of public key>
<checksum>
-----END PGP PUBLIC KEY BLOCK-----
我收到的输出:
-----BEGIN PGP PUBLIC KEY BLOCK-----
<first part of base64 encoded bytes of public key>
它只打印公钥的第一部分。
公钥是从本地密钥环文件中获取并按以下方式处理:
keyRingFileBuffer, err := os.Open(keyRingFilePath)
if err != nil {
log.Fatal(err)
}
defer keyRingFileBuffer.Close()
keyRing,err := openpgp.ReadKeyRing(keyRingFileBuffer)
if err != nil {
log.Fatal(err)
}
for _, k := range keyRing {
w, _ := armor.Encode(os.Stdout, openpgp.PublicKeyType, nil)
k.PrimaryKey.Serialize(w)
}
我是否错误地使用了这个包?有没有关于如何跟踪导致这个(在我看来)错误输出的想法?