From 76b67507b902cebe701bd2e2b59beb455f96c923 Mon Sep 17 00:00:00 2001 From: Rasmus Dahlberg Date: Sun, 27 Mar 2022 20:38:05 +0200 Subject: add hashleaf and sign commands --- cmd/sigsum-debug/util.go | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'cmd/sigsum-debug/util.go') diff --git a/cmd/sigsum-debug/util.go b/cmd/sigsum-debug/util.go index d7ba6a8..8d2cd4e 100644 --- a/cmd/sigsum-debug/util.go +++ b/cmd/sigsum-debug/util.go @@ -1,24 +1,43 @@ package main import ( + "crypto" "bytes" "fmt" "io/ioutil" "os" + "crypto/ed25519" "git.sigsum.org/sigsum-lib-go/pkg/hex" ) -func decodeHexFromStdin() ([]byte, error) { +func readStdin() ([]byte, error) { b, err := ioutil.ReadAll(os.Stdin) if err != nil { - return nil, fmt.Errorf("failed reading stdin: %v", err) + return nil, fmt.Errorf("stdin: %v", err) } + return b, nil +} +func decodeHexFromStdin() ([]byte, error) { + b, err := readStdin() + if err != nil { + return nil, fmt.Errorf("failed reading stdin: %v", err) + } b, err = hex.Deserialize(string(bytes.TrimSpace(b))) if err != nil { return nil, fmt.Errorf("invalid private key: %v", err) } - return b, nil } + +func privFromHex(s string) (crypto.Signer, error) { + b, err := hex.Deserialize(optPriv) + if err != nil { + return nil, fmt.Errorf("invalid private key: %v", err) + } + if len(b) != ed25519.PrivateKeySize { + return nil, fmt.Errorf("invalid private key: size") + } + return ed25519.PrivateKey(b), nil +} -- cgit v1.2.3