summaryrefslogtreecommitdiff
path: root/src/mongo/db
diff options
context:
space:
mode:
authorsergey.galtsev <sergey.galtsev@mongodb.com>2022-03-11 23:28:59 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-03-11 23:57:56 +0000
commit2d3589491b2d0bb93d44219018a175d4a9ac0b76 (patch)
treed7139b8b73a6f4fd4f4e0301abe24486c1118ea3 /src/mongo/db
parent5fdcb5bc400b55da24c736a5837122f6c6b64430 (diff)
downloadmongo-2d3589491b2d0bb93d44219018a175d4a9ac0b76.tar.gz
SERVER-63780 Switch FLE 2 crypto code to CTR and CTR-AEAD
Diffstat (limited to 'src/mongo/db')
-rw-r--r--src/mongo/db/fle_crud_test.cpp38
1 files changed, 16 insertions, 22 deletions
diff --git a/src/mongo/db/fle_crud_test.cpp b/src/mongo/db/fle_crud_test.cpp
index 64495605c3d..43cc1ccdbd2 100644
--- a/src/mongo/db/fle_crud_test.cpp
+++ b/src/mongo/db/fle_crud_test.cpp
@@ -162,22 +162,6 @@ BSONObj FLEQueryTestImpl::updateWithPreimage(const NamespaceString& nss,
return preimage;
}
-std::array<uint8_t, 96> indexVec = {
- 0x44, 0xba, 0xd4, 0x1d, 0x6a, 0x9b, 0xdd, 0x38, 0x60, 0xc8, 0xfa, 0x9d, 0xf1, 0x1b, 0x8a, 0x75,
- 0x30, 0x61, 0x91, 0xb4, 0xd0, 0x17, 0x2e, 0xa7, 0x15, 0x18, 0xf1, 0x36, 0xc4, 0xef, 0x71, 0x68,
- 0x7e, 0xad, 0x69, 0xb7, 0x64, 0xcf, 0x37, 0x9a, 0xaa, 0x82, 0x22, 0xf7, 0x3a, 0xf5, 0xfa, 0x7a,
- 0x6b, 0xf2, 0xbf, 0x99, 0x52, 0xa5, 0xcf, 0x51, 0xee, 0xdf, 0xa6, 0x06, 0xb5, 0x0f, 0xa3, 0x49,
- 0x4d, 0x41, 0x7f, 0x53, 0xfd, 0xa2, 0x63, 0x5d, 0xa2, 0xcd, 0x3d, 0x78, 0x18, 0x32, 0x1e, 0x35,
- 0x1c, 0x74, 0xca, 0x19, 0x92, 0x3a, 0x1d, 0xc6, 0x2a, 0x7f, 0x72, 0x52, 0x0b, 0xce, 0x59, 0x6d};
-
-std::array<uint8_t, 96> userVec = {
- 0x7c, 0xc9, 0x46, 0xd8, 0x6b, 0x19, 0x3b, 0x75, 0xfb, 0xcf, 0x0d, 0xd1, 0xf1, 0xd3, 0xb1, 0x3a,
- 0x61, 0x99, 0xaa, 0xb3, 0x1c, 0x7e, 0x6a, 0xe1, 0xe3, 0x8a, 0xd0, 0x4b, 0xd6, 0xa3, 0xcb, 0xaa,
- 0x13, 0x86, 0x15, 0xfc, 0xcf, 0x45, 0xe7, 0xd1, 0x4a, 0x69, 0x44, 0xff, 0x01, 0x85, 0xb1, 0x88,
- 0x2a, 0xa3, 0x96, 0xbb, 0xd4, 0x92, 0x0c, 0x02, 0x0f, 0xe7, 0x22, 0xf6, 0xf7, 0x68, 0x49, 0x93,
- 0x1c, 0xff, 0x62, 0x4f, 0x8e, 0xdd, 0x4c, 0x70, 0x53, 0x78, 0x0e, 0xf9, 0x20, 0x0f, 0xba, 0xa1,
- 0xe7, 0x82, 0x84, 0x36, 0x2e, 0x28, 0x0e, 0xca, 0xfd, 0x16, 0x65, 0xbd, 0xa3, 0x7e, 0xa4, 0xb0};
-
constexpr auto kIndexKeyId = "12345678-1234-9876-1234-123456789012"_sd;
constexpr auto kUserKeyId = "ABCDEFAB-1234-9876-1234-123456789012"_sd;
static UUID indexKeyId = uassertStatusOK(UUID::parse(kIndexKeyId.toString()));
@@ -186,14 +170,24 @@ static UUID userKeyId = uassertStatusOK(UUID::parse(kUserKeyId.toString()));
std::vector<char> testValue = {0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19};
std::vector<char> testValue2 = {0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29};
+const FLEIndexKey& getIndexKey() {
+ static std::string indexVec = hexblob::decode(
+ "f502e66502ff5d4559452ce928a0f08557a9853c4dfeacca77cff482434f0ca1251fbd60d200bc35f24309521b45ad781b2d3c4df788cacef3c0e7beca8170b6cfc514ecfcf27e217ed697ae65c08272886324def514b14369c7c60414e80f22"_sd);
+ static FLEIndexKey indexKey(KeyMaterial(indexVec.begin(), indexVec.end()));
+ return indexKey;
+}
+
+const FLEUserKey& getUserKey() {
+ static std::string userVec = hexblob::decode(
+ "cbebdf05fe16099fef502a6d045c1cbb77d29d2fe19f51aec5079a81008305d8868358845d2e3ab38e4fa9cbffcd651a0fc07201d7c9ed9ca3279bfa7cd673ec37b362a0aaa92f95062405a999afd49e4b1f7f818f766c49715407011ac37fa9"_sd);
+ static FLEUserKey userKey(KeyMaterial(userVec.begin(), userVec.end()));
+ return userKey;
+}
+
class TestKeyVault : public FLEKeyVault {
public:
TestKeyVault() : _random(123456) {}
- FLEIndexKey indexKey{KeyMaterial(indexVec.begin(), indexVec.end())};
-
- FLEUserKey userKey{KeyMaterial(userVec.begin(), userVec.end())};
-
KeyMaterial getKey(const UUID& uuid) override;
uint64_t getCount() const {
@@ -207,9 +201,9 @@ private:
KeyMaterial TestKeyVault::getKey(const UUID& uuid) {
if (uuid == indexKeyId) {
- return indexKey.data;
+ return getIndexKey().data;
} else if (uuid == userKeyId) {
- return userKey.data;
+ return getUserKey().data;
} else {
if (_dynamicKeys.find(uuid) != _dynamicKeys.end()) {
return _dynamicKeys[uuid];