From f43b5352a547a7a8b8c4641db1e1e4b545531c0a Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Wed, 3 Jul 2019 18:51:13 -0400 Subject: use a type --- lib/KeyRing.hs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'lib/KeyRing.hs') diff --git a/lib/KeyRing.hs b/lib/KeyRing.hs index 44c3dce..0637044 100644 --- a/lib/KeyRing.hs +++ b/lib/KeyRing.hs @@ -841,8 +841,12 @@ subkeysForExport subspec (KeyData key _ _ subkeys) = do sigtrusts in fmap fst v==Just True -writePEM :: String -> String -> String -writePEM typ dta = pem +data PemType = PemPublicKey | PemPrivateKey | PemCertificate +pemTypeString PemPublicKey = "PUBLIC KEY" +pemTypeString PemPrivateKey = "PRIVATE KEY" +pemTypeString PemCertificate = "CERTIFICATE" +writePEM :: PemType -> String -> String +writePEM (pemTypeString -> typ) dta = pem where pem = unlines . concat $ [ ["-----BEGIN " <> typ <> "-----"] @@ -898,7 +902,7 @@ pemFromPacket Sec packet = #elif defined(VERSION_dataenc) dta = Base64.encode (L.unpack bs) #endif - output = writePEM "RSA PRIVATE KEY" dta + output = writePEM PemPrivateKey dta Just output algo -> Nothing pemFromPacket Pub packet = @@ -912,7 +916,7 @@ pemFromPacket Pub packet = #elif defined(VERSION_dataenc) dta = Base64.encode (L.unpack bs) #endif - output = writePEM "PUBLIC KEY" dta + output = writePEM PemPublicKey dta Just output algo -> Nothing pemFromPacket AutoAccess p@(PublicKeyPacket {}) = pemFromPacket Pub p -- cgit v1.2.3