是否可以使用golang openpgp包从给定的装甲专用公钥读取实体详细信息,例如名称/注释和电子邮件?
以下代码实现了一个测试,该测试生成一个新的装甲密钥对,然后尝试从中获取实体详细信息。
但是结果实体不包含任何身份信息。
package main
import (
"log"
"testing"
"github.com/jchavannes/go-pgp/pgp"
"golang.org/x/crypto/openpgp"
)
func TestID(t *testing.T) {
keypair, err := pgp.GenerateKeyPair("test", "tst comment", "test@email.com")
if err != nil {
t.Fatalf("failed to generate keypair: %s", err)
}
var entity *openpgp.Entity
entity, err = pgp.GetEntity([]byte(keypair.PublicKey), []byte(keypair.PrivateKey))
if err != nil {
t.Fatalf("failed to read entity: %s", err)
}
log.Printf("%#v\n", entity.Identities)
}
输出
2019/05/19 00:02:54 map[string]*openpgp.Identity{"":(*openpgp.Identity)(0xc00006edc0)}
预计entity.Identities
包含test (tst comment) <test@email.com>
。