Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
19 lines
615 B
Plaintext
19 lines
615 B
Plaintext
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const node_crypto_1 = require("node:crypto");
|
|
exports.default = (key, alg) => {
|
|
let modulusLength;
|
|
try {
|
|
if (key instanceof node_crypto_1.KeyObject) {
|
|
modulusLength = key.asymmetricKeyDetails?.modulusLength;
|
|
}
|
|
else {
|
|
modulusLength = Buffer.from(key.n, 'base64url').byteLength << 3;
|
|
}
|
|
}
|
|
catch { }
|
|
if (typeof modulusLength !== 'number' || modulusLength < 2048) {
|
|
throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`);
|
|
}
|
|
};
|