11 const usage = "usage: ./genkey [issuer] denomination seckeyfile pubkeyfile < seed > fingerprint"
13 func serialize(e *openpgp.Entity, sk, pk string) (err error) {
14 f, err := os.Create(sk)
18 err = e.SerializePrivate(f)
31 f, err = os.Create(pk)
36 // TODO: maybe Serialize should do this internally
37 for _, ident := range e.Identities {
38 err = ident.SelfSignature.SignUserId(ident.UserId.Id, e.PrimaryKey, e.PrivateKey)
43 for _, subkey := range e.Subkeys {
44 err = subkey.Sig.SignKey(subkey.PublicKey, e.PrivateKey)
68 if len(os.Args) == 4 {
73 } else if len(os.Args) == 5 {
81 b := make([]byte, 1000)
82 n, err := os.Stdin.Read(b)
89 e, err = key.NewIssuerEntity(b[:n], denom)
91 e, err = key.NewHolderEntity(b[:n], issuer, denom)
96 err = serialize(e, sk, pk)
100 fmt.Fprintf(os.Stdout, "%X\n", e.PrimaryKey.Fingerprint)