From d8e505804afabf588a0b7634f6e63640a8a90bed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 13 Jul 2020 07:24:51 +0100 Subject: [PATCH] ssh-to-pgp: print fingerprint --- pkgs/ssh-to-pgp/main.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/ssh-to-pgp/main.go b/pkgs/ssh-to-pgp/main.go index f8f926b..c6e94da 100644 --- a/pkgs/ssh-to-pgp/main.go +++ b/pkgs/ssh-to-pgp/main.go @@ -1,6 +1,7 @@ package main import ( + "encoding/hex" "flag" "fmt" "io" @@ -87,28 +88,35 @@ func convertKeys(args []string) error { } } + var fingerprint [20]byte + if opts.publicKey != "" { gpgKey, err := sshkeys.SSHPublicKeyToPGP(sshKey) if err != nil { return err } err = gpgKey.Serialize(writer) + fingerprint = gpgKey.Fingerprint } else { gpgKey, err := sshkeys.SSHPrivateKeyToPGP(sshKey) if err != nil { return err } err = gpgKey.SerializePrivate(writer, nil) + fingerprint = gpgKey.PrimaryKey.Fingerprint } - if err == nil && opts.format == "armor" { - writer.Close() + if err == nil { + if opts.format == "armor" { + writer.Close() + } + fmt.Fprintf(os.Stderr, "%s\n", hex.EncodeToString(fingerprint[:])) } return err } func main() { if err := convertKeys(os.Args); err != nil { - fmt.Fprintf(os.Stderr, "%s: %s", os.Args[0], err) + fmt.Fprintf(os.Stderr, "%s: %s\n", os.Args[0], err) os.Exit(1) } }