packages feed

dhall-secret-0.5.50: test/Age.hs

{-# LANGUAGE OverloadedStrings #-}
module Age where
import qualified Crypto.Cipher.ChaChaPoly1305 as CC
import           Crypto.Error                 (throwCryptoErrorIO)
import           Data.ByteArray               (ByteArray, ByteArrayAccess,
                                               Bytes, convert, pack)
import           Data.ByteString              (ByteString, empty)
import qualified Data.ByteString              as BS
import qualified Data.Text                    as T
import qualified Data.Text.Encoding           as TE
import qualified Data.Text.IO                 as TIO
import           Dhall.Secret.Age
import           Test.HUnit

testAgeEncryption = TestCase $ do
  i <- generateX25519Identity
  i2 <- generateX25519Identity
  let r = toRecipient i
  let r2 = toRecipient i2
  plaintext <- BS.readFile "./README.md"
  encrypted <- encrypt [r, r2] plaintext
  print encrypted
  decrypted <- decrypt encrypted [i]
  assertEqual "age encryption" plaintext decrypted