summaryrefslogtreecommitdiffhomepage
path: root/Gpg.hs
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2016-09-15 00:26:33 -0400
committerJoey Hess <joeyh@joeyh.name>2016-09-15 00:26:41 -0400
commit4fc681f78b2e659d3db3da99fe7c640416fb3b43 (patch)
tree6d20d2864f98d4c3be1814d399bc669524ee6a42 /Gpg.hs
parentb431fc0fb9d3b4617e4331a549ea02fda236223b (diff)
downloadkeysafe-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.hs5
1 files changed, 3 insertions, 2 deletions
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