From d70a3c9381dcc2822d0dc1232394d4182160ad1d Mon Sep 17 00:00:00 2001 From: La Ancapo <> Date: Thu, 26 Mar 2026 18:41:07 +0100 Subject: [PATCH] implement reading the secret key from stdin --- src/Main.hs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Main.hs b/src/Main.hs index 4848314..5c177ee 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -2,6 +2,7 @@ module Main where +import Control.Exception import Control.Monad import qualified Data.ByteString as B import qualified Data.ByteString.Base64 as B64 @@ -26,7 +27,11 @@ main = do _ -> sign encrypt = do - encryptedFile <- T.encodeUtf8 <$> getPrivateKey + let key = catch getPrivateKey + (\e -> do let err = show (e :: IOException) + hPutStr stderr ("Warning: Couldn't get key from file (" ++ err ++ "), reading from stdin\n") + T.getContents) + encryptedFile <- T.encodeUtf8 <$> key path <- getPrivateKeyPath B.writeFile path =<< encryptData encryptedFile