in src/keyschedule.js [66:78]
async addPSK(psk) {
// Use the selected PSK (if any) to calculate the "early secret".
if (psk === null) {
psk = zeros(HASH_LENGTH);
}
if (this.stage !== STAGE_UNINITIALIZED) {
throw new TLSError(ALERT_DESCRIPTION.INTERNAL_ERROR);
}
this.stage = STAGE_EARLY_SECRET;
this.secret = await hkdfExtract(zeros(HASH_LENGTH), psk);
this.extBinderKey = await this.deriveSecret('ext binder', EMPTY);
this.secret = await this.deriveSecret('derived', EMPTY);
}