diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-09-15 00:26:33 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-09-15 00:26:41 -0400 |
commit | 4fc681f78b2e659d3db3da99fe7c640416fb3b43 (patch) | |
tree | 6d20d2864f98d4c3be1814d399bc669524ee6a42 /Gpg.hs | |
parent | b431fc0fb9d3b4617e4331a549ea02fda236223b (diff) | |
download | keysafe-4fc681f78b2e659d3db3da99fe7c640416fb3b43.tar.gz |
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.
Diffstat (limited to 'Gpg.hs')
-rw-r--r-- | Gpg.hs | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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 |