@gerege-systems/eid-mongolia-sdk 0.15.0 → 0.15.2
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/README.md +83 -14
- package/dist/button.cjs +55 -45
- package/dist/button.js +55 -45
- package/dist/chunk-52O3T7DZ.js +1043 -0
- package/dist/index.cjs +885 -79
- package/dist/index.d.cts +135 -4
- package/dist/index.d.ts +135 -4
- package/dist/index.js +312 -39
- package/dist/pades.cjs +16 -3
- package/dist/pades.d.cts +5 -0
- package/dist/pades.d.ts +5 -0
- package/dist/pades.js +61 -1028
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -25,6 +25,11 @@ declare class Http {
|
|
|
25
25
|
private readonly cfg;
|
|
26
26
|
constructor(cfg: HttpConfig);
|
|
27
27
|
post(path: string, body: unknown, timeoutMs?: number): Promise<unknown>;
|
|
28
|
+
/** {@link post} + HTTP статус (201 / 200-г ялгах: `POST /pdf/signatures`). */
|
|
29
|
+
postWithStatus(path: string, body: unknown, timeoutMs?: number): Promise<{
|
|
30
|
+
status: number;
|
|
31
|
+
body: unknown;
|
|
32
|
+
}>;
|
|
28
33
|
get(path: string, timeoutMs?: number): Promise<unknown>;
|
|
29
34
|
private json;
|
|
30
35
|
private send;
|
|
@@ -187,11 +192,26 @@ interface RegisterSignatureInput {
|
|
|
187
192
|
priorCmsSha256?: string[];
|
|
188
193
|
/** Горим A-ийн (CA угсарсан) өмнөх гарын үсгүүдийн revision SHA-256. `priorCmsSha256`-тай нийлээд = `revIndex − 1`. */
|
|
189
194
|
priorRevisionSha256?: string[];
|
|
195
|
+
/**
|
|
196
|
+
* SDK-д л (CA руу илгээхгүй): өмнөх гарын үсэг бүрийн хоёр түлхүүр, баримтын дарааллаар — {@link registrationFromCompleted}
|
|
197
|
+
* бөглөнө. CA өмнөх мөр бүрийг өөрийнх нь түлхүүрээр таньдаг (клиент талын мөр — CMS, горим A — revision), файлаас аль
|
|
198
|
+
* нь болохыг ялгах боломжгүй. Тиймээс `registerSignature` эхлээд бүгдийг CMS-ээр илгээж, 409 `PRIOR_MISMATCH` бол
|
|
199
|
+
* эхний k-г revision-оор (горим A нь клиент талынхаас өмнө), өмнөх нь ≤ 4 бол бүх хослолыг оролдоно.
|
|
200
|
+
* `priorRevisionSha256`-г гараар өгсөн бол оролдохгүй.
|
|
201
|
+
*/
|
|
202
|
+
priorSignatures?: PriorSignature[];
|
|
190
203
|
/** Байгууллагын нэрийн өмнөөс (`NTRMN-…`) — session-ийнхтэй ижил. */
|
|
191
204
|
onBehalfOf?: string;
|
|
192
205
|
/** Заавал биш (`PNOMN-…`): ирвэл CMS-ийн зурагчийн SERIALNUMBER-тэй тэнцүү (эс бөгөөс 409 `SIGNER_MISMATCH`). */
|
|
193
206
|
signerEtsi?: string;
|
|
194
207
|
}
|
|
208
|
+
/** Өмнөх нэг гарын үсгийн хоёр түлхүүр ({@link RegisterSignatureInput.priorSignatures}). */
|
|
209
|
+
interface PriorSignature {
|
|
210
|
+
/** CMS DER-ийн SHA-256 (hex) — клиент талын мөр. */
|
|
211
|
+
cmsSha256: string;
|
|
212
|
+
/** `sha256(doc[0 : ByteRange[2]+ByteRange[3]])` (hex) — горим A-ийн мөр (CA `sig_rev_sha256`). */
|
|
213
|
+
revisionSha256: string;
|
|
214
|
+
}
|
|
195
215
|
/** {@link registrationFromCompleted}-д хэрэгтэй `pades.complete()`-ийн хэсэг (JSON-оор дамжсан бол `cms` нь base64). */
|
|
196
216
|
interface CompletedForRegistration {
|
|
197
217
|
docId: string;
|
|
@@ -203,6 +223,8 @@ interface CompletedForRegistration {
|
|
|
203
223
|
sigRevSha256: string;
|
|
204
224
|
outSha256: string;
|
|
205
225
|
priorCmsSha256: string[];
|
|
226
|
+
/** `complete().priorRevisionSha256` (0.15.2+) — байвал `priorSignatures` бөглөгдөж горим A-ийн өмнөх мөрийг SDK өөрөө тааруулна. */
|
|
227
|
+
priorRevisionSha256?: string[];
|
|
206
228
|
}
|
|
207
229
|
/**
|
|
208
230
|
* `pades.complete()`-ийн үр дүнгээс `registerSignature`-ийн биеийг бөглөнө (`hasPage`-ийг илгээхгүй — CA `revIndex`-ээс
|
|
@@ -217,6 +239,8 @@ interface RegisterSignatureResult {
|
|
|
217
239
|
registeredAt: string;
|
|
218
240
|
/** Нийтийн шалгах хуудас (`https://ca.eidmongolia.mn/verify/<docID>`). */
|
|
219
241
|
verifyUrl: string;
|
|
242
|
+
/** true — 201 (шинээр бүртгэв); false — 200 (ижил биеийн идэмпотент давталт, анхны хариу). */
|
|
243
|
+
created: boolean;
|
|
220
244
|
raw: unknown;
|
|
221
245
|
}
|
|
222
246
|
/**
|
|
@@ -860,6 +884,11 @@ declare class ResponseValidator {
|
|
|
860
884
|
* "skipped" (hook алга). "revoked", мөн hard-fail горимд "unknown" → ValidationError; hook-ийн алдаа дамжина.
|
|
861
885
|
*/
|
|
862
886
|
checkRevocationStatus(cert: X509Certificate): Promise<RevocationOutcome>;
|
|
887
|
+
/**
|
|
888
|
+
* {@link checkRevocationStatus}-тэй ижил, гэхдээ TrustConfig-ийн биш өгсөн checker ба горимоор (issuer-ийг trust
|
|
889
|
+
* pool-оос олно). checker алга бол "skipped"; горим анхдагч "hard-fail".
|
|
890
|
+
*/
|
|
891
|
+
checkRevocationWith(cert: X509Certificate, checker: RevocationChecker | undefined, mode?: "hard-fail" | "soft-fail"): Promise<RevocationOutcome>;
|
|
863
892
|
}
|
|
864
893
|
/** Payload (auth) дээрх гарын үсэг — алгоритмаар салаалж node:crypto verify. */
|
|
865
894
|
/** Smart-ID: userChallenge = BASE64URL(SHA-256(UTF-8(userChallengeVerifier))), padding-гүй. */
|
|
@@ -926,6 +955,27 @@ declare class EidClient {
|
|
|
926
955
|
*/
|
|
927
956
|
declare const PDF_SIGNATURE_REGISTER_FIELDS: readonly ["docID", "revIndex", "medium", "sessionID", "cms", "fileName", "inSha256", "pageSha256", "sigRevSha256", "outSha256", "priorCmsSha256", "priorRevisionSha256", "onBehalfOf", "signerEtsi"];
|
|
928
957
|
|
|
958
|
+
interface OcspCheckerOptions {
|
|
959
|
+
/** fetch (тест/proxy). Анхдагч globalThis.fetch. Redirect дагахгүй ("manual"). */
|
|
960
|
+
fetchImpl?: typeof fetch;
|
|
961
|
+
/** Нэг асуултын хугацаа (мс). Анхдагч 2000 — иргэн poll дээр хүлээж байна. */
|
|
962
|
+
timeoutMs?: number;
|
|
963
|
+
/** Цаг (мс, тест). Анхдагч Date.now. */
|
|
964
|
+
now?: () => number;
|
|
965
|
+
}
|
|
966
|
+
/**
|
|
967
|
+
* AIA OCSP-оор цуцлалт шалгагч ({@link RevocationChecker}):
|
|
968
|
+
*
|
|
969
|
+
* - good → "good" (5 мин кэшлэнэ);
|
|
970
|
+
* - revoked, мөн unknown (олгогч энэ serial-ийг олгоогүй — өөр хэн нэгний хийсэн гэрчилгээ) → "revoked";
|
|
971
|
+
* - хариугүй (AIA алга, issuer олдоогүй, timeout, HTTP ≠ 200, гарын үсэг/serial/хугацаа таараагүй) → "unknown" —
|
|
972
|
+
* `revocationMode` шийднэ: soft-fail — зөвшөөрнө ("unchecked"), hard-fail — татгалзана.
|
|
973
|
+
*
|
|
974
|
+
* Хариуг олгогч эсвэл олгогчийн id-kp-OCSPSigning EKU-тэй (одоо хүчинтэй) responder зурсан, энэ serial-ийн тухай,
|
|
975
|
+
* thisUpdate ∈ [now−48ц, now+5мин], nextUpdate өнгөрөөгүй байх ёстой.
|
|
976
|
+
*/
|
|
977
|
+
declare function ocspRevocationChecker(opts?: OcspCheckerOptions): RevocationChecker;
|
|
978
|
+
|
|
929
979
|
/** SHA-256 digest, base64. Текст эсвэл байтаас. Sign flow-ийн baримтын digest үүсгэхэд. */
|
|
930
980
|
declare function sha256Base64(data: string | Uint8Array): string;
|
|
931
981
|
/** Санамсаргүй RP challenge (default 64 байт), base64. Auth flow-д replay-ээс хамгаална. */
|
|
@@ -1051,6 +1101,11 @@ interface EidLoginIdentity {
|
|
|
1051
1101
|
flowType: FlowType;
|
|
1052
1102
|
/** Session-ийн `person` блок (кирилл нэр г.м.) — гэрчилгээтэй таарсан үед л, эс бөгөөс null. */
|
|
1053
1103
|
person: PersonBlock | null;
|
|
1104
|
+
/**
|
|
1105
|
+
* Гэрчилгээний цуцлалтын шалгалтын дүн: "good" | "unchecked" (OCSP хариугүй, soft-fail-ээр зөвшөөрөв) | "skipped"
|
|
1106
|
+
* (`revocation: false`). Аудитад хадгал.
|
|
1107
|
+
*/
|
|
1108
|
+
revocation: RevocationOutcome;
|
|
1054
1109
|
}
|
|
1055
1110
|
/** Серверт хадгалах нэвтрэлтийн төлөв (JSON-д хувирна). */
|
|
1056
1111
|
interface EidLoginTx {
|
|
@@ -1069,6 +1124,8 @@ interface EidLoginTx {
|
|
|
1069
1124
|
receivedAt: number;
|
|
1070
1125
|
lang: string;
|
|
1071
1126
|
};
|
|
1127
|
+
/** eID татгалзсан push-ийн оронд өгсөн хуурмаг session (eID-д байхгүй; хэзээ ч дуусахгүй). Зөвхөн серверт. */
|
|
1128
|
+
decoy?: boolean;
|
|
1072
1129
|
}
|
|
1073
1130
|
/** Төлөвийн сан. Анхдагч — процессын санах ой ({@link memoryLoginStore}); олон instance бол Redis г.м. */
|
|
1074
1131
|
interface EidLoginStore {
|
|
@@ -1092,6 +1149,39 @@ interface EidLoginSuccess {
|
|
|
1092
1149
|
data?: unknown;
|
|
1093
1150
|
headers?: Record<string, string | string[]>;
|
|
1094
1151
|
}
|
|
1152
|
+
/**
|
|
1153
|
+
* Аудитын үйл явдал (`onEvent`):
|
|
1154
|
+
* - `push_sent` — push start амжилттай хариулсан (meta: mode, pushKey, decoy). `decoy: true` бол eID дугаарыг татгалзаж
|
|
1155
|
+
* утас руу юу ч очоогүй — хөтөч рүү хэзээ ч илэрхийлэгдэхгүй, зөвхөн таны аудитад.
|
|
1156
|
+
* - `push_limited` — push хязгаарт хүрсэн, 429 (meta: mode, pushKey; sessionId null).
|
|
1157
|
+
* - `refused` — иргэн утсан дээрээ татгалзсан (endResult USER_REFUSED*).
|
|
1158
|
+
* - `expired` — eID session хугацаа дууссан (endResult TIMEOUT эсвэл eID-д олдохгүй).
|
|
1159
|
+
* - `unverified` — баталгаажуулалт унасан (meta.reason: "validation" | "revoked" | "revocation_unavailable").
|
|
1160
|
+
* - `flow_refused` — Web2App callback эхлүүлсэн хөтчийн session-тэй холбогдоогүй (meta.reason: "unbound").
|
|
1161
|
+
* - `success` — иргэн баталгаажиж onSuccess дуудагдсан (meta: mode, flow, revocation).
|
|
1162
|
+
* - `failed` — бусад endResult (WRONG_VC, DOCUMENT_UNUSABLE г.м.; meta.endResult).
|
|
1163
|
+
*/
|
|
1164
|
+
type EidLoginEventKind = "push_sent" | "push_limited" | "refused" | "expired" | "unverified" | "flow_refused" | "success" | "failed";
|
|
1165
|
+
/** `onEvent`-ийн аргумент. meta-д токен/нууц, регистрийн дугаар (PII) орохгүй. */
|
|
1166
|
+
interface EidLoginEvent {
|
|
1167
|
+
kind: EidLoginEventKind;
|
|
1168
|
+
sessionId: string | null;
|
|
1169
|
+
meta: Record<string, unknown>;
|
|
1170
|
+
}
|
|
1171
|
+
/** Хязгаарлагч: true — зөвшөөрөх, false — 429. */
|
|
1172
|
+
type EidLoginRateLimitFn = (key: string) => boolean | Promise<boolean>;
|
|
1173
|
+
/** Нэг төрлийн хязгаар: санах ойн гулсах цонх, өөрийн функц, эсвэл `false` (хязгааргүй). */
|
|
1174
|
+
type EidLoginRateRule = {
|
|
1175
|
+
limit: number;
|
|
1176
|
+
windowMs: number;
|
|
1177
|
+
} | EidLoginRateLimitFn | false;
|
|
1178
|
+
/** Төрөл тус бүрийн хязгаар: `start` — `start:<ip>`, `push` — `push:<idCode>`. */
|
|
1179
|
+
interface EidLoginRateLimits {
|
|
1180
|
+
start?: EidLoginRateRule;
|
|
1181
|
+
push?: EidLoginRateRule;
|
|
1182
|
+
}
|
|
1183
|
+
/** Анхдагч хязгаар — `rateLimit`-ийн объектод өгөөгүй төрөл энүүгээр үлдэнэ. `{ ...defaultRateLimit, start: … }`. */
|
|
1184
|
+
declare const defaultRateLimit: Readonly<EidLoginRateLimits>;
|
|
1095
1185
|
interface EidLoginOptions {
|
|
1096
1186
|
client: EidClient;
|
|
1097
1187
|
/**
|
|
@@ -1123,10 +1213,15 @@ interface EidLoginOptions {
|
|
|
1123
1213
|
domain?: string;
|
|
1124
1214
|
};
|
|
1125
1215
|
/**
|
|
1126
|
-
*
|
|
1127
|
-
*
|
|
1216
|
+
* Хязгаарлалт. Түлхүүр: `start:<ip>` (ip мэдэгдэж байвал), `push:<idCode>`; false → 429.
|
|
1217
|
+
* Анхдагч {@link defaultRateLimit}: push-д нэг дугаарт 60 секундэд 3 (санах ойд) — MFA fatigue-ээс.
|
|
1218
|
+
*
|
|
1219
|
+
* - Объект `{ start?, push? }` — анхдагчтай НЭГТГЭГДЭНЭ: өгсөн төрөл анхдагчийг дарна, өгөөгүй нь анхдагчаараа.
|
|
1220
|
+
* Утга: `{ limit, windowMs }` (санах ойн гулсах цонх), функц (Redis г.м.) эсвэл `false` (тухайн төрлийг хязгаарлахгүй).
|
|
1221
|
+
* - Функц `(key) => boolean` — бүх түлхүүрт дуудагдана, анхдагч хязгаар ДЭЭР НЭМЭГДЭНЭ (хоёулаа зөвшөөрөх ёстой).
|
|
1222
|
+
* Анхдагчийг сулруулах/солих бол объект хэлбэрээр тухайн төрлийг өг.
|
|
1128
1223
|
*/
|
|
1129
|
-
rateLimit?:
|
|
1224
|
+
rateLimit?: EidLoginRateLimitFn | EidLoginRateLimits;
|
|
1130
1225
|
/**
|
|
1131
1226
|
* `handle(Request)`-ийн клиент IP (`start:<ip>` хязгаарт). Web-standard `Request`-д IP байдаггүй тул эсвэл энийг, эсвэл
|
|
1132
1227
|
* {@link EidLoginOptions.trustProxy}-г өг; аль нь ч үгүй бол IP-ээр хязгаарлахгүй (анхны дуудлагад onError-оор анхааруулна).
|
|
@@ -1142,6 +1237,40 @@ interface EidLoginOptions {
|
|
|
1142
1237
|
trustProxy?: boolean | number;
|
|
1143
1238
|
/** Дотоод алдаа (eID API, store). Анхдагч console.error (мессеж л). */
|
|
1144
1239
|
onError?: (err: unknown, ctx: EidLoginContext) => void;
|
|
1240
|
+
/**
|
|
1241
|
+
* eID push-ийг дугаарын шалтгаанаар татгалзвал (eID-ийн өөрийн JSON 4xx — танихгүй / ашиглах боломжгүй дугаар) decoy
|
|
1242
|
+
* session-оор хариулна (анхдагч `true`). ⚠️ `false` бол `/start` нь «энэ регистр eID-д бүртгэлтэй эсэх»-ийг
|
|
1243
|
+
* нэвтрээгүй хэнд ч хэлдэг oracle болно — зөвхөн дотоод/тестийн орчинд.
|
|
1244
|
+
*/
|
|
1245
|
+
decoy?: boolean;
|
|
1246
|
+
/**
|
|
1247
|
+
* Push start-ийн хариу (бодит, decoy, 502) хамгийн багадаа энэ хугацаанд (мс) гарна: decoy микросекундэд, бодит push
|
|
1248
|
+
* eID-ийн round trip-ээр бэлэн болдог тул цаг нь л ялгана. Анхдагч 1000; `0` — унтраана (⚠️ decoy-г хугацаагаар
|
|
1249
|
+
* ялгаж болно). Хүсэлт тасарвал (`signal`) хүлээхгүй. 429 ба 400-д хамаарахгүй.
|
|
1250
|
+
*/
|
|
1251
|
+
pushFloorMs?: number;
|
|
1252
|
+
/**
|
|
1253
|
+
* Иргэний гэрчилгээний цуцлалт шалгагч (onSuccess-ийн өмнө). Анхдагч {@link ocspRevocationChecker} — гэрчилгээний AIA
|
|
1254
|
+
* OCSP. Цуцлагдсан / олгогч мэдэхгүй → FAILED "VALIDATION". ⚠️ `false` — шалгахгүй: цуцалсан (хулгайлагдсан утасны)
|
|
1255
|
+
* гэрчилгээгээр нэвтэрнэ.
|
|
1256
|
+
*/
|
|
1257
|
+
revocation?: RevocationChecker | false;
|
|
1258
|
+
/**
|
|
1259
|
+
* OCSP хариугүй үед (timeout, 5xx, AIA алга): "soft-fail" (анхдагч) — зөвшөөрч onError-оор анхааруулна,
|
|
1260
|
+
* `identity.revocation = "unchecked"` (eID порталын EID_OCSP=soft: CA-ийн responder унавал бүх иргэн түгжигдэхгүй);
|
|
1261
|
+
* "hard-fail" — FAILED "VALIDATION".
|
|
1262
|
+
*/
|
|
1263
|
+
revocationMode?: "soft-fail" | "hard-fail";
|
|
1264
|
+
/**
|
|
1265
|
+
* Аудитын hook ({@link EidLoginEventKind}). Хариу өгөхөөс өмнө await хийгдэнэ — удаан ажлыг өөрөө async болго; алдаа нь
|
|
1266
|
+
* onError руу (урсгалыг зогсоохгүй). Push-д регистр биш `pushKey` = HMAC-SHA256(auditKey, дугаар)-ын 32 hex.
|
|
1267
|
+
*/
|
|
1268
|
+
onEvent?: (event: EidLoginEvent) => void | Promise<void>;
|
|
1269
|
+
/**
|
|
1270
|
+
* pushKey-ийн HMAC түлхүүр (≥ 32 байт санал болгоно). Алга бол санамсаргүй — pushKey зөвхөн процесс дотор тогтвортой;
|
|
1271
|
+
* instance/restart хооронд харьцуулах бол тогтмол нууц өг.
|
|
1272
|
+
*/
|
|
1273
|
+
auditKey?: string | Uint8Array;
|
|
1145
1274
|
}
|
|
1146
1275
|
/** Framework-аас хамааралгүй хүсэлт (Express: `req.headers`, `req.body`, `req.ip`). */
|
|
1147
1276
|
interface EidLoginRequest {
|
|
@@ -1152,6 +1281,8 @@ interface EidLoginRequest {
|
|
|
1152
1281
|
/** POST-ийн задалсан JSON (Express `express.json()`), эсвэл түүхий мөр. */
|
|
1153
1282
|
body?: unknown;
|
|
1154
1283
|
ip?: string;
|
|
1284
|
+
/** Хүсэлт тасрахад (клиент холболтоо хаасан) — `pushFloorMs` ба decoy poll-ын хүлээлтийг таслана. */
|
|
1285
|
+
signal?: AbortSignal;
|
|
1155
1286
|
}
|
|
1156
1287
|
interface EidLoginResponse {
|
|
1157
1288
|
status: number;
|
|
@@ -1178,4 +1309,4 @@ declare function withReturnHint(callbackUrl: string, userAgent: string): string;
|
|
|
1178
1309
|
*/
|
|
1179
1310
|
declare function createEidLogin(opts: EidLoginOptions): EidLogin;
|
|
1180
1311
|
|
|
1181
|
-
export { AcspContext, type AcspV2Params, type ActivityCounts, type ActivityItem, type ActivityQuery, AuthApi, type AuthDefaults, type AuthOptions, type BuildDeviceLinkInput, CITIZEN_ISSUING_CA_SKI, type CertChoiceOptions, type CertCounts, type CertSubject, CertificateLevel, type ClientConfig, type CompletedForRegistration, DEFAULT_BASE_URL, DeviceLinkSession, type DeviceLinkSessionType, type DeviceLinkType, EidClient, type EidLogin, type EidLoginContext, type EidLoginIdentity, type EidLoginMode, type EidLoginOptions, type EidLoginRequest, type EidLoginResponse, type EidLoginStore, type EidLoginSuccess, type EidLoginTx, FlowType, HashAlgorithm, Http, type HttpConfig, Interaction, NotificationSession, OrganizationApi, PDF_SIGNATURE_REGISTER_FIELDS, type PdfDigestInput, type PdfDigestSession, type PdfDigestSigner, type PersonActivity, PersonApi, PersonBlock, type PersonCertificate, type PersonCertificates, type PersonChild, type PersonChildren, type PersonDevice, type PersonDevices, type PersonSummary, type QrDeviceLinkTickerOptions, type RegisterSignatureInput, type RegisterSignatureResult, RepresentationsResponse, ResponseValidator, type RevocationChecker, type RevocationOutcome, type RevocationStatus, RpCredentials, SessionApi, SessionResult, SignApi, type SignDefaults, type SignOptions, SignatureAlgorithm, type Signer, type SignerRef, TokenApi, type TokenAuthChallenge, type TokenAuthResult, type TokenCertInput, type TokenCertItem, type TokenCertResult, type TokenCertStart, type TokenIdentity, type TokenLimit, type TokenOrganization, type TrustConfig, type ValidateAuthOptions, type ValidateSignOptions, type VerifiedIdentity, type VerifiedSignature, acspV2Digest, buildAcspV2Payload, buildDeviceLink, buildRegisterBody, createEidLogin, deviceLinkInput, forwardedClientIp, interactionsToBase64, memoryLoginStore, parseSessionResult, parseSubject, personMatchesCertificate, qrDeviceLinkTicker, randomChallenge, registrationFromCompleted, resolveBaseUrl, sha256Base64, tokenAuthDigest, tokenLimitOf, userChallengeOf, verifyPayloadSignature, verifyPrehashedSignature, verifyTokenCertificates, withReturnHint };
|
|
1312
|
+
export { AcspContext, type AcspV2Params, type ActivityCounts, type ActivityItem, type ActivityQuery, AuthApi, type AuthDefaults, type AuthOptions, type BuildDeviceLinkInput, CITIZEN_ISSUING_CA_SKI, type CertChoiceOptions, type CertCounts, type CertSubject, CertificateLevel, type ClientConfig, type CompletedForRegistration, DEFAULT_BASE_URL, DeviceLinkSession, type DeviceLinkSessionType, type DeviceLinkType, EidClient, type EidLogin, type EidLoginContext, type EidLoginEvent, type EidLoginEventKind, type EidLoginIdentity, type EidLoginMode, type EidLoginOptions, type EidLoginRateLimitFn, type EidLoginRateLimits, type EidLoginRateRule, type EidLoginRequest, type EidLoginResponse, type EidLoginStore, type EidLoginSuccess, type EidLoginTx, FlowType, HashAlgorithm, Http, type HttpConfig, Interaction, NotificationSession, type OcspCheckerOptions, OrganizationApi, PDF_SIGNATURE_REGISTER_FIELDS, type PdfDigestInput, type PdfDigestSession, type PdfDigestSigner, type PersonActivity, PersonApi, PersonBlock, type PersonCertificate, type PersonCertificates, type PersonChild, type PersonChildren, type PersonDevice, type PersonDevices, type PersonSummary, type PriorSignature, type QrDeviceLinkTickerOptions, type RegisterSignatureInput, type RegisterSignatureResult, RepresentationsResponse, ResponseValidator, type RevocationChecker, type RevocationOutcome, type RevocationStatus, RpCredentials, SessionApi, SessionResult, SignApi, type SignDefaults, type SignOptions, SignatureAlgorithm, type Signer, type SignerRef, TokenApi, type TokenAuthChallenge, type TokenAuthResult, type TokenCertInput, type TokenCertItem, type TokenCertResult, type TokenCertStart, type TokenIdentity, type TokenLimit, type TokenOrganization, type TrustConfig, type ValidateAuthOptions, type ValidateSignOptions, type VerifiedIdentity, type VerifiedSignature, acspV2Digest, buildAcspV2Payload, buildDeviceLink, buildRegisterBody, createEidLogin, defaultRateLimit, deviceLinkInput, forwardedClientIp, interactionsToBase64, memoryLoginStore, ocspRevocationChecker, parseSessionResult, parseSubject, personMatchesCertificate, qrDeviceLinkTicker, randomChallenge, registrationFromCompleted, resolveBaseUrl, sha256Base64, tokenAuthDigest, tokenLimitOf, userChallengeOf, verifyPayloadSignature, verifyPrehashedSignature, verifyTokenCertificates, withReturnHint };
|
package/dist/index.d.ts
CHANGED
|
@@ -25,6 +25,11 @@ declare class Http {
|
|
|
25
25
|
private readonly cfg;
|
|
26
26
|
constructor(cfg: HttpConfig);
|
|
27
27
|
post(path: string, body: unknown, timeoutMs?: number): Promise<unknown>;
|
|
28
|
+
/** {@link post} + HTTP статус (201 / 200-г ялгах: `POST /pdf/signatures`). */
|
|
29
|
+
postWithStatus(path: string, body: unknown, timeoutMs?: number): Promise<{
|
|
30
|
+
status: number;
|
|
31
|
+
body: unknown;
|
|
32
|
+
}>;
|
|
28
33
|
get(path: string, timeoutMs?: number): Promise<unknown>;
|
|
29
34
|
private json;
|
|
30
35
|
private send;
|
|
@@ -187,11 +192,26 @@ interface RegisterSignatureInput {
|
|
|
187
192
|
priorCmsSha256?: string[];
|
|
188
193
|
/** Горим A-ийн (CA угсарсан) өмнөх гарын үсгүүдийн revision SHA-256. `priorCmsSha256`-тай нийлээд = `revIndex − 1`. */
|
|
189
194
|
priorRevisionSha256?: string[];
|
|
195
|
+
/**
|
|
196
|
+
* SDK-д л (CA руу илгээхгүй): өмнөх гарын үсэг бүрийн хоёр түлхүүр, баримтын дарааллаар — {@link registrationFromCompleted}
|
|
197
|
+
* бөглөнө. CA өмнөх мөр бүрийг өөрийнх нь түлхүүрээр таньдаг (клиент талын мөр — CMS, горим A — revision), файлаас аль
|
|
198
|
+
* нь болохыг ялгах боломжгүй. Тиймээс `registerSignature` эхлээд бүгдийг CMS-ээр илгээж, 409 `PRIOR_MISMATCH` бол
|
|
199
|
+
* эхний k-г revision-оор (горим A нь клиент талынхаас өмнө), өмнөх нь ≤ 4 бол бүх хослолыг оролдоно.
|
|
200
|
+
* `priorRevisionSha256`-г гараар өгсөн бол оролдохгүй.
|
|
201
|
+
*/
|
|
202
|
+
priorSignatures?: PriorSignature[];
|
|
190
203
|
/** Байгууллагын нэрийн өмнөөс (`NTRMN-…`) — session-ийнхтэй ижил. */
|
|
191
204
|
onBehalfOf?: string;
|
|
192
205
|
/** Заавал биш (`PNOMN-…`): ирвэл CMS-ийн зурагчийн SERIALNUMBER-тэй тэнцүү (эс бөгөөс 409 `SIGNER_MISMATCH`). */
|
|
193
206
|
signerEtsi?: string;
|
|
194
207
|
}
|
|
208
|
+
/** Өмнөх нэг гарын үсгийн хоёр түлхүүр ({@link RegisterSignatureInput.priorSignatures}). */
|
|
209
|
+
interface PriorSignature {
|
|
210
|
+
/** CMS DER-ийн SHA-256 (hex) — клиент талын мөр. */
|
|
211
|
+
cmsSha256: string;
|
|
212
|
+
/** `sha256(doc[0 : ByteRange[2]+ByteRange[3]])` (hex) — горим A-ийн мөр (CA `sig_rev_sha256`). */
|
|
213
|
+
revisionSha256: string;
|
|
214
|
+
}
|
|
195
215
|
/** {@link registrationFromCompleted}-д хэрэгтэй `pades.complete()`-ийн хэсэг (JSON-оор дамжсан бол `cms` нь base64). */
|
|
196
216
|
interface CompletedForRegistration {
|
|
197
217
|
docId: string;
|
|
@@ -203,6 +223,8 @@ interface CompletedForRegistration {
|
|
|
203
223
|
sigRevSha256: string;
|
|
204
224
|
outSha256: string;
|
|
205
225
|
priorCmsSha256: string[];
|
|
226
|
+
/** `complete().priorRevisionSha256` (0.15.2+) — байвал `priorSignatures` бөглөгдөж горим A-ийн өмнөх мөрийг SDK өөрөө тааруулна. */
|
|
227
|
+
priorRevisionSha256?: string[];
|
|
206
228
|
}
|
|
207
229
|
/**
|
|
208
230
|
* `pades.complete()`-ийн үр дүнгээс `registerSignature`-ийн биеийг бөглөнө (`hasPage`-ийг илгээхгүй — CA `revIndex`-ээс
|
|
@@ -217,6 +239,8 @@ interface RegisterSignatureResult {
|
|
|
217
239
|
registeredAt: string;
|
|
218
240
|
/** Нийтийн шалгах хуудас (`https://ca.eidmongolia.mn/verify/<docID>`). */
|
|
219
241
|
verifyUrl: string;
|
|
242
|
+
/** true — 201 (шинээр бүртгэв); false — 200 (ижил биеийн идэмпотент давталт, анхны хариу). */
|
|
243
|
+
created: boolean;
|
|
220
244
|
raw: unknown;
|
|
221
245
|
}
|
|
222
246
|
/**
|
|
@@ -860,6 +884,11 @@ declare class ResponseValidator {
|
|
|
860
884
|
* "skipped" (hook алга). "revoked", мөн hard-fail горимд "unknown" → ValidationError; hook-ийн алдаа дамжина.
|
|
861
885
|
*/
|
|
862
886
|
checkRevocationStatus(cert: X509Certificate): Promise<RevocationOutcome>;
|
|
887
|
+
/**
|
|
888
|
+
* {@link checkRevocationStatus}-тэй ижил, гэхдээ TrustConfig-ийн биш өгсөн checker ба горимоор (issuer-ийг trust
|
|
889
|
+
* pool-оос олно). checker алга бол "skipped"; горим анхдагч "hard-fail".
|
|
890
|
+
*/
|
|
891
|
+
checkRevocationWith(cert: X509Certificate, checker: RevocationChecker | undefined, mode?: "hard-fail" | "soft-fail"): Promise<RevocationOutcome>;
|
|
863
892
|
}
|
|
864
893
|
/** Payload (auth) дээрх гарын үсэг — алгоритмаар салаалж node:crypto verify. */
|
|
865
894
|
/** Smart-ID: userChallenge = BASE64URL(SHA-256(UTF-8(userChallengeVerifier))), padding-гүй. */
|
|
@@ -926,6 +955,27 @@ declare class EidClient {
|
|
|
926
955
|
*/
|
|
927
956
|
declare const PDF_SIGNATURE_REGISTER_FIELDS: readonly ["docID", "revIndex", "medium", "sessionID", "cms", "fileName", "inSha256", "pageSha256", "sigRevSha256", "outSha256", "priorCmsSha256", "priorRevisionSha256", "onBehalfOf", "signerEtsi"];
|
|
928
957
|
|
|
958
|
+
interface OcspCheckerOptions {
|
|
959
|
+
/** fetch (тест/proxy). Анхдагч globalThis.fetch. Redirect дагахгүй ("manual"). */
|
|
960
|
+
fetchImpl?: typeof fetch;
|
|
961
|
+
/** Нэг асуултын хугацаа (мс). Анхдагч 2000 — иргэн poll дээр хүлээж байна. */
|
|
962
|
+
timeoutMs?: number;
|
|
963
|
+
/** Цаг (мс, тест). Анхдагч Date.now. */
|
|
964
|
+
now?: () => number;
|
|
965
|
+
}
|
|
966
|
+
/**
|
|
967
|
+
* AIA OCSP-оор цуцлалт шалгагч ({@link RevocationChecker}):
|
|
968
|
+
*
|
|
969
|
+
* - good → "good" (5 мин кэшлэнэ);
|
|
970
|
+
* - revoked, мөн unknown (олгогч энэ serial-ийг олгоогүй — өөр хэн нэгний хийсэн гэрчилгээ) → "revoked";
|
|
971
|
+
* - хариугүй (AIA алга, issuer олдоогүй, timeout, HTTP ≠ 200, гарын үсэг/serial/хугацаа таараагүй) → "unknown" —
|
|
972
|
+
* `revocationMode` шийднэ: soft-fail — зөвшөөрнө ("unchecked"), hard-fail — татгалзана.
|
|
973
|
+
*
|
|
974
|
+
* Хариуг олгогч эсвэл олгогчийн id-kp-OCSPSigning EKU-тэй (одоо хүчинтэй) responder зурсан, энэ serial-ийн тухай,
|
|
975
|
+
* thisUpdate ∈ [now−48ц, now+5мин], nextUpdate өнгөрөөгүй байх ёстой.
|
|
976
|
+
*/
|
|
977
|
+
declare function ocspRevocationChecker(opts?: OcspCheckerOptions): RevocationChecker;
|
|
978
|
+
|
|
929
979
|
/** SHA-256 digest, base64. Текст эсвэл байтаас. Sign flow-ийн baримтын digest үүсгэхэд. */
|
|
930
980
|
declare function sha256Base64(data: string | Uint8Array): string;
|
|
931
981
|
/** Санамсаргүй RP challenge (default 64 байт), base64. Auth flow-д replay-ээс хамгаална. */
|
|
@@ -1051,6 +1101,11 @@ interface EidLoginIdentity {
|
|
|
1051
1101
|
flowType: FlowType;
|
|
1052
1102
|
/** Session-ийн `person` блок (кирилл нэр г.м.) — гэрчилгээтэй таарсан үед л, эс бөгөөс null. */
|
|
1053
1103
|
person: PersonBlock | null;
|
|
1104
|
+
/**
|
|
1105
|
+
* Гэрчилгээний цуцлалтын шалгалтын дүн: "good" | "unchecked" (OCSP хариугүй, soft-fail-ээр зөвшөөрөв) | "skipped"
|
|
1106
|
+
* (`revocation: false`). Аудитад хадгал.
|
|
1107
|
+
*/
|
|
1108
|
+
revocation: RevocationOutcome;
|
|
1054
1109
|
}
|
|
1055
1110
|
/** Серверт хадгалах нэвтрэлтийн төлөв (JSON-д хувирна). */
|
|
1056
1111
|
interface EidLoginTx {
|
|
@@ -1069,6 +1124,8 @@ interface EidLoginTx {
|
|
|
1069
1124
|
receivedAt: number;
|
|
1070
1125
|
lang: string;
|
|
1071
1126
|
};
|
|
1127
|
+
/** eID татгалзсан push-ийн оронд өгсөн хуурмаг session (eID-д байхгүй; хэзээ ч дуусахгүй). Зөвхөн серверт. */
|
|
1128
|
+
decoy?: boolean;
|
|
1072
1129
|
}
|
|
1073
1130
|
/** Төлөвийн сан. Анхдагч — процессын санах ой ({@link memoryLoginStore}); олон instance бол Redis г.м. */
|
|
1074
1131
|
interface EidLoginStore {
|
|
@@ -1092,6 +1149,39 @@ interface EidLoginSuccess {
|
|
|
1092
1149
|
data?: unknown;
|
|
1093
1150
|
headers?: Record<string, string | string[]>;
|
|
1094
1151
|
}
|
|
1152
|
+
/**
|
|
1153
|
+
* Аудитын үйл явдал (`onEvent`):
|
|
1154
|
+
* - `push_sent` — push start амжилттай хариулсан (meta: mode, pushKey, decoy). `decoy: true` бол eID дугаарыг татгалзаж
|
|
1155
|
+
* утас руу юу ч очоогүй — хөтөч рүү хэзээ ч илэрхийлэгдэхгүй, зөвхөн таны аудитад.
|
|
1156
|
+
* - `push_limited` — push хязгаарт хүрсэн, 429 (meta: mode, pushKey; sessionId null).
|
|
1157
|
+
* - `refused` — иргэн утсан дээрээ татгалзсан (endResult USER_REFUSED*).
|
|
1158
|
+
* - `expired` — eID session хугацаа дууссан (endResult TIMEOUT эсвэл eID-д олдохгүй).
|
|
1159
|
+
* - `unverified` — баталгаажуулалт унасан (meta.reason: "validation" | "revoked" | "revocation_unavailable").
|
|
1160
|
+
* - `flow_refused` — Web2App callback эхлүүлсэн хөтчийн session-тэй холбогдоогүй (meta.reason: "unbound").
|
|
1161
|
+
* - `success` — иргэн баталгаажиж onSuccess дуудагдсан (meta: mode, flow, revocation).
|
|
1162
|
+
* - `failed` — бусад endResult (WRONG_VC, DOCUMENT_UNUSABLE г.м.; meta.endResult).
|
|
1163
|
+
*/
|
|
1164
|
+
type EidLoginEventKind = "push_sent" | "push_limited" | "refused" | "expired" | "unverified" | "flow_refused" | "success" | "failed";
|
|
1165
|
+
/** `onEvent`-ийн аргумент. meta-д токен/нууц, регистрийн дугаар (PII) орохгүй. */
|
|
1166
|
+
interface EidLoginEvent {
|
|
1167
|
+
kind: EidLoginEventKind;
|
|
1168
|
+
sessionId: string | null;
|
|
1169
|
+
meta: Record<string, unknown>;
|
|
1170
|
+
}
|
|
1171
|
+
/** Хязгаарлагч: true — зөвшөөрөх, false — 429. */
|
|
1172
|
+
type EidLoginRateLimitFn = (key: string) => boolean | Promise<boolean>;
|
|
1173
|
+
/** Нэг төрлийн хязгаар: санах ойн гулсах цонх, өөрийн функц, эсвэл `false` (хязгааргүй). */
|
|
1174
|
+
type EidLoginRateRule = {
|
|
1175
|
+
limit: number;
|
|
1176
|
+
windowMs: number;
|
|
1177
|
+
} | EidLoginRateLimitFn | false;
|
|
1178
|
+
/** Төрөл тус бүрийн хязгаар: `start` — `start:<ip>`, `push` — `push:<idCode>`. */
|
|
1179
|
+
interface EidLoginRateLimits {
|
|
1180
|
+
start?: EidLoginRateRule;
|
|
1181
|
+
push?: EidLoginRateRule;
|
|
1182
|
+
}
|
|
1183
|
+
/** Анхдагч хязгаар — `rateLimit`-ийн объектод өгөөгүй төрөл энүүгээр үлдэнэ. `{ ...defaultRateLimit, start: … }`. */
|
|
1184
|
+
declare const defaultRateLimit: Readonly<EidLoginRateLimits>;
|
|
1095
1185
|
interface EidLoginOptions {
|
|
1096
1186
|
client: EidClient;
|
|
1097
1187
|
/**
|
|
@@ -1123,10 +1213,15 @@ interface EidLoginOptions {
|
|
|
1123
1213
|
domain?: string;
|
|
1124
1214
|
};
|
|
1125
1215
|
/**
|
|
1126
|
-
*
|
|
1127
|
-
*
|
|
1216
|
+
* Хязгаарлалт. Түлхүүр: `start:<ip>` (ip мэдэгдэж байвал), `push:<idCode>`; false → 429.
|
|
1217
|
+
* Анхдагч {@link defaultRateLimit}: push-д нэг дугаарт 60 секундэд 3 (санах ойд) — MFA fatigue-ээс.
|
|
1218
|
+
*
|
|
1219
|
+
* - Объект `{ start?, push? }` — анхдагчтай НЭГТГЭГДЭНЭ: өгсөн төрөл анхдагчийг дарна, өгөөгүй нь анхдагчаараа.
|
|
1220
|
+
* Утга: `{ limit, windowMs }` (санах ойн гулсах цонх), функц (Redis г.м.) эсвэл `false` (тухайн төрлийг хязгаарлахгүй).
|
|
1221
|
+
* - Функц `(key) => boolean` — бүх түлхүүрт дуудагдана, анхдагч хязгаар ДЭЭР НЭМЭГДЭНЭ (хоёулаа зөвшөөрөх ёстой).
|
|
1222
|
+
* Анхдагчийг сулруулах/солих бол объект хэлбэрээр тухайн төрлийг өг.
|
|
1128
1223
|
*/
|
|
1129
|
-
rateLimit?:
|
|
1224
|
+
rateLimit?: EidLoginRateLimitFn | EidLoginRateLimits;
|
|
1130
1225
|
/**
|
|
1131
1226
|
* `handle(Request)`-ийн клиент IP (`start:<ip>` хязгаарт). Web-standard `Request`-д IP байдаггүй тул эсвэл энийг, эсвэл
|
|
1132
1227
|
* {@link EidLoginOptions.trustProxy}-г өг; аль нь ч үгүй бол IP-ээр хязгаарлахгүй (анхны дуудлагад onError-оор анхааруулна).
|
|
@@ -1142,6 +1237,40 @@ interface EidLoginOptions {
|
|
|
1142
1237
|
trustProxy?: boolean | number;
|
|
1143
1238
|
/** Дотоод алдаа (eID API, store). Анхдагч console.error (мессеж л). */
|
|
1144
1239
|
onError?: (err: unknown, ctx: EidLoginContext) => void;
|
|
1240
|
+
/**
|
|
1241
|
+
* eID push-ийг дугаарын шалтгаанаар татгалзвал (eID-ийн өөрийн JSON 4xx — танихгүй / ашиглах боломжгүй дугаар) decoy
|
|
1242
|
+
* session-оор хариулна (анхдагч `true`). ⚠️ `false` бол `/start` нь «энэ регистр eID-д бүртгэлтэй эсэх»-ийг
|
|
1243
|
+
* нэвтрээгүй хэнд ч хэлдэг oracle болно — зөвхөн дотоод/тестийн орчинд.
|
|
1244
|
+
*/
|
|
1245
|
+
decoy?: boolean;
|
|
1246
|
+
/**
|
|
1247
|
+
* Push start-ийн хариу (бодит, decoy, 502) хамгийн багадаа энэ хугацаанд (мс) гарна: decoy микросекундэд, бодит push
|
|
1248
|
+
* eID-ийн round trip-ээр бэлэн болдог тул цаг нь л ялгана. Анхдагч 1000; `0` — унтраана (⚠️ decoy-г хугацаагаар
|
|
1249
|
+
* ялгаж болно). Хүсэлт тасарвал (`signal`) хүлээхгүй. 429 ба 400-д хамаарахгүй.
|
|
1250
|
+
*/
|
|
1251
|
+
pushFloorMs?: number;
|
|
1252
|
+
/**
|
|
1253
|
+
* Иргэний гэрчилгээний цуцлалт шалгагч (onSuccess-ийн өмнө). Анхдагч {@link ocspRevocationChecker} — гэрчилгээний AIA
|
|
1254
|
+
* OCSP. Цуцлагдсан / олгогч мэдэхгүй → FAILED "VALIDATION". ⚠️ `false` — шалгахгүй: цуцалсан (хулгайлагдсан утасны)
|
|
1255
|
+
* гэрчилгээгээр нэвтэрнэ.
|
|
1256
|
+
*/
|
|
1257
|
+
revocation?: RevocationChecker | false;
|
|
1258
|
+
/**
|
|
1259
|
+
* OCSP хариугүй үед (timeout, 5xx, AIA алга): "soft-fail" (анхдагч) — зөвшөөрч onError-оор анхааруулна,
|
|
1260
|
+
* `identity.revocation = "unchecked"` (eID порталын EID_OCSP=soft: CA-ийн responder унавал бүх иргэн түгжигдэхгүй);
|
|
1261
|
+
* "hard-fail" — FAILED "VALIDATION".
|
|
1262
|
+
*/
|
|
1263
|
+
revocationMode?: "soft-fail" | "hard-fail";
|
|
1264
|
+
/**
|
|
1265
|
+
* Аудитын hook ({@link EidLoginEventKind}). Хариу өгөхөөс өмнө await хийгдэнэ — удаан ажлыг өөрөө async болго; алдаа нь
|
|
1266
|
+
* onError руу (урсгалыг зогсоохгүй). Push-д регистр биш `pushKey` = HMAC-SHA256(auditKey, дугаар)-ын 32 hex.
|
|
1267
|
+
*/
|
|
1268
|
+
onEvent?: (event: EidLoginEvent) => void | Promise<void>;
|
|
1269
|
+
/**
|
|
1270
|
+
* pushKey-ийн HMAC түлхүүр (≥ 32 байт санал болгоно). Алга бол санамсаргүй — pushKey зөвхөн процесс дотор тогтвортой;
|
|
1271
|
+
* instance/restart хооронд харьцуулах бол тогтмол нууц өг.
|
|
1272
|
+
*/
|
|
1273
|
+
auditKey?: string | Uint8Array;
|
|
1145
1274
|
}
|
|
1146
1275
|
/** Framework-аас хамааралгүй хүсэлт (Express: `req.headers`, `req.body`, `req.ip`). */
|
|
1147
1276
|
interface EidLoginRequest {
|
|
@@ -1152,6 +1281,8 @@ interface EidLoginRequest {
|
|
|
1152
1281
|
/** POST-ийн задалсан JSON (Express `express.json()`), эсвэл түүхий мөр. */
|
|
1153
1282
|
body?: unknown;
|
|
1154
1283
|
ip?: string;
|
|
1284
|
+
/** Хүсэлт тасрахад (клиент холболтоо хаасан) — `pushFloorMs` ба decoy poll-ын хүлээлтийг таслана. */
|
|
1285
|
+
signal?: AbortSignal;
|
|
1155
1286
|
}
|
|
1156
1287
|
interface EidLoginResponse {
|
|
1157
1288
|
status: number;
|
|
@@ -1178,4 +1309,4 @@ declare function withReturnHint(callbackUrl: string, userAgent: string): string;
|
|
|
1178
1309
|
*/
|
|
1179
1310
|
declare function createEidLogin(opts: EidLoginOptions): EidLogin;
|
|
1180
1311
|
|
|
1181
|
-
export { AcspContext, type AcspV2Params, type ActivityCounts, type ActivityItem, type ActivityQuery, AuthApi, type AuthDefaults, type AuthOptions, type BuildDeviceLinkInput, CITIZEN_ISSUING_CA_SKI, type CertChoiceOptions, type CertCounts, type CertSubject, CertificateLevel, type ClientConfig, type CompletedForRegistration, DEFAULT_BASE_URL, DeviceLinkSession, type DeviceLinkSessionType, type DeviceLinkType, EidClient, type EidLogin, type EidLoginContext, type EidLoginIdentity, type EidLoginMode, type EidLoginOptions, type EidLoginRequest, type EidLoginResponse, type EidLoginStore, type EidLoginSuccess, type EidLoginTx, FlowType, HashAlgorithm, Http, type HttpConfig, Interaction, NotificationSession, OrganizationApi, PDF_SIGNATURE_REGISTER_FIELDS, type PdfDigestInput, type PdfDigestSession, type PdfDigestSigner, type PersonActivity, PersonApi, PersonBlock, type PersonCertificate, type PersonCertificates, type PersonChild, type PersonChildren, type PersonDevice, type PersonDevices, type PersonSummary, type QrDeviceLinkTickerOptions, type RegisterSignatureInput, type RegisterSignatureResult, RepresentationsResponse, ResponseValidator, type RevocationChecker, type RevocationOutcome, type RevocationStatus, RpCredentials, SessionApi, SessionResult, SignApi, type SignDefaults, type SignOptions, SignatureAlgorithm, type Signer, type SignerRef, TokenApi, type TokenAuthChallenge, type TokenAuthResult, type TokenCertInput, type TokenCertItem, type TokenCertResult, type TokenCertStart, type TokenIdentity, type TokenLimit, type TokenOrganization, type TrustConfig, type ValidateAuthOptions, type ValidateSignOptions, type VerifiedIdentity, type VerifiedSignature, acspV2Digest, buildAcspV2Payload, buildDeviceLink, buildRegisterBody, createEidLogin, deviceLinkInput, forwardedClientIp, interactionsToBase64, memoryLoginStore, parseSessionResult, parseSubject, personMatchesCertificate, qrDeviceLinkTicker, randomChallenge, registrationFromCompleted, resolveBaseUrl, sha256Base64, tokenAuthDigest, tokenLimitOf, userChallengeOf, verifyPayloadSignature, verifyPrehashedSignature, verifyTokenCertificates, withReturnHint };
|
|
1312
|
+
export { AcspContext, type AcspV2Params, type ActivityCounts, type ActivityItem, type ActivityQuery, AuthApi, type AuthDefaults, type AuthOptions, type BuildDeviceLinkInput, CITIZEN_ISSUING_CA_SKI, type CertChoiceOptions, type CertCounts, type CertSubject, CertificateLevel, type ClientConfig, type CompletedForRegistration, DEFAULT_BASE_URL, DeviceLinkSession, type DeviceLinkSessionType, type DeviceLinkType, EidClient, type EidLogin, type EidLoginContext, type EidLoginEvent, type EidLoginEventKind, type EidLoginIdentity, type EidLoginMode, type EidLoginOptions, type EidLoginRateLimitFn, type EidLoginRateLimits, type EidLoginRateRule, type EidLoginRequest, type EidLoginResponse, type EidLoginStore, type EidLoginSuccess, type EidLoginTx, FlowType, HashAlgorithm, Http, type HttpConfig, Interaction, NotificationSession, type OcspCheckerOptions, OrganizationApi, PDF_SIGNATURE_REGISTER_FIELDS, type PdfDigestInput, type PdfDigestSession, type PdfDigestSigner, type PersonActivity, PersonApi, PersonBlock, type PersonCertificate, type PersonCertificates, type PersonChild, type PersonChildren, type PersonDevice, type PersonDevices, type PersonSummary, type PriorSignature, type QrDeviceLinkTickerOptions, type RegisterSignatureInput, type RegisterSignatureResult, RepresentationsResponse, ResponseValidator, type RevocationChecker, type RevocationOutcome, type RevocationStatus, RpCredentials, SessionApi, SessionResult, SignApi, type SignDefaults, type SignOptions, SignatureAlgorithm, type Signer, type SignerRef, TokenApi, type TokenAuthChallenge, type TokenAuthResult, type TokenCertInput, type TokenCertItem, type TokenCertResult, type TokenCertStart, type TokenIdentity, type TokenLimit, type TokenOrganization, type TrustConfig, type ValidateAuthOptions, type ValidateSignOptions, type VerifiedIdentity, type VerifiedSignature, acspV2Digest, buildAcspV2Payload, buildDeviceLink, buildRegisterBody, createEidLogin, defaultRateLimit, deviceLinkInput, forwardedClientIp, interactionsToBase64, memoryLoginStore, ocspRevocationChecker, parseSessionResult, parseSubject, personMatchesCertificate, qrDeviceLinkTicker, randomChallenge, registrationFromCompleted, resolveBaseUrl, sha256Base64, tokenAuthDigest, tokenLimitOf, userChallengeOf, verifyPayloadSignature, verifyPrehashedSignature, verifyTokenCertificates, withReturnHint };
|