packages feed

Z-Botan-0.1.1.0: test/Z/Crypto/KeyWrapSpec.hs

{-# LANGUAGE OverloadedStrings #-}

module Z.Crypto.KeyWrapSpec where

import           Control.Monad
import           Test.HUnit
import           Test.Hspec
import           Utils
import           Z.Crypto.KeyWrap
import qualified Z.Data.Vector     as V
import qualified Z.Data.Vector.Hex as H
import qualified Z.IO.FileSystem   as FS

spec :: Spec
spec = describe "Crypto.KeyWrap" $ do
    it "RFC 3394" $ do
        tvMap <- parseKeyWrapVec "./third_party/botan/src/tests/data/keywrap/rfc3394.vec"
        forM_ tvMap $ \ (key, kek, o) -> do
            o'   <- keyWrap key kek
            key' <- keyUnwrap o kek
            (o', key') @=? (o, key)