Skip to content

Commit e300cc8

Browse files
committed
fix local sealing aad encoding
1 parent 8667e3b commit e300cc8

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/node/local_sealing.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ namespace ccf
152152
std::vector<uint8_t> sealed_secret_raw = files::slurp(ledger_secret_path);
153153
SealedLedgerSecret sealed_ledger_secret = nlohmann::json::parse(
154154
std::string(sealed_secret_raw.begin(), sealed_secret_raw.end()));
155-
SealedLedgerSecretAAD aad = nlohmann::json::parse(sealed_ledger_secret.aad_text);
155+
SealedLedgerSecretAAD aad =
156+
nlohmann::json::parse(sealed_ledger_secret.aad_text);
156157

157158
CCF_ASSERT_FMT(
158159
aad.version == expected_version,
@@ -163,11 +164,12 @@ namespace ccf
163164
// make_derived_key will fail if the CPU's TCB version is rolled back
164165
// below aad.tcb_version
165166
auto sealing_key = ccf::pal::snp::make_derived_key(aad.tcb_version);
167+
std::vector<uint8_t> buf_aad(
168+
sealed_ledger_secret.aad_text.begin(),
169+
sealed_ledger_secret.aad_text.end());
166170

167171
auto buf_plaintext = aes_gcm_unsealing(
168-
sealing_key->get_raw(),
169-
sealed_ledger_secret.ciphertext,
170-
sealed_ledger_secret.aad_text);
172+
sealing_key->get_raw(), sealed_ledger_secret.ciphertext, buf_aad);
171173

172174
LedgerSecret unsealed_ledger_secret = nlohmann::json::parse(
173175
std::string(buf_plaintext.begin(), buf_plaintext.end()));

0 commit comments

Comments
 (0)