Fix CDS fetches; use proper hashing mechanism

This commit is contained in:
Scott Nonnenberg 2021-04-07 14:27:40 -07:00 committed by GitHub
parent e4db9358cf
commit a1c534ec0c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 7 deletions

View file

@ -8,6 +8,7 @@ import {
CipherType,
encrypt,
decrypt,
HashType,
hash,
sign,
} from './util/synchronousCrypto';
@ -470,8 +471,8 @@ export async function decryptAesGcm(
// Hashing
export async function sha256(data: ArrayBuffer): Promise<ArrayBuffer> {
return hash(data);
export function sha256(data: ArrayBuffer): ArrayBuffer {
return hash(HashType.size256, data);
}
// Utility
@ -628,7 +629,7 @@ export async function encryptCdsDiscoveryRequest(
});
const queryDataPlaintext = concatenateBytes(nonce, numbersArray.buffer);
const queryDataKey = getRandomBytes(32);
const commitment = await sha256(queryDataPlaintext);
const commitment = sha256(queryDataPlaintext);
const iv = getRandomBytes(12);
const queryDataCiphertext = await encryptAesGcm(
queryDataKey,