@heossi/qnsi 0.3.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/CHANGELOG.md +67 -0
- package/LICENSE.md +8 -0
- package/README.md +200 -0
- package/dist/_activation/activation-client.d.ts +65 -0
- package/dist/_activation/activation-client.d.ts.map +1 -0
- package/dist/_activation/activation-client.js +164 -0
- package/dist/_activation/activation-client.js.map +1 -0
- package/dist/_activation/index.d.ts +10 -0
- package/dist/_activation/index.d.ts.map +1 -0
- package/dist/_activation/index.js +10 -0
- package/dist/_activation/index.js.map +1 -0
- package/dist/_activation/types.d.ts +128 -0
- package/dist/_activation/types.d.ts.map +1 -0
- package/dist/_activation/types.js +94 -0
- package/dist/_activation/types.js.map +1 -0
- package/dist/_internal.d.ts +52 -0
- package/dist/_internal.d.ts.map +1 -0
- package/dist/_internal.js +235 -0
- package/dist/_internal.js.map +1 -0
- package/dist/access.d.ts +32 -0
- package/dist/access.d.ts.map +1 -0
- package/dist/access.js +33 -0
- package/dist/access.js.map +1 -0
- package/dist/ai.d.ts +51 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +53 -0
- package/dist/ai.js.map +1 -0
- package/dist/audit.d.ts +18 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +21 -0
- package/dist/audit.js.map +1 -0
- package/dist/auth.d.ts +31 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +69 -0
- package/dist/auth.js.map +1 -0
- package/dist/autogen/executor.d.ts +200 -0
- package/dist/autogen/executor.d.ts.map +1 -0
- package/dist/autogen/executor.js +277 -0
- package/dist/autogen/executor.js.map +1 -0
- package/dist/autogen/index.d.ts +18 -0
- package/dist/autogen/index.d.ts.map +1 -0
- package/dist/autogen/index.js +17 -0
- package/dist/autogen/index.js.map +1 -0
- package/dist/billing.d.ts +22 -0
- package/dist/billing.d.ts.map +1 -0
- package/dist/billing.js +33 -0
- package/dist/billing.js.map +1 -0
- package/dist/browser/encrypt.d.ts +68 -0
- package/dist/browser/encrypt.d.ts.map +1 -0
- package/dist/browser/encrypt.js +191 -0
- package/dist/browser/encrypt.js.map +1 -0
- package/dist/browser/index.d.ts +39 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +41 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/noble-provider.d.ts +10 -0
- package/dist/browser/noble-provider.d.ts.map +1 -0
- package/dist/browser/noble-provider.js +130 -0
- package/dist/browser/noble-provider.js.map +1 -0
- package/dist/browser/pqc-types.d.ts +40 -0
- package/dist/browser/pqc-types.d.ts.map +1 -0
- package/dist/browser/pqc-types.js +2 -0
- package/dist/browser/pqc-types.js.map +1 -0
- package/dist/browser/provider-setup.d.ts +70 -0
- package/dist/browser/provider-setup.d.ts.map +1 -0
- package/dist/browser/provider-setup.js +101 -0
- package/dist/browser/provider-setup.js.map +1 -0
- package/dist/browser/sdk-package-version.d.ts +12 -0
- package/dist/browser/sdk-package-version.d.ts.map +1 -0
- package/dist/browser/sdk-package-version.js +12 -0
- package/dist/browser/sdk-package-version.js.map +1 -0
- package/dist/browser/sign.d.ts +65 -0
- package/dist/browser/sign.d.ts.map +1 -0
- package/dist/browser/sign.js +124 -0
- package/dist/browser/sign.js.map +1 -0
- package/dist/browser/telemetry.d.ts +98 -0
- package/dist/browser/telemetry.d.ts.map +1 -0
- package/dist/browser/telemetry.js +93 -0
- package/dist/browser/telemetry.js.map +1 -0
- package/dist/cli/commands/access-control.d.ts +4 -0
- package/dist/cli/commands/access-control.d.ts.map +1 -0
- package/dist/cli/commands/access-control.js +183 -0
- package/dist/cli/commands/access-control.js.map +1 -0
- package/dist/cli/commands/audit.d.ts +4 -0
- package/dist/cli/commands/audit.d.ts.map +1 -0
- package/dist/cli/commands/audit.js +70 -0
- package/dist/cli/commands/audit.js.map +1 -0
- package/dist/cli/commands/auth.d.ts +4 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/auth.js +46 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/billing.d.ts +4 -0
- package/dist/cli/commands/billing.d.ts.map +1 -0
- package/dist/cli/commands/billing.js +179 -0
- package/dist/cli/commands/billing.js.map +1 -0
- package/dist/cli/commands/crypto-policy.d.ts +4 -0
- package/dist/cli/commands/crypto-policy.d.ts.map +1 -0
- package/dist/cli/commands/crypto-policy.js +130 -0
- package/dist/cli/commands/crypto-policy.js.map +1 -0
- package/dist/cli/commands/kms.d.ts +4 -0
- package/dist/cli/commands/kms.d.ts.map +1 -0
- package/dist/cli/commands/kms.js +153 -0
- package/dist/cli/commands/kms.js.map +1 -0
- package/dist/cli/commands/observability.d.ts +4 -0
- package/dist/cli/commands/observability.d.ts.map +1 -0
- package/dist/cli/commands/observability.js +97 -0
- package/dist/cli/commands/observability.js.map +1 -0
- package/dist/cli/commands/search.d.ts +4 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/search.js +66 -0
- package/dist/cli/commands/search.js.map +1 -0
- package/dist/cli/commands/security.d.ts +4 -0
- package/dist/cli/commands/security.d.ts.map +1 -0
- package/dist/cli/commands/security.js +136 -0
- package/dist/cli/commands/security.js.map +1 -0
- package/dist/cli/commands/storage.d.ts +4 -0
- package/dist/cli/commands/storage.d.ts.map +1 -0
- package/dist/cli/commands/storage.js +85 -0
- package/dist/cli/commands/storage.js.map +1 -0
- package/dist/cli/commands/tenant.d.ts +4 -0
- package/dist/cli/commands/tenant.d.ts.map +1 -0
- package/dist/cli/commands/tenant.js +82 -0
- package/dist/cli/commands/tenant.js.map +1 -0
- package/dist/cli/commands/test-utils.d.ts +15 -0
- package/dist/cli/commands/test-utils.d.ts.map +1 -0
- package/dist/cli/commands/test-utils.js +72 -0
- package/dist/cli/commands/test-utils.js.map +1 -0
- package/dist/cli/commands/vault.d.ts +4 -0
- package/dist/cli/commands/vault.d.ts.map +1 -0
- package/dist/cli/commands/vault.js +111 -0
- package/dist/cli/commands/vault.js.map +1 -0
- package/dist/cli/config.d.ts +32 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +105 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +54 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/utils/audit-logger.d.ts +17 -0
- package/dist/cli/utils/audit-logger.d.ts.map +1 -0
- package/dist/cli/utils/audit-logger.js +52 -0
- package/dist/cli/utils/audit-logger.js.map +1 -0
- package/dist/cli/utils/auth.d.ts +4 -0
- package/dist/cli/utils/auth.d.ts.map +1 -0
- package/dist/cli/utils/auth.js +100 -0
- package/dist/cli/utils/auth.js.map +1 -0
- package/dist/cli/utils/backend-validator.d.ts +19 -0
- package/dist/cli/utils/backend-validator.d.ts.map +1 -0
- package/dist/cli/utils/backend-validator.js +72 -0
- package/dist/cli/utils/backend-validator.js.map +1 -0
- package/dist/cli/utils/command-config.d.ts +4 -0
- package/dist/cli/utils/command-config.d.ts.map +1 -0
- package/dist/cli/utils/command-config.js +29 -0
- package/dist/cli/utils/command-config.js.map +1 -0
- package/dist/cli/utils/fetcher.d.ts +3 -0
- package/dist/cli/utils/fetcher.d.ts.map +1 -0
- package/dist/cli/utils/fetcher.js +30 -0
- package/dist/cli/utils/fetcher.js.map +1 -0
- package/dist/cli/utils/https-validator.d.ts +9 -0
- package/dist/cli/utils/https-validator.d.ts.map +1 -0
- package/dist/cli/utils/https-validator.js +35 -0
- package/dist/cli/utils/https-validator.js.map +1 -0
- package/dist/cli/utils/output.d.ts +6 -0
- package/dist/cli/utils/output.d.ts.map +1 -0
- package/dist/cli/utils/output.js +29 -0
- package/dist/cli/utils/output.js.map +1 -0
- package/dist/cli/utils/pqc-validator.d.ts +17 -0
- package/dist/cli/utils/pqc-validator.d.ts.map +1 -0
- package/dist/cli/utils/pqc-validator.js +62 -0
- package/dist/cli/utils/pqc-validator.js.map +1 -0
- package/dist/cli/utils/prompt.d.ts +4 -0
- package/dist/cli/utils/prompt.d.ts.map +1 -0
- package/dist/cli/utils/prompt.js +30 -0
- package/dist/cli/utils/prompt.js.map +1 -0
- package/dist/cli/utils/rate-limiter.d.ts +15 -0
- package/dist/cli/utils/rate-limiter.d.ts.map +1 -0
- package/dist/cli/utils/rate-limiter.js +46 -0
- package/dist/cli/utils/rate-limiter.js.map +1 -0
- package/dist/cli/utils/sanitize.d.ts +3 -0
- package/dist/cli/utils/sanitize.d.ts.map +1 -0
- package/dist/cli/utils/sanitize.js +44 -0
- package/dist/cli/utils/sanitize.js.map +1 -0
- package/dist/cli/utils/security-headers.d.ts +18 -0
- package/dist/cli/utils/security-headers.d.ts.map +1 -0
- package/dist/cli/utils/security-headers.js +32 -0
- package/dist/cli/utils/security-headers.js.map +1 -0
- package/dist/cli/utils/token-cache.d.ts +4 -0
- package/dist/cli/utils/token-cache.d.ts.map +1 -0
- package/dist/cli/utils/token-cache.js +22 -0
- package/dist/cli/utils/token-cache.js.map +1 -0
- package/dist/client.d.ts +52 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +78 -0
- package/dist/client.js.map +1 -0
- package/dist/crypto-inventory.d.ts +21 -0
- package/dist/crypto-inventory.d.ts.map +1 -0
- package/dist/crypto-inventory.js +28 -0
- package/dist/crypto-inventory.js.map +1 -0
- package/dist/errors.d.ts +35 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +64 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +1 -0
- package/dist/kms.d.ts +30 -0
- package/dist/kms.d.ts.map +1 -0
- package/dist/kms.js +92 -0
- package/dist/kms.js.map +1 -0
- package/dist/langchain/index.d.ts +22 -0
- package/dist/langchain/index.d.ts.map +1 -0
- package/dist/langchain/index.js +23 -0
- package/dist/langchain/index.js.map +1 -0
- package/dist/langchain/toolkit.d.ts +85 -0
- package/dist/langchain/toolkit.d.ts.map +1 -0
- package/dist/langchain/toolkit.js +146 -0
- package/dist/langchain/toolkit.js.map +1 -0
- package/dist/langchain/tools/audit.d.ts +43 -0
- package/dist/langchain/tools/audit.d.ts.map +1 -0
- package/dist/langchain/tools/audit.js +78 -0
- package/dist/langchain/tools/audit.js.map +1 -0
- package/dist/langchain/tools/kms.d.ts +62 -0
- package/dist/langchain/tools/kms.d.ts.map +1 -0
- package/dist/langchain/tools/kms.js +120 -0
- package/dist/langchain/tools/kms.js.map +1 -0
- package/dist/langchain/tools/vault.d.ts +69 -0
- package/dist/langchain/tools/vault.d.ts.map +1 -0
- package/dist/langchain/tools/vault.js +107 -0
- package/dist/langchain/tools/vault.js.map +1 -0
- package/dist/langchain/vault-client.d.ts +82 -0
- package/dist/langchain/vault-client.d.ts.map +1 -0
- package/dist/langchain/vault-client.js +133 -0
- package/dist/langchain/vault-client.js.map +1 -0
- package/dist/llamaindex/index.d.ts +16 -0
- package/dist/llamaindex/index.d.ts.map +1 -0
- package/dist/llamaindex/index.js +15 -0
- package/dist/llamaindex/index.js.map +1 -0
- package/dist/llamaindex/sse.d.ts +36 -0
- package/dist/llamaindex/sse.d.ts.map +1 -0
- package/dist/llamaindex/sse.js +151 -0
- package/dist/llamaindex/sse.js.map +1 -0
- package/dist/llamaindex/vector-store.d.ts +101 -0
- package/dist/llamaindex/vector-store.d.ts.map +1 -0
- package/dist/llamaindex/vector-store.js +348 -0
- package/dist/llamaindex/vector-store.js.map +1 -0
- package/dist/search.d.ts +32 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +27 -0
- package/dist/search.js.map +1 -0
- package/dist/storage.d.ts +32 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +58 -0
- package/dist/storage.js.map +1 -0
- package/dist/tenant.d.ts +25 -0
- package/dist/tenant.d.ts.map +1 -0
- package/dist/tenant.js +36 -0
- package/dist/tenant.js.map +1 -0
- package/dist/vault.d.ts +22 -0
- package/dist/vault.d.ts.map +1 -0
- package/dist/vault.js +43 -0
- package/dist/vault.js.map +1 -0
- package/dist/webhooks.d.ts +32 -0
- package/dist/webhooks.d.ts.map +1 -0
- package/dist/webhooks.js +77 -0
- package/dist/webhooks.js.map +1 -0
- package/package.json +118 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypt.js","sourceRoot":"","sources":["../../src/browser/encrypt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@heossi/qnsi/browser` — browser-compatible PQC encryption subpath.
|
|
3
|
+
*
|
|
4
|
+
* Client-side encryption (CSE), digital signatures, and key management
|
|
5
|
+
* using NIST FIPS 203/204/205 standards via @noble/post-quantum.
|
|
6
|
+
*
|
|
7
|
+
* No native dependencies. No `node:` imports. Works in browsers, Deno,
|
|
8
|
+
* Bun, and Node.js. Folded in from the former standalone
|
|
9
|
+
* `@heossi/qnsi-browser` package (2026-05-16) so there is one install.
|
|
10
|
+
*
|
|
11
|
+
* Supported algorithms:
|
|
12
|
+
* - ML-KEM (FIPS 203): kyber-512, kyber-768, kyber-1024 — key encapsulation
|
|
13
|
+
* - ML-DSA (FIPS 204): dilithium-2, dilithium-3, dilithium-5 — digital signatures
|
|
14
|
+
* - SLH-DSA (FIPS 205): 12 parameter sets — hash-based signatures
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import {
|
|
19
|
+
* initializePqcProvider,
|
|
20
|
+
* encryptBeforeUpload,
|
|
21
|
+
* decryptAfterDownload,
|
|
22
|
+
* } from "@heossi/qnsi/browser";
|
|
23
|
+
*
|
|
24
|
+
* await initializePqcProvider();
|
|
25
|
+
* const { publicKey, privateKey } = await generateEncryptionKeyPair("kyber-768");
|
|
26
|
+
* const envelope = await encryptBeforeUpload(plaintext, publicKey, "kyber-768");
|
|
27
|
+
* const decrypted = await decryptAfterDownload(envelope, privateKey);
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @module
|
|
31
|
+
*/
|
|
32
|
+
export type { SdkActivationConfig, SdkActivationLimits, SdkActivationResponse, SdkIdentifier, } from "../_activation/index.js";
|
|
33
|
+
export { SdkActivationError_ } from "../_activation/index.js";
|
|
34
|
+
export { type CseEnvelope, decryptAfterDownload, deserializeCseEnvelope, encryptBeforeUpload, serializeCseEnvelope, } from "./encrypt.js";
|
|
35
|
+
export type { PqcAlgorithm, PqcKeyPair, PqcProvider } from "./pqc-types.js";
|
|
36
|
+
export { detectRuntime, getActiveProvider, getLastActivation, getSupportedAlgorithms, type InitializePqcProviderOptions, initializePqcProvider, isProviderInitialized, NOBLE_SUPPORTED_ALGORITHMS, type RuntimeEnvironment, resetProvider, } from "./provider-setup.js";
|
|
37
|
+
export { generateEncryptionKeyPair, generateSigningKeyPair, type SignedEnvelope, signData, verifySignature, } from "./sign.js";
|
|
38
|
+
export { type BrowserSdkTelemetryConfig, type BrowserSdkTelemetryEvent, configureTelemetry, flushTelemetry, getTelemetryConfig, isTelemetryEnabled, recordTelemetryEvent, resetTelemetry, } from "./telemetry.js";
|
|
39
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,YAAY,EACX,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EACN,KAAK,WAAW,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,GACpB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EACN,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,aAAa,GACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACN,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,cAAc,EACnB,QAAQ,EACR,eAAe,GACf,MAAM,WAAW,CAAC;AAEnB,OAAO,EACN,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GACd,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@heossi/qnsi/browser` — browser-compatible PQC encryption subpath.
|
|
3
|
+
*
|
|
4
|
+
* Client-side encryption (CSE), digital signatures, and key management
|
|
5
|
+
* using NIST FIPS 203/204/205 standards via @noble/post-quantum.
|
|
6
|
+
*
|
|
7
|
+
* No native dependencies. No `node:` imports. Works in browsers, Deno,
|
|
8
|
+
* Bun, and Node.js. Folded in from the former standalone
|
|
9
|
+
* `@heossi/qnsi-browser` package (2026-05-16) so there is one install.
|
|
10
|
+
*
|
|
11
|
+
* Supported algorithms:
|
|
12
|
+
* - ML-KEM (FIPS 203): kyber-512, kyber-768, kyber-1024 — key encapsulation
|
|
13
|
+
* - ML-DSA (FIPS 204): dilithium-2, dilithium-3, dilithium-5 — digital signatures
|
|
14
|
+
* - SLH-DSA (FIPS 205): 12 parameter sets — hash-based signatures
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import {
|
|
19
|
+
* initializePqcProvider,
|
|
20
|
+
* encryptBeforeUpload,
|
|
21
|
+
* decryptAfterDownload,
|
|
22
|
+
* } from "@heossi/qnsi/browser";
|
|
23
|
+
*
|
|
24
|
+
* await initializePqcProvider();
|
|
25
|
+
* const { publicKey, privateKey } = await generateEncryptionKeyPair("kyber-768");
|
|
26
|
+
* const envelope = await encryptBeforeUpload(plaintext, publicKey, "kyber-768");
|
|
27
|
+
* const decrypted = await decryptAfterDownload(envelope, privateKey);
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @module
|
|
31
|
+
*/
|
|
32
|
+
export { SdkActivationError_ } from "../_activation/index.js";
|
|
33
|
+
// Client-side encryption (CSE) helpers
|
|
34
|
+
export { decryptAfterDownload, deserializeCseEnvelope, encryptBeforeUpload, serializeCseEnvelope, } from "./encrypt.js";
|
|
35
|
+
// Provider setup and auto-detection
|
|
36
|
+
export { detectRuntime, getActiveProvider, getLastActivation, getSupportedAlgorithms, initializePqcProvider, isProviderInitialized, NOBLE_SUPPORTED_ALGORITHMS, resetProvider, } from "./provider-setup.js";
|
|
37
|
+
// Digital signature helpers
|
|
38
|
+
export { generateEncryptionKeyPair, generateSigningKeyPair, signData, verifySignature, } from "./sign.js";
|
|
39
|
+
// Telemetry hooks (opt-in, no PII)
|
|
40
|
+
export { configureTelemetry, flushTelemetry, getTelemetryConfig, isTelemetryEnabled, recordTelemetryEvent, resetTelemetry, } from "./telemetry.js";
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAUH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,uCAAuC;AACvC,OAAO,EAEN,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,GACpB,MAAM,cAAc,CAAC;AAGtB,oCAAoC;AACpC,OAAO,EACN,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EAEtB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAE1B,aAAa,GACb,MAAM,qBAAqB,CAAC;AAC7B,4BAA4B;AAC5B,OAAO,EACN,yBAAyB,EACzB,sBAAsB,EAEtB,QAAQ,EACR,eAAe,GACf,MAAM,WAAW,CAAC;AACnB,mCAAmC;AACnC,OAAO,EAGN,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GACd,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PqcAlgorithm, PqcProvider } from "./pqc-types.js";
|
|
2
|
+
export declare const NOBLE_SUPPORTED_ALGORITHMS: readonly PqcAlgorithm[];
|
|
3
|
+
export declare function createNobleProvider(options?: {
|
|
4
|
+
readonly algorithms?: readonly PqcAlgorithm[];
|
|
5
|
+
}): PqcProvider;
|
|
6
|
+
export declare function createNobleProviderFactory(): (options?: {
|
|
7
|
+
readonly algorithms?: readonly PqcAlgorithm[];
|
|
8
|
+
}) => Promise<PqcProvider>;
|
|
9
|
+
export declare function registerNobleProvider(): void;
|
|
10
|
+
//# sourceMappingURL=noble-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noble-provider.d.ts","sourceRoot":"","sources":["../../src/browser/noble-provider.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,YAAY,EAAc,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE5E,eAAO,MAAM,0BAA0B,EAAE,SAAS,YAAY,EAmB7D,CAAC;AA6CF,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAC9C,GAAG,WAAW,CAoEd;AAED,wBAAgB,0BAA0B,KAC3B,UAAU;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAC9C,KAAG,OAAO,CAAC,WAAW,CAAC,CAGxB;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { ml_dsa44, ml_dsa65, ml_dsa87 } from "@noble/post-quantum/ml-dsa.js";
|
|
2
|
+
import { ml_kem512, ml_kem768, ml_kem1024 } from "@noble/post-quantum/ml-kem.js";
|
|
3
|
+
import { slh_dsa_sha2_128f, slh_dsa_sha2_128s, slh_dsa_sha2_192f, slh_dsa_sha2_192s, slh_dsa_sha2_256f, slh_dsa_sha2_256s, slh_dsa_shake_128f, slh_dsa_shake_128s, slh_dsa_shake_192f, slh_dsa_shake_192s, slh_dsa_shake_256f, slh_dsa_shake_256s, } from "@noble/post-quantum/slh-dsa.js";
|
|
4
|
+
export const NOBLE_SUPPORTED_ALGORITHMS = [
|
|
5
|
+
"kyber-512",
|
|
6
|
+
"kyber-768",
|
|
7
|
+
"kyber-1024",
|
|
8
|
+
"dilithium-2",
|
|
9
|
+
"dilithium-3",
|
|
10
|
+
"dilithium-5",
|
|
11
|
+
"sphincs-sha2-128f-simple",
|
|
12
|
+
"sphincs-sha2-128s-simple",
|
|
13
|
+
"sphincs-sha2-192f-simple",
|
|
14
|
+
"sphincs-sha2-192s-simple",
|
|
15
|
+
"sphincs-sha2-256f-simple",
|
|
16
|
+
"sphincs-sha2-256s-simple",
|
|
17
|
+
"sphincs-shake-128f-simple",
|
|
18
|
+
"sphincs-shake-128s-simple",
|
|
19
|
+
"sphincs-shake-192f-simple",
|
|
20
|
+
"sphincs-shake-192s-simple",
|
|
21
|
+
"sphincs-shake-256f-simple",
|
|
22
|
+
"sphincs-shake-256s-simple",
|
|
23
|
+
];
|
|
24
|
+
const KEM_BY_ALG = {
|
|
25
|
+
"kyber-512": ml_kem512,
|
|
26
|
+
"kyber-768": ml_kem768,
|
|
27
|
+
"kyber-1024": ml_kem1024,
|
|
28
|
+
};
|
|
29
|
+
const SIGNER_BY_ALG = {
|
|
30
|
+
"dilithium-2": ml_dsa44,
|
|
31
|
+
"dilithium-3": ml_dsa65,
|
|
32
|
+
"dilithium-5": ml_dsa87,
|
|
33
|
+
"sphincs-sha2-128f-simple": slh_dsa_sha2_128f,
|
|
34
|
+
"sphincs-sha2-128s-simple": slh_dsa_sha2_128s,
|
|
35
|
+
"sphincs-sha2-192f-simple": slh_dsa_sha2_192f,
|
|
36
|
+
"sphincs-sha2-192s-simple": slh_dsa_sha2_192s,
|
|
37
|
+
"sphincs-sha2-256f-simple": slh_dsa_sha2_256f,
|
|
38
|
+
"sphincs-sha2-256s-simple": slh_dsa_sha2_256s,
|
|
39
|
+
"sphincs-shake-128f-simple": slh_dsa_shake_128f,
|
|
40
|
+
"sphincs-shake-128s-simple": slh_dsa_shake_128s,
|
|
41
|
+
"sphincs-shake-192f-simple": slh_dsa_shake_192f,
|
|
42
|
+
"sphincs-shake-192s-simple": slh_dsa_shake_192s,
|
|
43
|
+
"sphincs-shake-256f-simple": slh_dsa_shake_256f,
|
|
44
|
+
"sphincs-shake-256s-simple": slh_dsa_shake_256s,
|
|
45
|
+
};
|
|
46
|
+
function assertSupportedAlgorithm(algorithm, enabled) {
|
|
47
|
+
if (!enabled.has(algorithm)) {
|
|
48
|
+
throw new Error(`Algorithm '${algorithm}' is not enabled in this provider instance. Enabled: ${[...enabled].join(", ")}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function getKem(algorithm) {
|
|
52
|
+
return KEM_BY_ALG[algorithm];
|
|
53
|
+
}
|
|
54
|
+
function getSigner(algorithm) {
|
|
55
|
+
return SIGNER_BY_ALG[algorithm];
|
|
56
|
+
}
|
|
57
|
+
export function createNobleProvider(options) {
|
|
58
|
+
const enabled = new Set(options?.algorithms ?? NOBLE_SUPPORTED_ALGORITHMS);
|
|
59
|
+
return {
|
|
60
|
+
name: "noble",
|
|
61
|
+
async generateKeyPair({ algorithm }) {
|
|
62
|
+
assertSupportedAlgorithm(algorithm, enabled);
|
|
63
|
+
const kem = getKem(algorithm);
|
|
64
|
+
if (kem) {
|
|
65
|
+
const kp = kem.keygen();
|
|
66
|
+
return {
|
|
67
|
+
keyPair: {
|
|
68
|
+
algorithm,
|
|
69
|
+
publicKey: kp.publicKey,
|
|
70
|
+
privateKey: kp.secretKey,
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
const signer = getSigner(algorithm);
|
|
75
|
+
if (!signer) {
|
|
76
|
+
throw new Error(`Unsupported algorithm '${algorithm}'`);
|
|
77
|
+
}
|
|
78
|
+
const kp = signer.keygen();
|
|
79
|
+
return {
|
|
80
|
+
keyPair: {
|
|
81
|
+
algorithm,
|
|
82
|
+
publicKey: kp.publicKey,
|
|
83
|
+
privateKey: kp.secretKey,
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
async encapsulate({ algorithm, publicKey, }) {
|
|
88
|
+
assertSupportedAlgorithm(algorithm, enabled);
|
|
89
|
+
const kem = getKem(algorithm);
|
|
90
|
+
if (!kem) {
|
|
91
|
+
throw new Error(`Algorithm '${algorithm}' is not a KEM algorithm`);
|
|
92
|
+
}
|
|
93
|
+
const { cipherText, sharedSecret } = kem.encapsulate(publicKey);
|
|
94
|
+
return { ciphertext: cipherText, sharedSecret };
|
|
95
|
+
},
|
|
96
|
+
async decapsulate({ algorithm, ciphertext, privateKey }) {
|
|
97
|
+
assertSupportedAlgorithm(algorithm, enabled);
|
|
98
|
+
const kem = getKem(algorithm);
|
|
99
|
+
if (!kem) {
|
|
100
|
+
throw new Error(`Algorithm '${algorithm}' is not a KEM algorithm`);
|
|
101
|
+
}
|
|
102
|
+
return kem.decapsulate(ciphertext, privateKey);
|
|
103
|
+
},
|
|
104
|
+
async sign({ algorithm, data, privateKey }) {
|
|
105
|
+
assertSupportedAlgorithm(algorithm, enabled);
|
|
106
|
+
const signer = getSigner(algorithm);
|
|
107
|
+
if (!signer) {
|
|
108
|
+
throw new Error(`Algorithm '${algorithm}' is not a signature algorithm`);
|
|
109
|
+
}
|
|
110
|
+
return { signature: signer.sign(data, privateKey) };
|
|
111
|
+
},
|
|
112
|
+
async verify({ algorithm, data, signature, publicKey }) {
|
|
113
|
+
assertSupportedAlgorithm(algorithm, enabled);
|
|
114
|
+
const signer = getSigner(algorithm);
|
|
115
|
+
if (!signer) {
|
|
116
|
+
throw new Error(`Algorithm '${algorithm}' is not a signature algorithm`);
|
|
117
|
+
}
|
|
118
|
+
return signer.verify(signature, data, publicKey);
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
export function createNobleProviderFactory() {
|
|
123
|
+
return async (options) => {
|
|
124
|
+
return createNobleProvider(options);
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
export function registerNobleProvider() {
|
|
128
|
+
// no-op; kept for backwards compatibility
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=noble-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noble-provider.js","sourceRoot":"","sources":["../../src/browser/noble-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export type PqcAlgorithm = "kyber-512" | "kyber-768" | "kyber-1024" | "dilithium-2" | "dilithium-3" | "dilithium-5" | "sphincs-sha2-128f-simple" | "sphincs-sha2-128s-simple" | "sphincs-sha2-192f-simple" | "sphincs-sha2-192s-simple" | "sphincs-sha2-256f-simple" | "sphincs-sha2-256s-simple" | "sphincs-shake-128f-simple" | "sphincs-shake-128s-simple" | "sphincs-shake-192f-simple" | "sphincs-shake-192s-simple" | "sphincs-shake-256f-simple" | "sphincs-shake-256s-simple";
|
|
2
|
+
export interface PqcKeyPair {
|
|
3
|
+
readonly algorithm: PqcAlgorithm;
|
|
4
|
+
readonly publicKey: Uint8Array;
|
|
5
|
+
readonly privateKey: Uint8Array;
|
|
6
|
+
}
|
|
7
|
+
export interface PqcProvider {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
generateKeyPair(input: {
|
|
10
|
+
readonly algorithm: PqcAlgorithm;
|
|
11
|
+
}): Promise<{
|
|
12
|
+
readonly keyPair: PqcKeyPair;
|
|
13
|
+
}>;
|
|
14
|
+
encapsulate(input: {
|
|
15
|
+
readonly algorithm: PqcAlgorithm;
|
|
16
|
+
readonly publicKey: Uint8Array;
|
|
17
|
+
}): Promise<{
|
|
18
|
+
readonly ciphertext: Uint8Array;
|
|
19
|
+
readonly sharedSecret: Uint8Array;
|
|
20
|
+
}>;
|
|
21
|
+
decapsulate(input: {
|
|
22
|
+
readonly algorithm: PqcAlgorithm;
|
|
23
|
+
readonly ciphertext: Uint8Array;
|
|
24
|
+
readonly privateKey: Uint8Array;
|
|
25
|
+
}): Promise<Uint8Array>;
|
|
26
|
+
sign(input: {
|
|
27
|
+
readonly algorithm: PqcAlgorithm;
|
|
28
|
+
readonly data: Uint8Array;
|
|
29
|
+
readonly privateKey: Uint8Array;
|
|
30
|
+
}): Promise<{
|
|
31
|
+
readonly signature: Uint8Array;
|
|
32
|
+
}>;
|
|
33
|
+
verify(input: {
|
|
34
|
+
readonly algorithm: PqcAlgorithm;
|
|
35
|
+
readonly data: Uint8Array;
|
|
36
|
+
readonly signature: Uint8Array;
|
|
37
|
+
readonly publicKey: Uint8Array;
|
|
38
|
+
}): Promise<boolean>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=pqc-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pqc-types.d.ts","sourceRoot":"","sources":["../../src/browser/pqc-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACrB,WAAW,GACX,WAAW,GACX,YAAY,GACZ,aAAa,GACb,aAAa,GACb,aAAa,GACb,0BAA0B,GAC1B,0BAA0B,GAC1B,0BAA0B,GAC1B,0BAA0B,GAC1B,0BAA0B,GAC1B,0BAA0B,GAC1B,2BAA2B,GAC3B,2BAA2B,GAC3B,2BAA2B,GAC3B,2BAA2B,GAC3B,2BAA2B,GAC3B,2BAA2B,CAAC;AAE/B,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,KAAK,EAAE;QACtB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;KACjC,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IAC9C,WAAW,CAAC,KAAK,EAAE;QAClB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;QACjC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;KAC/B,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IACpF,WAAW,CAAC,KAAK,EAAE;QAClB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;QACjC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;QAChC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;KAChC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK,EAAE;QACX,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;QACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAC1B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;KAChC,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,EAAE;QACb,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;QACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAC1B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;QAC/B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;KAC/B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pqc-types.js","sourceRoot":"","sources":["../../src/browser/pqc-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider auto-detection and registration for browser-sdk.
|
|
3
|
+
*
|
|
4
|
+
* In browser environments, uses a noble-backed provider (pure JS, 18 FIPS algorithms).
|
|
5
|
+
* In Node.js environments, uses the same noble-backed provider for deterministic behavior.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import { type SdkActivationResponse } from "../_activation/index.js";
|
|
10
|
+
import { createNobleProviderFactory, NOBLE_SUPPORTED_ALGORITHMS } from "./noble-provider.js";
|
|
11
|
+
import type { PqcAlgorithm, PqcProvider } from "./pqc-types.js";
|
|
12
|
+
/** Runtime environment detection result. */
|
|
13
|
+
export type RuntimeEnvironment = "browser" | "node" | "edge";
|
|
14
|
+
/** Options for initializing the PQC provider. */
|
|
15
|
+
export interface InitializePqcProviderOptions {
|
|
16
|
+
/** QNSP API key — required. Get one at https://cloud.qnsp.cuilabs.io/signup */
|
|
17
|
+
readonly apiKey: string;
|
|
18
|
+
/** Optional subset of algorithms to enable. Defaults to all noble-supported. */
|
|
19
|
+
readonly algorithms?: readonly PqcAlgorithm[] | undefined;
|
|
20
|
+
/** Override platform URL (defaults to https://api.qnsp.cuilabs.io) */
|
|
21
|
+
readonly platformUrl?: string | undefined;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Detect the current runtime environment.
|
|
25
|
+
*
|
|
26
|
+
* - "browser": window/document available (standard browser)
|
|
27
|
+
* - "edge": no window but no process.versions.node (Cloudflare Workers, Deno Deploy, Vercel Edge)
|
|
28
|
+
* - "node": process.versions.node available (Node.js, Bun with node compat)
|
|
29
|
+
*/
|
|
30
|
+
export declare function detectRuntime(): RuntimeEnvironment;
|
|
31
|
+
/**
|
|
32
|
+
* Initialize the PQC provider for the current runtime.
|
|
33
|
+
*
|
|
34
|
+
* Requires a valid QNSP API key. The SDK activates against the QNSP platform
|
|
35
|
+
* to validate the key and retrieve tier limits before enabling PQC operations.
|
|
36
|
+
*
|
|
37
|
+
* In browser/edge: always uses noble (pure JS, no native deps).
|
|
38
|
+
* In Node.js: uses noble for deterministic behavior.
|
|
39
|
+
*
|
|
40
|
+
* @param options - Configuration including apiKey (required) and optional algorithm subset.
|
|
41
|
+
* @returns The initialized PqcProvider instance.
|
|
42
|
+
* @throws {SdkActivationError_} if the API key is invalid or activation fails.
|
|
43
|
+
*/
|
|
44
|
+
export declare function initializePqcProvider(options: InitializePqcProviderOptions): Promise<PqcProvider>;
|
|
45
|
+
/**
|
|
46
|
+
* Get the last SDK activation response (tier, limits, token).
|
|
47
|
+
* Returns null if not yet activated.
|
|
48
|
+
*/
|
|
49
|
+
export declare function getLastActivation(): SdkActivationResponse | null;
|
|
50
|
+
/**
|
|
51
|
+
* Get the currently active PQC provider.
|
|
52
|
+
* Throws if initializePqcProvider() has not been called.
|
|
53
|
+
*/
|
|
54
|
+
export declare function getActiveProvider(): PqcProvider;
|
|
55
|
+
/**
|
|
56
|
+
* Check if the PQC provider has been initialized.
|
|
57
|
+
*/
|
|
58
|
+
export declare function isProviderInitialized(): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Reset the provider state. Primarily for testing.
|
|
61
|
+
*/
|
|
62
|
+
export declare function resetProvider(): void;
|
|
63
|
+
/**
|
|
64
|
+
* Get the list of algorithms supported in the current environment.
|
|
65
|
+
* In browser/edge: noble's 18 FIPS algorithms.
|
|
66
|
+
* In Node.js: noble's 18 FIPS algorithms.
|
|
67
|
+
*/
|
|
68
|
+
export declare function getSupportedAlgorithms(): readonly PqcAlgorithm[];
|
|
69
|
+
export { createNobleProviderFactory, NOBLE_SUPPORTED_ALGORITHMS };
|
|
70
|
+
//# sourceMappingURL=provider-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-setup.d.ts","sourceRoot":"","sources":["../../src/browser/provider-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAe,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAEN,0BAA0B,EAC1B,0BAA0B,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGhE,4CAA4C;AAC5C,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7D,iDAAiD;AACjD,MAAM,WAAW,4BAA4B;IAC5C,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,CAAC;IAC1D,sEAAsE;IACtE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,kBAAkB,CASlD;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,4BAA4B,GACnC,OAAO,CAAC,WAAW,CAAC,CAoBtB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,qBAAqB,GAAG,IAAI,CAEhE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAK/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,SAAS,YAAY,EAAE,CAEhE;AAED,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider auto-detection and registration for browser-sdk.
|
|
3
|
+
*
|
|
4
|
+
* In browser environments, uses a noble-backed provider (pure JS, 18 FIPS algorithms).
|
|
5
|
+
* In Node.js environments, uses the same noble-backed provider for deterministic behavior.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import { activateSdk } from "../_activation/index.js";
|
|
10
|
+
import { createNobleProvider, createNobleProviderFactory, NOBLE_SUPPORTED_ALGORITHMS, } from "./noble-provider.js";
|
|
11
|
+
import { SDK_PACKAGE_VERSION } from "./sdk-package-version.js";
|
|
12
|
+
/**
|
|
13
|
+
* Detect the current runtime environment.
|
|
14
|
+
*
|
|
15
|
+
* - "browser": window/document available (standard browser)
|
|
16
|
+
* - "edge": no window but no process.versions.node (Cloudflare Workers, Deno Deploy, Vercel Edge)
|
|
17
|
+
* - "node": process.versions.node available (Node.js, Bun with node compat)
|
|
18
|
+
*/
|
|
19
|
+
export function detectRuntime() {
|
|
20
|
+
if (typeof globalThis.process !== "undefined" && globalThis.process.versions?.node) {
|
|
21
|
+
return "node";
|
|
22
|
+
}
|
|
23
|
+
// Use string-based property check to avoid needing DOM lib types
|
|
24
|
+
if ("window" in globalThis && "document" in globalThis) {
|
|
25
|
+
return "browser";
|
|
26
|
+
}
|
|
27
|
+
return "edge";
|
|
28
|
+
}
|
|
29
|
+
let initialized = false;
|
|
30
|
+
let activeProvider = null;
|
|
31
|
+
let lastActivation = null;
|
|
32
|
+
/**
|
|
33
|
+
* Initialize the PQC provider for the current runtime.
|
|
34
|
+
*
|
|
35
|
+
* Requires a valid QNSP API key. The SDK activates against the QNSP platform
|
|
36
|
+
* to validate the key and retrieve tier limits before enabling PQC operations.
|
|
37
|
+
*
|
|
38
|
+
* In browser/edge: always uses noble (pure JS, no native deps).
|
|
39
|
+
* In Node.js: uses noble for deterministic behavior.
|
|
40
|
+
*
|
|
41
|
+
* @param options - Configuration including apiKey (required) and optional algorithm subset.
|
|
42
|
+
* @returns The initialized PqcProvider instance.
|
|
43
|
+
* @throws {SdkActivationError_} if the API key is invalid or activation fails.
|
|
44
|
+
*/
|
|
45
|
+
export async function initializePqcProvider(options) {
|
|
46
|
+
if (activeProvider) {
|
|
47
|
+
return activeProvider;
|
|
48
|
+
}
|
|
49
|
+
// Activate SDK against QNSP platform — validates API key, returns tier limits
|
|
50
|
+
const activation = await activateSdk({
|
|
51
|
+
apiKey: options.apiKey,
|
|
52
|
+
sdkId: "browser-sdk",
|
|
53
|
+
sdkVersion: SDK_PACKAGE_VERSION,
|
|
54
|
+
platformUrl: options.platformUrl,
|
|
55
|
+
});
|
|
56
|
+
lastActivation = activation;
|
|
57
|
+
const provider = createNobleProvider(options.algorithms ? { algorithms: options.algorithms } : undefined);
|
|
58
|
+
activeProvider = provider;
|
|
59
|
+
initialized = true;
|
|
60
|
+
return provider;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get the last SDK activation response (tier, limits, token).
|
|
64
|
+
* Returns null if not yet activated.
|
|
65
|
+
*/
|
|
66
|
+
export function getLastActivation() {
|
|
67
|
+
return lastActivation;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get the currently active PQC provider.
|
|
71
|
+
* Throws if initializePqcProvider() has not been called.
|
|
72
|
+
*/
|
|
73
|
+
export function getActiveProvider() {
|
|
74
|
+
if (!activeProvider) {
|
|
75
|
+
throw new Error("PQC provider not initialized. Call initializePqcProvider() first.");
|
|
76
|
+
}
|
|
77
|
+
return activeProvider;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Check if the PQC provider has been initialized.
|
|
81
|
+
*/
|
|
82
|
+
export function isProviderInitialized() {
|
|
83
|
+
return initialized;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Reset the provider state. Primarily for testing.
|
|
87
|
+
*/
|
|
88
|
+
export function resetProvider() {
|
|
89
|
+
activeProvider = null;
|
|
90
|
+
initialized = false;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get the list of algorithms supported in the current environment.
|
|
94
|
+
* In browser/edge: noble's 18 FIPS algorithms.
|
|
95
|
+
* In Node.js: noble's 18 FIPS algorithms.
|
|
96
|
+
*/
|
|
97
|
+
export function getSupportedAlgorithms() {
|
|
98
|
+
return NOBLE_SUPPORTED_ALGORITHMS;
|
|
99
|
+
}
|
|
100
|
+
export { createNobleProviderFactory, NOBLE_SUPPORTED_ALGORITHMS };
|
|
101
|
+
//# sourceMappingURL=provider-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-setup.js","sourceRoot":"","sources":["../../src/browser/provider-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAA8B,MAAM,yBAAyB,CAAC;AAClF,OAAO,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAe/D;;;;;;GAMG;AACH,MAAM,UAAU,aAAa;IAC5B,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,WAAW,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QACpF,OAAO,MAAM,CAAC;IACf,CAAC;IACD,iEAAiE;IACjE,IAAI,QAAQ,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,cAAc,GAAuB,IAAI,CAAC;AAC9C,IAAI,cAAc,GAAiC,IAAI,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,OAAqC;IAErC,IAAI,cAAc,EAAE,CAAC;QACpB,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,8EAA8E;IAC9E,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,aAAa;QACpB,UAAU,EAAE,mBAAmB;QAC/B,WAAW,EAAE,OAAO,CAAC,WAAW;KAChC,CAAC,CAAC;IACH,cAAc,GAAG,UAAU,CAAC;IAE5B,MAAM,QAAQ,GAAG,mBAAmB,CACnC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CACnE,CAAC;IACF,cAAc,GAAG,QAAQ,CAAC;IAC1B,WAAW,GAAG,IAAI,CAAC;IACnB,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAChC,OAAO,cAAc,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAChC,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,cAAc,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACpC,OAAO,WAAW,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC5B,cAAc,GAAG,IAAI,CAAC;IACtB,WAAW,GAAG,KAAK,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACrC,OAAO,0BAA0B,CAAC;AACnC,CAAC;AAED,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Published semver — used for SDK activation metering (must match the npm
|
|
3
|
+
* publish version of `@heossi/qnsi`).
|
|
4
|
+
*
|
|
5
|
+
* Kept as a literal (not a `../package.json` JSON import) because this module
|
|
6
|
+
* must stay browser-safe — no `node:fs` runtime read — and a static JSON
|
|
7
|
+
* import would resolve outside the package `rootDir` (TS6059). This mirrors
|
|
8
|
+
* the same release-bump contract as `SDK_VERSION` in `../_internal.ts`:
|
|
9
|
+
* **bump this in lockstep with `packages/qnsp/package.json` `version`.**
|
|
10
|
+
*/
|
|
11
|
+
export declare const SDK_PACKAGE_VERSION = "0.3.0";
|
|
12
|
+
//# sourceMappingURL=sdk-package-version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-package-version.d.ts","sourceRoot":"","sources":["../../src/browser/sdk-package-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,UAAU,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Published semver — used for SDK activation metering (must match the npm
|
|
3
|
+
* publish version of `@heossi/qnsi`).
|
|
4
|
+
*
|
|
5
|
+
* Kept as a literal (not a `../package.json` JSON import) because this module
|
|
6
|
+
* must stay browser-safe — no `node:fs` runtime read — and a static JSON
|
|
7
|
+
* import would resolve outside the package `rootDir` (TS6059). This mirrors
|
|
8
|
+
* the same release-bump contract as `SDK_VERSION` in `../_internal.ts`:
|
|
9
|
+
* **bump this in lockstep with `packages/qnsp/package.json` `version`.**
|
|
10
|
+
*/
|
|
11
|
+
export const SDK_PACKAGE_VERSION = "0.3.0";
|
|
12
|
+
//# sourceMappingURL=sdk-package-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-package-version.js","sourceRoot":"","sources":["../../src/browser/sdk-package-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PQC digital signature helpers for browser-side operations.
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - ML-DSA (FIPS 204): dilithium-2, dilithium-3, dilithium-5
|
|
6
|
+
* - SLH-DSA (FIPS 205): all 12 parameter sets (SHA-2 and SHAKE variants)
|
|
7
|
+
*
|
|
8
|
+
* No node: imports. Works in browsers, Deno, Bun, and Node.js 20+.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import type { PqcAlgorithm } from "./pqc-types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Signed data envelope containing the signature and metadata.
|
|
15
|
+
*/
|
|
16
|
+
export interface SignedEnvelope {
|
|
17
|
+
/** PQC algorithm used for signing. */
|
|
18
|
+
readonly algorithm: PqcAlgorithm;
|
|
19
|
+
/** The digital signature bytes. */
|
|
20
|
+
readonly signature: Uint8Array;
|
|
21
|
+
/** The original data that was signed. */
|
|
22
|
+
readonly data: Uint8Array;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Sign data using a PQC signature algorithm.
|
|
26
|
+
*
|
|
27
|
+
* @param data - Data to sign
|
|
28
|
+
* @param privateKey - Signer's PQC private key
|
|
29
|
+
* @param algorithm - Signature algorithm (ML-DSA or SLH-DSA)
|
|
30
|
+
* @returns Signed envelope containing signature + original data
|
|
31
|
+
*/
|
|
32
|
+
export declare function signData(data: Uint8Array, privateKey: Uint8Array, algorithm: PqcAlgorithm): Promise<SignedEnvelope>;
|
|
33
|
+
/**
|
|
34
|
+
* Verify a PQC digital signature.
|
|
35
|
+
*
|
|
36
|
+
* @param data - Original data that was signed
|
|
37
|
+
* @param signature - The signature to verify
|
|
38
|
+
* @param publicKey - Signer's PQC public key
|
|
39
|
+
* @param algorithm - Signature algorithm used
|
|
40
|
+
* @returns true if the signature is valid, false otherwise
|
|
41
|
+
*/
|
|
42
|
+
export declare function verifySignature(data: Uint8Array, signature: Uint8Array, publicKey: Uint8Array, algorithm: PqcAlgorithm): Promise<boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* Generate a PQC key pair for signing operations.
|
|
45
|
+
*
|
|
46
|
+
* @param algorithm - Signature algorithm (ML-DSA or SLH-DSA)
|
|
47
|
+
* @returns Key pair with public and private keys
|
|
48
|
+
*/
|
|
49
|
+
export declare function generateSigningKeyPair(algorithm: PqcAlgorithm): Promise<{
|
|
50
|
+
readonly publicKey: Uint8Array;
|
|
51
|
+
readonly privateKey: Uint8Array;
|
|
52
|
+
readonly algorithm: PqcAlgorithm;
|
|
53
|
+
}>;
|
|
54
|
+
/**
|
|
55
|
+
* Generate a PQC key pair for KEM (encryption) operations.
|
|
56
|
+
*
|
|
57
|
+
* @param algorithm - KEM algorithm (kyber-512, kyber-768, kyber-1024)
|
|
58
|
+
* @returns Key pair with public and private keys
|
|
59
|
+
*/
|
|
60
|
+
export declare function generateEncryptionKeyPair(algorithm: PqcAlgorithm): Promise<{
|
|
61
|
+
readonly publicKey: Uint8Array;
|
|
62
|
+
readonly privateKey: Uint8Array;
|
|
63
|
+
readonly algorithm: PqcAlgorithm;
|
|
64
|
+
}>;
|
|
65
|
+
//# sourceMappingURL=sign.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../src/browser/sign.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAsBnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAC7B,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,YAAY,GACrB,OAAO,CAAC,cAAc,CAAC,CA6BzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACpC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,YAAY,GACrB,OAAO,CAAC,OAAO,CAAC,CA4BlB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC;IAC9E,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;CACjC,CAAC,CAWD;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC;IACjF,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;CACjC,CAAC,CAYD"}
|