/* * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd All Rights Reserved * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License */ #include #include #include "test_common.h" using namespace CKM; using namespace CKM::Crypto::SW::Cipher; BOOST_AUTO_TEST_SUITE(SW_BACKEND_TEST) BOOST_AUTO_TEST_SUITE(CRYPTO) BOOST_AUTO_TEST_CASE(constructs) { BOOST_REQUIRE_NO_THROW(AesCbcEncryption128(createRandom(16), createRandom(16))); BOOST_REQUIRE_THROW(AesCbcEncryption128(createRandom(16), createRandom(5)), Exc::Crypto::InternalError); BOOST_REQUIRE_THROW(AesCbcEncryption128(createRandom(17), createRandom(16)), Exc::Crypto::InternalError); } BOOST_AUTO_TEST_CASE(encryption_cbc) { AesCbcEncryption128 cipher(createRandom(16), createRandom(16)); BOOST_REQUIRE_NO_THROW(cipher.Append(createRandom(10))); BOOST_REQUIRE_NO_THROW(cipher.Finalize()); } BOOST_AUTO_TEST_CASE(encryption_gcm) { AesGcmEncryption128 cipher(createRandom(16), createRandom(16)); BOOST_REQUIRE_NO_THROW(cipher.AppendAAD(createRandom(10))); BOOST_REQUIRE_NO_THROW(cipher.Append(createRandom(10))); BOOST_REQUIRE_NO_THROW(cipher.Finalize()); } BOOST_AUTO_TEST_SUITE_END() // CRYPTO BOOST_AUTO_TEST_SUITE_END() // SW_BACKEND_TEST