diff options
author | David Drysdale <drysdale@google.com> | 2021-03-05 14:56:19 +0000 |
---|---|---|
committer | David Drysdale <drysdale@google.com> | 2021-04-30 14:50:12 +0100 |
commit | 7de9febd174214cfb9ac65ada12c2ceb988cd19d (patch) | |
tree | a58e0f543c731212c4d753050fcadb6d6081aa96 /security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp | |
parent | 40eb8f53ea3b6e03ab2dfe1c4c92e7acd8d5e40d (diff) |
Add more symmetric KeyMint tests
Also fix some test name comments along the way.
Test: VtsKeyMintAidlTargetTest
Change-Id: I828acfaa676e1b9fa2e3c6f184f9dafb936b0e82
Diffstat (limited to 'security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp')
-rw-r--r-- | security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp index 61f2f771ab..80bd057dfa 100644 --- a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp +++ b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp @@ -743,6 +743,15 @@ vector<uint32_t> KeyMintAidlTestBase::InvalidKeySizes(Algorithm algorithm) { return {224, 384, 521}; case Algorithm::AES: return {192}; + case Algorithm::TRIPLE_DES: + return {56}; + default: + return {}; + } + } else { + switch (algorithm) { + case Algorithm::TRIPLE_DES: + return {56}; default: return {}; } @@ -750,6 +759,68 @@ vector<uint32_t> KeyMintAidlTestBase::InvalidKeySizes(Algorithm algorithm) { return {}; } +vector<BlockMode> KeyMintAidlTestBase::ValidBlockModes(Algorithm algorithm) { + switch (algorithm) { + case Algorithm::AES: + return { + BlockMode::CBC, + BlockMode::CTR, + BlockMode::ECB, + BlockMode::GCM, + }; + case Algorithm::TRIPLE_DES: + return { + BlockMode::CBC, + BlockMode::ECB, + }; + default: + return {}; + } +} + +vector<PaddingMode> KeyMintAidlTestBase::ValidPaddingModes(Algorithm algorithm, + BlockMode blockMode) { + switch (algorithm) { + case Algorithm::AES: + switch (blockMode) { + case BlockMode::CBC: + case BlockMode::ECB: + return {PaddingMode::NONE, PaddingMode::PKCS7}; + case BlockMode::CTR: + case BlockMode::GCM: + return {PaddingMode::NONE}; + default: + return {}; + }; + case Algorithm::TRIPLE_DES: + switch (blockMode) { + case BlockMode::CBC: + case BlockMode::ECB: + return {PaddingMode::NONE, PaddingMode::PKCS7}; + default: + return {}; + }; + default: + return {}; + } +} + +vector<PaddingMode> KeyMintAidlTestBase::InvalidPaddingModes(Algorithm algorithm, + BlockMode blockMode) { + switch (algorithm) { + case Algorithm::AES: + switch (blockMode) { + case BlockMode::CTR: + case BlockMode::GCM: + return {PaddingMode::PKCS7}; + default: + return {}; + }; + default: + return {}; + } +} + vector<EcCurve> KeyMintAidlTestBase::ValidCurves() { if (securityLevel_ == SecurityLevel::STRONGBOX) { return {EcCurve::P_256}; |