From f33d9227f7e49e7818b4d3771b6d1126a71bdce5 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Thu, 17 Apr 2025 20:26:55 -0400 Subject: load private signing key --- key/load.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 key/load.go (limited to 'key/load.go') diff --git a/key/load.go b/key/load.go new file mode 100644 index 0000000..e4ff3cf --- /dev/null +++ b/key/load.go @@ -0,0 +1,24 @@ +package key + +import ( + "io" + "os" +) + +// loadKey reads and decodes a key from a file. +func loadKey[K any](filename string, decode func([]byte) (K, error)) (K, error) { + var key K + + f, err := os.Open(filename) + if err != nil { + return key, err + } + defer f.Close() + + buf, err := io.ReadAll(f) + if err != nil { + return key, err + } + + return decode(buf) +} -- cgit v1.2.3