diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-08-17 15:52:08 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-08-17 15:52:08 -0400 |
commit | 19e3dc5541a74fe1c323c629bdf214b8690640e5 (patch) | |
tree | d4c16b9bb027887e9b7ea323997d30e00ba9ebdb /Gpg.hs | |
parent | ed8d1ed03c3520ccd4b3c775817bef122457f224 (diff) | |
download | keysafe-19e3dc5541a74fe1c323c629bdf214b8690640e5.tar.gz |
save restored secret key to gpg or file
Diffstat (limited to 'Gpg.hs')
-rw-r--r-- | Gpg.hs | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -55,3 +55,15 @@ getSecretKey (KeyId kid) = do _ -> error "gpg --export-secret-key failed" where ps = ["--batch", "--export-secret-key", BU8.toString kid] + +writeSecretKey :: SecretKey -> IO () +writeSecretKey (SecretKey b) = do + (Just hin, _, _, ph) <- createProcess (proc "gpg" ps) + { std_in = CreatePipe } + B.hPut hin b + exitcode <- waitForProcess ph + case exitcode of + ExitSuccess -> return () + _ -> error "gpg --import failed" + where + ps = ["--batch", "--import"] |