Skip to content

Commit cbce280

Browse files
JamesCullumgithub-actions[bot]
authored andcommitted
[skip_ci] v3.3.5: Build artifacts for Deno
1 parent 7598e31 commit cbce280

File tree

2 files changed

+24
-10
lines changed

2 files changed

+24
-10
lines changed

dist/main.cjs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1309,17 +1309,25 @@ pkijs.setEngine(
13091309
}),
13101310
);
13111311

1312+
function extractBigNum(fullArray, start, end, expectedLength) {
1313+
let num = fullArray.slice(start, end);
1314+
if (num.length !== expectedLength){
1315+
num = Array(expectedLength).fill(0).concat(...num).slice(num.length);
1316+
}
1317+
return num;
1318+
}
1319+
13121320
/*
13131321
Convert signature from DER to raw
13141322
Expects Uint8Array
13151323
*/
13161324
function derToRaw(signature) {
1317-
const rStart = signature[4] === 0 ? 5 : 4;
1318-
const rEnd = rStart + 32;
1319-
const sStart = signature[rEnd + 2] === 0 ? rEnd + 3 : rEnd + 2;
1325+
const rStart = 4;
1326+
const rEnd = rStart + signature[3];
1327+
const sStart = rEnd + 2;
13201328
return new Uint8Array([
1321-
...signature.slice(rStart, rEnd),
1322-
...signature.slice(sStart),
1329+
...extractBigNum(signature, rStart, rEnd, 32),
1330+
...extractBigNum(signature, sStart, signature.length, 32),
13231331
]);
13241332
}
13251333

dist/main.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40607,13 +40607,19 @@ pkijs.setEngine("newEngine", webcrypto, new pkijs.CryptoEngine({
4060740607
crypto: webcrypto,
4060840608
subtle: webcrypto.subtle
4060940609
}));
40610+
function extractBigNum(fullArray, start, end, expectedLength) {
40611+
let num = fullArray.slice(start, end);
40612+
if (num.length !== expectedLength) {
40613+
num = Array(expectedLength).fill(0).concat(...num).slice(num.length);
40614+
}
40615+
return num;
40616+
}
4061040617
function derToRaw(signature) {
40611-
const rStart = signature[4] === 0 ? 5 : 4;
40612-
const rEnd = rStart + 32;
40613-
const sStart = signature[rEnd + 2] === 0 ? rEnd + 3 : rEnd + 2;
40618+
const rEnd = 4 + signature[3];
40619+
const sStart = rEnd + 2;
4061440620
return new Uint8Array([
40615-
...signature.slice(rStart, rEnd),
40616-
...signature.slice(sStart),
40621+
...extractBigNum(signature, 4, rEnd, 32),
40622+
...extractBigNum(signature, sStart, signature.length, 32),
4061740623
]);
4061840624
}
4061940625
function checkOrigin(str) {

0 commit comments

Comments
 (0)