edockit 0.4.0-dev.0 → 0.4.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{certificate-c46e14a0.js → certificate-3c9dcdac.js} +16 -27
- package/dist/certificate-3c9dcdac.js.map +1 -0
- package/dist/{certificate-fc0e06f7.js → certificate-c7123a37.js} +37 -27
- package/dist/certificate-c7123a37.js.map +1 -0
- package/dist/identity-c9e5052e.js +410 -0
- package/dist/identity-c9e5052e.js.map +1 -0
- package/dist/identity-fca881b1.js +406 -0
- package/dist/identity-fca881b1.js.map +1 -0
- package/dist/index.cjs.js +40 -1244
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +36 -1240
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +23 -17
- package/dist/index.umd.js.map +1 -1
- package/dist/{loader-43d8e17a.js → loader-7a0f771f.js} +2 -2
- package/dist/{loader-43d8e17a.js.map → loader-7a0f771f.js.map} +1 -1
- package/dist/{loader-1ac52e12.js → loader-ad1a5051.js} +2 -2
- package/dist/{loader-1ac52e12.js.map → loader-ad1a5051.js.map} +1 -1
- package/dist/normalize-50862581.js +456 -0
- package/dist/normalize-50862581.js.map +1 -0
- package/dist/normalize-9626be7c.js +479 -0
- package/dist/normalize-9626be7c.js.map +1 -0
- package/dist/{reference-provider-1cd85b7b.js → reference-provider-3838ebfb.js} +4 -4
- package/dist/{reference-provider-1cd85b7b.js.map → reference-provider-3838ebfb.js.map} +1 -1
- package/dist/{reference-provider-53240217.js → reference-provider-9bbbaab8.js} +4 -4
- package/dist/{reference-provider-53240217.js.map → reference-provider-9bbbaab8.js.map} +1 -1
- package/dist/trusted-list-build.cjs.js +8 -3
- package/dist/trusted-list-build.cjs.js.map +1 -1
- package/dist/trusted-list-build.esm.js +8 -3
- package/dist/trusted-list-build.esm.js.map +1 -1
- package/dist/trusted-list-bundled.cjs.js +7 -4
- package/dist/trusted-list-bundled.cjs.js.map +1 -1
- package/dist/trusted-list-bundled.esm.js +7 -4
- package/dist/trusted-list-bundled.esm.js.map +1 -1
- package/dist/trusted-list.cjs.js +7 -4
- package/dist/trusted-list.cjs.js.map +1 -1
- package/dist/trusted-list.esm.js +7 -4
- package/dist/trusted-list.esm.js.map +1 -1
- package/package.json +1 -1
- package/dist/certificate-c46e14a0.js.map +0 -1
- package/dist/certificate-fc0e06f7.js.map +0 -1
- package/dist/identity-1a3dddc3.js +0 -902
- package/dist/identity-1a3dddc3.js.map +0 -1
- package/dist/identity-b3a70fc1.js +0 -897
- package/dist/identity-b3a70fc1.js.map +0 -1
- package/dist/normalize-60f2d7e6.js +0 -6270
- package/dist/normalize-60f2d7e6.js.map +0 -1
- package/dist/normalize-70da6516.js +0 -6214
- package/dist/normalize-70da6516.js.map +0 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
'use strict';
|
|
6
6
|
|
|
7
|
-
var normalize = require('./normalize-
|
|
7
|
+
var normalize = require('./normalize-9626be7c.js');
|
|
8
8
|
|
|
9
9
|
function addToIndex(index, key, service) {
|
|
10
10
|
if (!key) {
|
|
@@ -219,4 +219,4 @@ exports.buildCompactTrustedListBundle = buildCompactTrustedListBundle;
|
|
|
219
219
|
exports.buildTrustedListData = buildTrustedListData;
|
|
220
220
|
exports.createEmptyTrustedListBundle = createEmptyTrustedListBundle;
|
|
221
221
|
exports.dedupeTrustedServices = dedupeTrustedServices;
|
|
222
|
-
//# sourceMappingURL=loader-
|
|
222
|
+
//# sourceMappingURL=loader-7a0f771f.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-
|
|
1
|
+
{"version":3,"file":"loader-7a0f771f.js","sources":["../src/core/trustedlist/loader.ts"],"sourcesContent":[null],"names":["normalizeHex","isTrustedServiceStatus","base64UrlToHex","normalizeDistinguishedName","getTrustListPurposeMaskForServiceType","hexToBase64Url"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* MIT License
|
|
3
3
|
* Copyright (c) 2025 Edgars Jēkabsons, ZenomyTech SIA
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import { k as base64UrlToHex, n as normalizeDistinguishedName, q as normalizeHex, m as getTrustListPurposeMaskForServiceType, o as hexToBase64Url, p as isTrustedServiceStatus } from './normalize-50862581.js';
|
|
6
6
|
|
|
7
7
|
function addToIndex(index, key, service) {
|
|
8
8
|
if (!key) {
|
|
@@ -214,4 +214,4 @@ function dedupeTrustedServices(services) {
|
|
|
214
214
|
}
|
|
215
215
|
|
|
216
216
|
export { buildCompactTrustedListBundle as a, buildTrustedListData as b, createEmptyTrustedListBundle as c, dedupeTrustedServices as d };
|
|
217
|
-
//# sourceMappingURL=loader-
|
|
217
|
+
//# sourceMappingURL=loader-ad1a5051.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-
|
|
1
|
+
{"version":3,"file":"loader-ad1a5051.js","sources":["../src/core/trustedlist/loader.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,456 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* MIT License
|
|
3
|
+
* Copyright (c) 2025 Edgars Jēkabsons, ZenomyTech SIA
|
|
4
|
+
*/
|
|
5
|
+
// src/core/revocation/fetch.ts
|
|
6
|
+
/**
|
|
7
|
+
* Fetch binary data from a URL with timeout support
|
|
8
|
+
* @param url URL to fetch
|
|
9
|
+
* @param options Fetch options
|
|
10
|
+
* @returns FetchResult with binary data or error
|
|
11
|
+
*/
|
|
12
|
+
async function fetchBinary(url, options = {}) {
|
|
13
|
+
const { timeout = 10000, method = "GET", body, contentType, accept, proxyUrl } = options;
|
|
14
|
+
// Apply proxy URL if provided
|
|
15
|
+
const fetchUrl = proxyUrl ? `${proxyUrl}${encodeURIComponent(url)}` : url;
|
|
16
|
+
const controller = new AbortController();
|
|
17
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
18
|
+
try {
|
|
19
|
+
const headers = {};
|
|
20
|
+
if (contentType) {
|
|
21
|
+
headers["Content-Type"] = contentType;
|
|
22
|
+
}
|
|
23
|
+
if (accept) {
|
|
24
|
+
headers["Accept"] = accept;
|
|
25
|
+
}
|
|
26
|
+
const response = await fetch(fetchUrl, {
|
|
27
|
+
method,
|
|
28
|
+
headers,
|
|
29
|
+
body: body ? new Uint8Array(body) : undefined,
|
|
30
|
+
signal: controller.signal,
|
|
31
|
+
});
|
|
32
|
+
clearTimeout(timeoutId);
|
|
33
|
+
if (!response.ok) {
|
|
34
|
+
return {
|
|
35
|
+
ok: false,
|
|
36
|
+
status: response.status,
|
|
37
|
+
error: `HTTP ${response.status}: ${response.statusText}`,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const data = await response.arrayBuffer();
|
|
41
|
+
return {
|
|
42
|
+
ok: true,
|
|
43
|
+
status: response.status,
|
|
44
|
+
data,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
clearTimeout(timeoutId);
|
|
49
|
+
if (error instanceof Error) {
|
|
50
|
+
if (error.name === "AbortError") {
|
|
51
|
+
return {
|
|
52
|
+
ok: false,
|
|
53
|
+
status: 0,
|
|
54
|
+
error: `Request timeout after ${timeout}ms`,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
ok: false,
|
|
59
|
+
status: 0,
|
|
60
|
+
error: error.message,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
ok: false,
|
|
65
|
+
status: 0,
|
|
66
|
+
error: String(error),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Fetch OCSP response
|
|
72
|
+
* @param url OCSP responder URL
|
|
73
|
+
* @param request DER-encoded OCSP request
|
|
74
|
+
* @param timeout Timeout in milliseconds
|
|
75
|
+
* @param proxyUrl Optional CORS proxy URL
|
|
76
|
+
* @returns FetchResult with OCSP response data
|
|
77
|
+
*/
|
|
78
|
+
async function fetchOCSP(url, request, timeout = 5000, proxyUrl) {
|
|
79
|
+
return fetchBinary(url, {
|
|
80
|
+
method: "POST",
|
|
81
|
+
body: request,
|
|
82
|
+
contentType: "application/ocsp-request",
|
|
83
|
+
accept: "application/ocsp-response",
|
|
84
|
+
timeout,
|
|
85
|
+
proxyUrl,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Fetch CRL from distribution point
|
|
90
|
+
* @param url CRL distribution point URL
|
|
91
|
+
* @param timeout Timeout in milliseconds
|
|
92
|
+
* @param proxyUrl Optional CORS proxy URL
|
|
93
|
+
* @returns FetchResult with CRL data
|
|
94
|
+
*/
|
|
95
|
+
async function fetchCRL(url, timeout = 10000, proxyUrl) {
|
|
96
|
+
return fetchBinary(url, {
|
|
97
|
+
method: "GET",
|
|
98
|
+
accept: "application/pkix-crl",
|
|
99
|
+
timeout,
|
|
100
|
+
proxyUrl,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Fetch issuer certificate from AIA extension
|
|
105
|
+
* @param url CA Issuers URL
|
|
106
|
+
* @param timeout Timeout in milliseconds
|
|
107
|
+
* @param proxyUrl Optional CORS proxy URL
|
|
108
|
+
* @returns FetchResult with certificate data
|
|
109
|
+
*/
|
|
110
|
+
async function fetchIssuerCertificate(url, timeout = 5000, proxyUrl) {
|
|
111
|
+
return fetchBinary(url, {
|
|
112
|
+
method: "GET",
|
|
113
|
+
accept: "application/pkix-cert",
|
|
114
|
+
timeout,
|
|
115
|
+
proxyUrl,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Cross-platform encoding utilities for ArrayBuffer/Base64/Hex conversions
|
|
121
|
+
* Works in both browser and Node.js environments
|
|
122
|
+
*/
|
|
123
|
+
/**
|
|
124
|
+
* Convert ArrayBuffer to base64 string
|
|
125
|
+
*/
|
|
126
|
+
function arrayBufferToBase64(buffer) {
|
|
127
|
+
const bytes = new Uint8Array(buffer);
|
|
128
|
+
if (typeof btoa === "function") {
|
|
129
|
+
// Browser
|
|
130
|
+
let binary = "";
|
|
131
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
132
|
+
binary += String.fromCharCode(bytes[i]);
|
|
133
|
+
}
|
|
134
|
+
return btoa(binary);
|
|
135
|
+
}
|
|
136
|
+
// Node.js
|
|
137
|
+
return Buffer.from(bytes).toString("base64");
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Convert base64 string to ArrayBuffer
|
|
141
|
+
* Handles base64 strings with whitespace (common in XML)
|
|
142
|
+
*/
|
|
143
|
+
function base64ToArrayBuffer(base64) {
|
|
144
|
+
// Strip whitespace (newlines, spaces, tabs) that may be present in XML
|
|
145
|
+
const cleanBase64 = base64.replace(/\s/g, "");
|
|
146
|
+
if (typeof atob === "function") {
|
|
147
|
+
// Browser
|
|
148
|
+
const binary = atob(cleanBase64);
|
|
149
|
+
const bytes = new Uint8Array(binary.length);
|
|
150
|
+
for (let i = 0; i < binary.length; i++) {
|
|
151
|
+
bytes[i] = binary.charCodeAt(i);
|
|
152
|
+
}
|
|
153
|
+
return bytes.buffer;
|
|
154
|
+
}
|
|
155
|
+
// Node.js
|
|
156
|
+
const buffer = Buffer.from(cleanBase64, "base64");
|
|
157
|
+
return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Convert base64 string to Uint8Array
|
|
161
|
+
*/
|
|
162
|
+
function base64ToUint8Array(base64) {
|
|
163
|
+
return new Uint8Array(base64ToArrayBuffer(base64));
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Convert ArrayBuffer to hex string
|
|
167
|
+
*/
|
|
168
|
+
function arrayBufferToHex(buffer) {
|
|
169
|
+
return Array.from(new Uint8Array(buffer))
|
|
170
|
+
.map((b) => b.toString(16).padStart(2, "0"))
|
|
171
|
+
.join("");
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Convert hex string to ArrayBuffer
|
|
175
|
+
*/
|
|
176
|
+
function hexToArrayBuffer(hex) {
|
|
177
|
+
const bytes = new Uint8Array(hex.length / 2);
|
|
178
|
+
for (let i = 0; i < hex.length; i += 2) {
|
|
179
|
+
bytes[i / 2] = parseInt(hex.substring(i, i + 2), 16);
|
|
180
|
+
}
|
|
181
|
+
return bytes.buffer;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Format DER bytes as PEM certificate
|
|
185
|
+
*/
|
|
186
|
+
function arrayBufferToPEM(buffer, type = "CERTIFICATE") {
|
|
187
|
+
const base64 = arrayBufferToBase64(buffer);
|
|
188
|
+
const lines = base64.match(/.{1,64}/g) || [];
|
|
189
|
+
return `-----BEGIN ${type}-----\n${lines.join("\n")}\n-----END ${type}-----`;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
const RELEVANT_SERVICE_TYPES = [
|
|
193
|
+
"CA/QC",
|
|
194
|
+
"CA/PKC",
|
|
195
|
+
"NationalRootCA-QC",
|
|
196
|
+
"TSA/QTST",
|
|
197
|
+
"TSA/TSS-QC",
|
|
198
|
+
"MR-CA/QC",
|
|
199
|
+
"MR-TSA/QTST",
|
|
200
|
+
];
|
|
201
|
+
const SIGNATURE_ISSUER_PURPOSE_MASK = 1;
|
|
202
|
+
const TIMESTAMP_TSA_PURPOSE_MASK = 2;
|
|
203
|
+
const KNOWN_STATUS_SUFFIXES = [
|
|
204
|
+
"granted",
|
|
205
|
+
"recognisedatnationallevel",
|
|
206
|
+
"accredited",
|
|
207
|
+
"withdrawn",
|
|
208
|
+
"deprecatedatnationallevel",
|
|
209
|
+
];
|
|
210
|
+
const DN_ATTRIBUTE_ALIASES = {
|
|
211
|
+
c: "C",
|
|
212
|
+
cn: "CN",
|
|
213
|
+
dnq: "DNQ",
|
|
214
|
+
emailaddress: "E",
|
|
215
|
+
e: "E",
|
|
216
|
+
g: "GN",
|
|
217
|
+
givenname: "GN",
|
|
218
|
+
gn: "GN",
|
|
219
|
+
l: "L",
|
|
220
|
+
o: "O",
|
|
221
|
+
organizationidentifier: "ORGANIZATIONIDENTIFIER",
|
|
222
|
+
"2.5.4.97": "ORGANIZATIONIDENTIFIER",
|
|
223
|
+
"oid.2.5.4.97": "ORGANIZATIONIDENTIFIER",
|
|
224
|
+
ou: "OU",
|
|
225
|
+
serialnumber: "SERIALNUMBER",
|
|
226
|
+
sn: "SN",
|
|
227
|
+
st: "ST",
|
|
228
|
+
surname: "SN",
|
|
229
|
+
street: "STREET",
|
|
230
|
+
"2.5.4.5": "SERIALNUMBER",
|
|
231
|
+
};
|
|
232
|
+
function splitOnUnescaped(input, separator) {
|
|
233
|
+
const parts = [];
|
|
234
|
+
let current = "";
|
|
235
|
+
let escaped = false;
|
|
236
|
+
for (const char of input) {
|
|
237
|
+
if (escaped) {
|
|
238
|
+
current += char;
|
|
239
|
+
escaped = false;
|
|
240
|
+
continue;
|
|
241
|
+
}
|
|
242
|
+
if (char === "\\") {
|
|
243
|
+
current += char;
|
|
244
|
+
escaped = true;
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
if (char === separator) {
|
|
248
|
+
parts.push(current);
|
|
249
|
+
current = "";
|
|
250
|
+
continue;
|
|
251
|
+
}
|
|
252
|
+
current += char;
|
|
253
|
+
}
|
|
254
|
+
parts.push(current);
|
|
255
|
+
return parts;
|
|
256
|
+
}
|
|
257
|
+
function normalizeDnAttributeKey(key) {
|
|
258
|
+
const trimmedKey = key.trim();
|
|
259
|
+
const alias = DN_ATTRIBUTE_ALIASES[trimmedKey.toLowerCase()];
|
|
260
|
+
return alias || trimmedKey.toUpperCase();
|
|
261
|
+
}
|
|
262
|
+
function normalizeDnAttributeValue(key, value) {
|
|
263
|
+
const normalized = value.trim().replace(/\s+/g, " ");
|
|
264
|
+
if (key === "C") {
|
|
265
|
+
return normalized.toUpperCase();
|
|
266
|
+
}
|
|
267
|
+
return normalized;
|
|
268
|
+
}
|
|
269
|
+
function normalizeHex(input) {
|
|
270
|
+
if (!input) {
|
|
271
|
+
return null;
|
|
272
|
+
}
|
|
273
|
+
const normalized = input.replace(/[^a-fA-F0-9]/g, "").toLowerCase();
|
|
274
|
+
return normalized || null;
|
|
275
|
+
}
|
|
276
|
+
function hexToBase64Url(input) {
|
|
277
|
+
const normalized = normalizeHex(input);
|
|
278
|
+
if (!normalized) {
|
|
279
|
+
return null;
|
|
280
|
+
}
|
|
281
|
+
const bytes = new Uint8Array(normalized.length / 2);
|
|
282
|
+
for (let index = 0; index < normalized.length; index += 2) {
|
|
283
|
+
bytes[index / 2] = Number.parseInt(normalized.slice(index, index + 2), 16);
|
|
284
|
+
}
|
|
285
|
+
return bytesToBase64Url(bytes);
|
|
286
|
+
}
|
|
287
|
+
function base64UrlToHex(input) {
|
|
288
|
+
if (!input) {
|
|
289
|
+
return null;
|
|
290
|
+
}
|
|
291
|
+
const bytes = decodeBase64Url(input.trim());
|
|
292
|
+
return bytes ? bytesToHex(bytes) : null;
|
|
293
|
+
}
|
|
294
|
+
function bytesToHex(bytes) {
|
|
295
|
+
return Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
296
|
+
}
|
|
297
|
+
function bytesToBase64Url(bytes) {
|
|
298
|
+
if (typeof Buffer !== "undefined") {
|
|
299
|
+
return Buffer.from(bytes).toString("base64url");
|
|
300
|
+
}
|
|
301
|
+
if (typeof btoa === "function") {
|
|
302
|
+
const base64 = btoa(String.fromCharCode(...bytes));
|
|
303
|
+
return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, "");
|
|
304
|
+
}
|
|
305
|
+
throw new Error("No base64url encoder available in this environment");
|
|
306
|
+
}
|
|
307
|
+
function decodeBase64(input) {
|
|
308
|
+
const normalizedInput = input.replace(/\s+/g, "");
|
|
309
|
+
try {
|
|
310
|
+
if (typeof Buffer !== "undefined") {
|
|
311
|
+
return Uint8Array.from(Buffer.from(normalizedInput, "base64"));
|
|
312
|
+
}
|
|
313
|
+
if (typeof atob === "function") {
|
|
314
|
+
const decoded = atob(normalizedInput);
|
|
315
|
+
return Uint8Array.from(decoded, (character) => character.charCodeAt(0));
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
catch {
|
|
319
|
+
return null;
|
|
320
|
+
}
|
|
321
|
+
return null;
|
|
322
|
+
}
|
|
323
|
+
function decodeBase64Url(input) {
|
|
324
|
+
const normalizedInput = input.replace(/-/g, "+").replace(/_/g, "/");
|
|
325
|
+
const paddingLength = (4 - (normalizedInput.length % 4 || 4)) % 4;
|
|
326
|
+
return decodeBase64(normalizedInput + "=".repeat(paddingLength));
|
|
327
|
+
}
|
|
328
|
+
function normalizeKeyIdentifier(input) {
|
|
329
|
+
if (!input) {
|
|
330
|
+
return null;
|
|
331
|
+
}
|
|
332
|
+
if (typeof input !== "string") {
|
|
333
|
+
if (ArrayBuffer.isView(input)) {
|
|
334
|
+
return bytesToHex(new Uint8Array(input.buffer, input.byteOffset, input.byteLength));
|
|
335
|
+
}
|
|
336
|
+
return bytesToHex(new Uint8Array(input));
|
|
337
|
+
}
|
|
338
|
+
const trimmedInput = input.trim();
|
|
339
|
+
if (!trimmedInput) {
|
|
340
|
+
return null;
|
|
341
|
+
}
|
|
342
|
+
const hexCandidate = normalizeHex(trimmedInput);
|
|
343
|
+
const hexLikeInput = trimmedInput.replace(/[\s:-]+/g, "");
|
|
344
|
+
// Prefer explicit hex-like inputs before attempting base64 decoding. Short values such as
|
|
345
|
+
// "AABB" are syntactically valid in both encodings; treating even-length hex-safe input as
|
|
346
|
+
// hex first preserves common SKI/AKI representations and makes the priority order explicit.
|
|
347
|
+
if (hexCandidate && /^[a-fA-F0-9]+$/.test(hexLikeInput) && hexLikeInput.length % 2 === 0) {
|
|
348
|
+
return hexCandidate;
|
|
349
|
+
}
|
|
350
|
+
if (/^[A-Za-z0-9+/=\s]+$/.test(trimmedInput) &&
|
|
351
|
+
trimmedInput.replace(/\s+/g, "").length % 4 === 0) {
|
|
352
|
+
const decodedBytes = decodeBase64(trimmedInput);
|
|
353
|
+
if (decodedBytes && decodedBytes.length > 0) {
|
|
354
|
+
return bytesToHex(decodedBytes);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
return hexCandidate;
|
|
358
|
+
}
|
|
359
|
+
function normalizeDistinguishedName(dn) {
|
|
360
|
+
if (!dn) {
|
|
361
|
+
return "";
|
|
362
|
+
}
|
|
363
|
+
const normalizedParts = splitOnUnescaped(dn, ",")
|
|
364
|
+
.map((part) => part.trim())
|
|
365
|
+
.filter(Boolean)
|
|
366
|
+
.map((part) => {
|
|
367
|
+
const [rawKey, ...rawValueParts] = splitOnUnescaped(part, "=");
|
|
368
|
+
if (!rawKey || rawValueParts.length === 0) {
|
|
369
|
+
return part.replace(/\s+/g, " ");
|
|
370
|
+
}
|
|
371
|
+
const key = normalizeDnAttributeKey(rawKey);
|
|
372
|
+
const value = normalizeDnAttributeValue(key, rawValueParts.join("="));
|
|
373
|
+
return `${key}=${value}`;
|
|
374
|
+
});
|
|
375
|
+
return normalizedParts.sort((left, right) => left.localeCompare(right)).join(",");
|
|
376
|
+
}
|
|
377
|
+
function isTrustedServiceStatus(status) {
|
|
378
|
+
const normalizedStatus = status.trim().toLowerCase();
|
|
379
|
+
return (normalizedStatus === "granted" ||
|
|
380
|
+
normalizedStatus === "recognisedatnationallevel" ||
|
|
381
|
+
normalizedStatus === "accredited");
|
|
382
|
+
}
|
|
383
|
+
function getRelevantServiceType(uri) {
|
|
384
|
+
if (!uri) {
|
|
385
|
+
return null;
|
|
386
|
+
}
|
|
387
|
+
const normalizedUri = uri.trim().toLowerCase();
|
|
388
|
+
const match = RELEVANT_SERVICE_TYPES.find((serviceType) => normalizedUri.endsWith(serviceType.toLowerCase()));
|
|
389
|
+
return match || null;
|
|
390
|
+
}
|
|
391
|
+
function getTrustListPurposeMaskForQueryPurpose(purpose) {
|
|
392
|
+
return purpose === "signature_issuer"
|
|
393
|
+
? SIGNATURE_ISSUER_PURPOSE_MASK
|
|
394
|
+
: TIMESTAMP_TSA_PURPOSE_MASK;
|
|
395
|
+
}
|
|
396
|
+
function trustListPurposeMatchesMask(purpose, purposeMask) {
|
|
397
|
+
return (getTrustListPurposeMaskForQueryPurpose(purpose) & purposeMask) !== 0;
|
|
398
|
+
}
|
|
399
|
+
function getTrustListPurposeMaskForServiceType(serviceType) {
|
|
400
|
+
if (serviceType === "CA/QC" || serviceType === "CA/PKC" || serviceType === "NationalRootCA-QC") {
|
|
401
|
+
return SIGNATURE_ISSUER_PURPOSE_MASK;
|
|
402
|
+
}
|
|
403
|
+
if (serviceType === "TSA/QTST" || serviceType === "TSA/TSS-QC") {
|
|
404
|
+
return TIMESTAMP_TSA_PURPOSE_MASK;
|
|
405
|
+
}
|
|
406
|
+
if (serviceType === "MR-CA/QC") {
|
|
407
|
+
return SIGNATURE_ISSUER_PURPOSE_MASK;
|
|
408
|
+
}
|
|
409
|
+
if (serviceType === "MR-TSA/QTST") {
|
|
410
|
+
return TIMESTAMP_TSA_PURPOSE_MASK;
|
|
411
|
+
}
|
|
412
|
+
return null;
|
|
413
|
+
}
|
|
414
|
+
function getServiceStatusSuffix(uri) {
|
|
415
|
+
if (!uri) {
|
|
416
|
+
return null;
|
|
417
|
+
}
|
|
418
|
+
const normalizedUri = uri.trim().toLowerCase();
|
|
419
|
+
const knownMatch = KNOWN_STATUS_SUFFIXES.find((status) => normalizedUri.endsWith(status));
|
|
420
|
+
if (knownMatch) {
|
|
421
|
+
return knownMatch;
|
|
422
|
+
}
|
|
423
|
+
const marker = "/svcstatus/";
|
|
424
|
+
const markerIndex = normalizedUri.lastIndexOf(marker);
|
|
425
|
+
if (markerIndex >= 0) {
|
|
426
|
+
const suffix = normalizedUri.slice(markerIndex + marker.length).replace(/^\/+|\/+$/g, "");
|
|
427
|
+
return suffix || null;
|
|
428
|
+
}
|
|
429
|
+
const hashIndex = normalizedUri.lastIndexOf("#");
|
|
430
|
+
if (hashIndex >= 0) {
|
|
431
|
+
const suffix = normalizedUri.slice(hashIndex + 1).replace(/^\/+|\/+$/g, "");
|
|
432
|
+
return suffix || null;
|
|
433
|
+
}
|
|
434
|
+
const segments = normalizedUri.split("/").filter(Boolean);
|
|
435
|
+
return segments.length > 0 ? segments[segments.length - 1] : null;
|
|
436
|
+
}
|
|
437
|
+
function isLikelyXmlTslUrl(url) {
|
|
438
|
+
try {
|
|
439
|
+
const parsed = new URL(url);
|
|
440
|
+
const pathname = parsed.pathname.toLowerCase();
|
|
441
|
+
if (pathname.endsWith(".pdf") || pathname.endsWith(".html") || pathname.endsWith(".htm")) {
|
|
442
|
+
return false;
|
|
443
|
+
}
|
|
444
|
+
return true;
|
|
445
|
+
}
|
|
446
|
+
catch {
|
|
447
|
+
const normalizedUrl = url.trim().toLowerCase();
|
|
448
|
+
return (normalizedUrl.length > 0 &&
|
|
449
|
+
!normalizedUrl.endsWith(".pdf") &&
|
|
450
|
+
!normalizedUrl.endsWith(".html") &&
|
|
451
|
+
!normalizedUrl.endsWith(".htm"));
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
export { arrayBufferToBase64 as a, base64ToArrayBuffer as b, arrayBufferToPEM as c, arrayBufferToHex as d, base64ToUint8Array as e, fetchCRL as f, fetchIssuerCertificate as g, fetchOCSP as h, hexToArrayBuffer as i, normalizeKeyIdentifier as j, base64UrlToHex as k, getTrustListPurposeMaskForQueryPurpose as l, getTrustListPurposeMaskForServiceType as m, normalizeDistinguishedName as n, hexToBase64Url as o, isTrustedServiceStatus as p, normalizeHex as q, isLikelyXmlTslUrl as r, getRelevantServiceType as s, trustListPurposeMatchesMask as t, getServiceStatusSuffix as u, fetchBinary as v };
|
|
456
|
+
//# sourceMappingURL=normalize-50862581.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-50862581.js","sources":["../src/core/revocation/fetch.ts","../src/utils/encoding.ts","../src/core/trustedlist/normalize.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
|