From 4fc681f78b2e659d3db3da99fe7c640416fb3b43 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 15 Sep 2016 00:26:33 -0400 Subject: Change format of ~/.keysafe/backup.log Allow deserializing SecretKeySource so we can later know what gpg keys are backed up. Converted KeyId to Text as JSON can't handle ByteString. --- Gpg.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'Gpg.hs') diff --git a/Gpg.hs b/Gpg.hs index 4522cfb..c752059 100644 --- a/Gpg.hs +++ b/Gpg.hs @@ -15,6 +15,7 @@ import System.IO import System.Exit import qualified Data.ByteString as B import qualified Data.ByteString.UTF8 as BU8 +import qualified Data.Text as T -- | Pick gpg secret key to back up. -- @@ -51,7 +52,7 @@ listSecretKeys = map mk . parse . lines <$> readProcess "gpg" extract c (Just keyid) rest extract c k (_:rest) = extract c k rest - mk (userid, keyid) = (Name (BU8.fromString userid), KeyId (BU8.fromString keyid)) + mk (userid, keyid) = (Name (BU8.fromString userid), KeyId (T.pack keyid)) getSecretKey :: KeyId -> IO SecretKey getSecretKey (KeyId kid) = do @@ -63,7 +64,7 @@ getSecretKey (KeyId kid) = do ExitSuccess -> return secretkey _ -> error "gpg --export-secret-key failed" where - ps = ["--batch", "--export-secret-key", BU8.toString kid] + ps = ["--batch", "--export-secret-key", T.unpack kid] writeSecretKey :: SecretKey -> IO () writeSecretKey (SecretKey b) = do -- cgit v1.2.3