module Crypto.Store.PEM
( readPEMs
, writePEMs
, pemsWriteBS
, pemsWriteLBS
, module Data.PEM
) where
import Data.PEM
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as L
readPEMs :: FilePath -> IO [PEM]
readPEMs filepath = either error id . pemParseLBS <$> L.readFile filepath
pemsWriteBS :: [PEM] -> B.ByteString
pemsWriteBS = L.toStrict . pemsWriteLBS
pemsWriteLBS :: [PEM] -> L.ByteString
pemsWriteLBS = L.concat . map pemWriteLBS
writePEMs :: FilePath -> [PEM] -> IO ()
writePEMs filepath = L.writeFile filepath . pemsWriteLBS