package util import ( "crypto" "crypto/ed25519" "fmt" "io/ioutil" "git.sigsum.org/sigsum-go/pkg/hex" "git.sigsum.org/sigsum-go/pkg/types" ) func SignerFromHex(s string) (crypto.Signer, error) { b, err := hex.Deserialize(s) if err != nil { return nil, fmt.Errorf("util: parse key: %v", err) } if len(b) != ed25519.PrivateKeySize { return nil, fmt.Errorf("util: invalid private key size %d", len(b)) } return ed25519.PrivateKey(b), nil } func FileHash(path string) (*types.Hash, error) { b, err := ioutil.ReadFile(path) if err != nil { return nil, fmt.Errorf("util: read file %s: %v", path, err) } return types.HashFn(b), nil }