@labacacia/nps-sdk 1.0.0-alpha.4 → 1.0.0-alpha.6
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.cn.md +2 -73
- package/CHANGELOG.md +2 -82
- package/CONTRIBUTING.cn.md +0 -0
- package/CONTRIBUTING.md +0 -0
- package/LICENSE +0 -0
- package/NOTICE +0 -0
- package/README.cn.md +3 -3
- package/README.md +3 -3
- package/doc/nps-sdk.core.cn.md +0 -0
- package/doc/nps-sdk.core.md +0 -0
- package/doc/nps-sdk.ncp.cn.md +0 -0
- package/doc/nps-sdk.ncp.md +0 -0
- package/doc/nps-sdk.ndp.cn.md +0 -0
- package/doc/nps-sdk.ndp.md +0 -0
- package/doc/nps-sdk.nip.cn.md +30 -0
- package/doc/nps-sdk.nip.md +30 -0
- package/doc/nps-sdk.nop.cn.md +0 -0
- package/doc/nps-sdk.nop.md +0 -0
- package/doc/nps-sdk.nwp.cn.md +71 -0
- package/doc/nps-sdk.nwp.md +71 -0
- package/doc/overview.cn.md +0 -0
- package/doc/overview.md +0 -0
- package/nip-ca-server/Dockerfile +0 -0
- package/nip-ca-server/README.md +1 -1
- package/nip-ca-server/db/001_init.sql +0 -0
- package/nip-ca-server/docker-compose.yml +0 -0
- package/nip-ca-server/package.json +0 -0
- package/nip-ca-server/src/ca.ts +0 -0
- package/nip-ca-server/src/db.ts +0 -0
- package/nip-ca-server/src/index.ts +0 -0
- package/nip-ca-server/tsconfig.json +0 -0
- package/package.json +1 -1
- package/src/core/anchor-cache.ts +0 -0
- package/src/core/cache.ts +0 -0
- package/src/core/canonical-json.ts +0 -0
- package/src/core/codec.ts +0 -0
- package/src/core/codecs/index.ts +0 -0
- package/src/core/codecs/ncp-codec.ts +0 -0
- package/src/core/codecs/tier1-json-codec.ts +0 -0
- package/src/core/codecs/tier2-msgpack-codec.ts +0 -0
- package/src/core/crypto-provider.ts +0 -0
- package/src/core/exceptions.ts +0 -0
- package/src/core/frame-header.ts +0 -0
- package/src/core/frame-registry.ts +0 -0
- package/src/core/frames.ts +0 -0
- package/src/core/index.ts +0 -0
- package/src/core/registry.ts +0 -0
- package/src/core/status-codes.ts +1 -0
- package/src/ncp/frames/anchor-frame.ts +0 -0
- package/src/ncp/frames/caps-frame.ts +0 -0
- package/src/ncp/frames/diff-frame.ts +0 -0
- package/src/ncp/frames/error-frame.ts +0 -0
- package/src/ncp/frames/hello-frame.ts +0 -0
- package/src/ncp/frames/stream-frame.ts +0 -0
- package/src/ncp/frames.ts +0 -0
- package/src/ncp/handshake.ts +0 -0
- package/src/ncp/ncp-patch-format.ts +0 -0
- package/src/ncp/registry.ts +0 -0
- package/src/ncp/stream-manager.ts +0 -0
- package/src/ndp/dns-txt.ts +86 -0
- package/src/ndp/frames.ts +0 -0
- package/src/ndp/index.ts +1 -0
- package/src/ndp/ndp-registry.ts +34 -0
- package/src/ndp/registry.ts +0 -0
- package/src/ndp/validator.ts +0 -0
- package/src/nip/assurance-level.ts +6 -1
- package/src/nip/error-codes.ts +4 -2
- package/src/nip/identity.ts +0 -0
- package/src/nip/registry.ts +0 -0
- package/src/nip/x509/oids.ts +3 -4
- package/src/nop/client.ts +1 -1
- package/src/nop/frames.ts +0 -0
- package/src/nop/index.ts +0 -0
- package/src/nop/models.ts +0 -0
- package/src/nop/nop-types.ts +0 -0
- package/src/nop/registry.ts +0 -0
- package/src/nwp/client.ts +4 -4
- package/src/nwp/frames.ts +0 -0
- package/src/nwp/index.ts +0 -0
- package/src/nwp/registry.ts +0 -0
- package/src/setup.ts +0 -0
- package/tests/core/anchor-cache.test.ts +0 -0
- package/tests/core/codec.test.ts +0 -0
- package/tests/core/frame-registry.test.ts +0 -0
- package/tests/core.test.ts +0 -0
- package/tests/ncp/diff-binary-bitset.test.ts +0 -0
- package/tests/ncp/e2e-enc-reject.test.ts +0 -0
- package/tests/ncp/err-error-frame.test.ts +0 -0
- package/tests/ncp/frames.test.ts +0 -0
- package/tests/ncp/framing.test.ts +0 -0
- package/tests/ncp/hello-frame.test.ts +0 -0
- package/tests/ncp/inline-anchor.test.ts +0 -0
- package/tests/ncp/security.test.ts +0 -0
- package/tests/ncp/stream-window.test.ts +0 -0
- package/tests/ncp/stream.test.ts +0 -0
- package/tests/ncp/version-negotiation.test.ts +0 -0
- package/tests/ndp.test.ts +106 -0
- package/tests/nip.test.ts +0 -0
- package/tests/nop.test.ts +0 -0
- package/tests/nwp.test.ts +0 -0
- package/tsconfig.json +0 -0
- package/tsup.config.ts +0 -0
- package/vitest.config.ts +0 -0
- package/dist/core/anchor-cache.d.ts +0 -42
- package/dist/core/anchor-cache.d.ts.map +0 -1
- package/dist/core/anchor-cache.js +0 -104
- package/dist/core/anchor-cache.js.map +0 -1
- package/dist/core/cache.d.ts +0 -14
- package/dist/core/cache.d.ts.map +0 -1
- package/dist/core/cache.js +0 -80
- package/dist/core/cache.js.map +0 -1
- package/dist/core/canonical-json.d.ts +0 -12
- package/dist/core/canonical-json.d.ts.map +0 -1
- package/dist/core/canonical-json.js +0 -44
- package/dist/core/canonical-json.js.map +0 -1
- package/dist/core/codec.d.ts +0 -32
- package/dist/core/codec.d.ts.map +0 -1
- package/dist/core/codec.js +0 -119
- package/dist/core/codec.js.map +0 -1
- package/dist/core/codecs/index.d.ts +0 -4
- package/dist/core/codecs/index.d.ts.map +0 -1
- package/dist/core/codecs/index.js +0 -6
- package/dist/core/codecs/index.js.map +0 -1
- package/dist/core/codecs/ncp-codec.d.ts +0 -39
- package/dist/core/codecs/ncp-codec.d.ts.map +0 -1
- package/dist/core/codecs/ncp-codec.js +0 -93
- package/dist/core/codecs/ncp-codec.js.map +0 -1
- package/dist/core/codecs/tier1-json-codec.d.ts +0 -10
- package/dist/core/codecs/tier1-json-codec.d.ts.map +0 -1
- package/dist/core/codecs/tier1-json-codec.js +0 -28
- package/dist/core/codecs/tier1-json-codec.js.map +0 -1
- package/dist/core/codecs/tier2-msgpack-codec.d.ts +0 -10
- package/dist/core/codecs/tier2-msgpack-codec.d.ts.map +0 -1
- package/dist/core/codecs/tier2-msgpack-codec.js +0 -26
- package/dist/core/codecs/tier2-msgpack-codec.js.map +0 -1
- package/dist/core/crypto-provider.d.ts +0 -31
- package/dist/core/crypto-provider.d.ts.map +0 -1
- package/dist/core/crypto-provider.js +0 -10
- package/dist/core/crypto-provider.js.map +0 -1
- package/dist/core/exceptions.d.ts +0 -27
- package/dist/core/exceptions.d.ts.map +0 -1
- package/dist/core/exceptions.js +0 -52
- package/dist/core/exceptions.js.map +0 -1
- package/dist/core/frame-header.d.ts +0 -87
- package/dist/core/frame-header.d.ts.map +0 -1
- package/dist/core/frame-header.js +0 -185
- package/dist/core/frame-header.js.map +0 -1
- package/dist/core/frame-registry.d.ts +0 -35
- package/dist/core/frame-registry.d.ts.map +0 -1
- package/dist/core/frame-registry.js +0 -63
- package/dist/core/frame-registry.js.map +0 -1
- package/dist/core/frames.d.ts +0 -81
- package/dist/core/frames.d.ts.map +0 -1
- package/dist/core/frames.js +0 -154
- package/dist/core/frames.js.map +0 -1
- package/dist/core/index.d.ts +0 -11
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -22
- package/dist/core/index.js.map +0 -1
- package/dist/core/registry.d.ts +0 -11
- package/dist/core/registry.d.ts.map +0 -1
- package/dist/core/registry.js +0 -17
- package/dist/core/registry.js.map +0 -1
- package/dist/core/status-codes.d.ts +0 -28
- package/dist/core/status-codes.d.ts.map +0 -1
- package/dist/core/status-codes.js +0 -38
- package/dist/core/status-codes.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -10
- package/dist/index.js.map +0 -1
- package/dist/ncp/frames/anchor-frame.d.ts +0 -29
- package/dist/ncp/frames/anchor-frame.d.ts.map +0 -1
- package/dist/ncp/frames/anchor-frame.js +0 -54
- package/dist/ncp/frames/anchor-frame.js.map +0 -1
- package/dist/ncp/frames/caps-frame.d.ts +0 -29
- package/dist/ncp/frames/caps-frame.d.ts.map +0 -1
- package/dist/ncp/frames/caps-frame.js +0 -29
- package/dist/ncp/frames/caps-frame.js.map +0 -1
- package/dist/ncp/frames/diff-frame.d.ts +0 -32
- package/dist/ncp/frames/diff-frame.d.ts.map +0 -1
- package/dist/ncp/frames/diff-frame.js +0 -37
- package/dist/ncp/frames/diff-frame.js.map +0 -1
- package/dist/ncp/frames/error-frame.d.ts +0 -16
- package/dist/ncp/frames/error-frame.d.ts.map +0 -1
- package/dist/ncp/frames/error-frame.js +0 -13
- package/dist/ncp/frames/error-frame.js.map +0 -1
- package/dist/ncp/frames/hello-frame.d.ts +0 -21
- package/dist/ncp/frames/hello-frame.d.ts.map +0 -1
- package/dist/ncp/frames/hello-frame.js +0 -25
- package/dist/ncp/frames/hello-frame.js.map +0 -1
- package/dist/ncp/frames/stream-frame.d.ts +0 -16
- package/dist/ncp/frames/stream-frame.d.ts.map +0 -1
- package/dist/ncp/frames/stream-frame.js +0 -18
- package/dist/ncp/frames/stream-frame.js.map +0 -1
- package/dist/ncp/frames.d.ts +0 -94
- package/dist/ncp/frames.d.ts.map +0 -1
- package/dist/ncp/frames.js +0 -192
- package/dist/ncp/frames.js.map +0 -1
- package/dist/ncp/handshake.d.ts +0 -30
- package/dist/ncp/handshake.d.ts.map +0 -1
- package/dist/ncp/handshake.js +0 -80
- package/dist/ncp/handshake.js.map +0 -1
- package/dist/ncp/index.d.ts +0 -12
- package/dist/ncp/index.d.ts.map +0 -1
- package/dist/ncp/index.js +0 -14
- package/dist/ncp/index.js.map +0 -1
- package/dist/ncp/ncp-error-codes.d.ts +0 -23
- package/dist/ncp/ncp-error-codes.d.ts.map +0 -1
- package/dist/ncp/ncp-error-codes.js +0 -34
- package/dist/ncp/ncp-error-codes.js.map +0 -1
- package/dist/ncp/ncp-patch-format.d.ts +0 -7
- package/dist/ncp/ncp-patch-format.d.ts.map +0 -1
- package/dist/ncp/ncp-patch-format.js +0 -13
- package/dist/ncp/ncp-patch-format.js.map +0 -1
- package/dist/ncp/preamble.d.ts +0 -47
- package/dist/ncp/preamble.d.ts.map +0 -1
- package/dist/ncp/preamble.js +0 -74
- package/dist/ncp/preamble.js.map +0 -1
- package/dist/ncp/registry.d.ts +0 -3
- package/dist/ncp/registry.d.ts.map +0 -1
- package/dist/ncp/registry.js +0 -13
- package/dist/ncp/registry.js.map +0 -1
- package/dist/ncp/stream-manager.d.ts +0 -57
- package/dist/ncp/stream-manager.d.ts.map +0 -1
- package/dist/ncp/stream-manager.js +0 -163
- package/dist/ncp/stream-manager.js.map +0 -1
- package/dist/ndp/frames.d.ts +0 -56
- package/dist/ndp/frames.d.ts.map +0 -1
- package/dist/ndp/frames.js +0 -87
- package/dist/ndp/frames.js.map +0 -1
- package/dist/ndp/index.d.ts +0 -5
- package/dist/ndp/index.d.ts.map +0 -1
- package/dist/ndp/index.js +0 -7
- package/dist/ndp/index.js.map +0 -1
- package/dist/ndp/ndp-registry.d.ts +0 -11
- package/dist/ndp/ndp-registry.d.ts.map +0 -1
- package/dist/ndp/ndp-registry.js +0 -79
- package/dist/ndp/ndp-registry.js.map +0 -1
- package/dist/ndp/registry.d.ts +0 -3
- package/dist/ndp/registry.d.ts.map +0 -1
- package/dist/ndp/registry.js +0 -10
- package/dist/ndp/registry.js.map +0 -1
- package/dist/ndp/validator.d.ts +0 -18
- package/dist/ndp/validator.d.ts.map +0 -1
- package/dist/ndp/validator.js +0 -48
- package/dist/ndp/validator.js.map +0 -1
- package/dist/nip/acme/client.d.ts +0 -31
- package/dist/nip/acme/client.d.ts.map +0 -1
- package/dist/nip/acme/client.js +0 -136
- package/dist/nip/acme/client.js.map +0 -1
- package/dist/nip/acme/index.d.ts +0 -6
- package/dist/nip/acme/index.d.ts.map +0 -1
- package/dist/nip/acme/index.js +0 -8
- package/dist/nip/acme/index.js.map +0 -1
- package/dist/nip/acme/jws.d.ts +0 -31
- package/dist/nip/acme/jws.d.ts.map +0 -1
- package/dist/nip/acme/jws.js +0 -76
- package/dist/nip/acme/jws.js.map +0 -1
- package/dist/nip/acme/messages.d.ts +0 -71
- package/dist/nip/acme/messages.d.ts.map +0 -1
- package/dist/nip/acme/messages.js +0 -4
- package/dist/nip/acme/messages.js.map +0 -1
- package/dist/nip/acme/server.d.ts +0 -41
- package/dist/nip/acme/server.d.ts.map +0 -1
- package/dist/nip/acme/server.js +0 -458
- package/dist/nip/acme/server.js.map +0 -1
- package/dist/nip/acme/wire.d.ts +0 -19
- package/dist/nip/acme/wire.d.ts.map +0 -1
- package/dist/nip/acme/wire.js +0 -21
- package/dist/nip/acme/wire.js.map +0 -1
- package/dist/nip/assurance-level.d.ts +0 -14
- package/dist/nip/assurance-level.d.ts.map +0 -1
- package/dist/nip/assurance-level.js +0 -33
- package/dist/nip/assurance-level.js.map +0 -1
- package/dist/nip/cert-format.d.ts +0 -5
- package/dist/nip/cert-format.d.ts.map +0 -1
- package/dist/nip/cert-format.js +0 -6
- package/dist/nip/cert-format.js.map +0 -1
- package/dist/nip/error-codes.d.ts +0 -23
- package/dist/nip/error-codes.d.ts.map +0 -1
- package/dist/nip/error-codes.js +0 -30
- package/dist/nip/error-codes.js.map +0 -1
- package/dist/nip/frames.d.ts +0 -53
- package/dist/nip/frames.d.ts.map +0 -1
- package/dist/nip/frames.js +0 -106
- package/dist/nip/frames.js.map +0 -1
- package/dist/nip/identity.d.ts +0 -18
- package/dist/nip/identity.d.ts.map +0 -1
- package/dist/nip/identity.js +0 -94
- package/dist/nip/identity.js.map +0 -1
- package/dist/nip/index.d.ts +0 -10
- package/dist/nip/index.d.ts.map +0 -1
- package/dist/nip/index.js +0 -13
- package/dist/nip/index.js.map +0 -1
- package/dist/nip/registry.d.ts +0 -3
- package/dist/nip/registry.d.ts.map +0 -1
- package/dist/nip/registry.js +0 -10
- package/dist/nip/registry.js.map +0 -1
- package/dist/nip/verifier.d.ts +0 -23
- package/dist/nip/verifier.d.ts.map +0 -1
- package/dist/nip/verifier.js +0 -90
- package/dist/nip/verifier.js.map +0 -1
- package/dist/nip/x509/builder.d.ts +0 -35
- package/dist/nip/x509/builder.d.ts.map +0 -1
- package/dist/nip/x509/builder.js +0 -59
- package/dist/nip/x509/builder.js.map +0 -1
- package/dist/nip/x509/index.d.ts +0 -4
- package/dist/nip/x509/index.d.ts.map +0 -1
- package/dist/nip/x509/index.js +0 -6
- package/dist/nip/x509/index.js.map +0 -1
- package/dist/nip/x509/oids.d.ts +0 -17
- package/dist/nip/x509/oids.d.ts.map +0 -1
- package/dist/nip/x509/oids.js +0 -23
- package/dist/nip/x509/oids.js.map +0 -1
- package/dist/nip/x509/verifier.d.ts +0 -26
- package/dist/nip/x509/verifier.d.ts.map +0 -1
- package/dist/nip/x509/verifier.js +0 -171
- package/dist/nip/x509/verifier.js.map +0 -1
- package/dist/nop/client.d.ts +0 -34
- package/dist/nop/client.d.ts.map +0 -1
- package/dist/nop/client.js +0 -90
- package/dist/nop/client.js.map +0 -1
- package/dist/nop/frames.d.ts +0 -65
- package/dist/nop/frames.d.ts.map +0 -1
- package/dist/nop/frames.js +0 -148
- package/dist/nop/frames.js.map +0 -1
- package/dist/nop/index.d.ts +0 -5
- package/dist/nop/index.d.ts.map +0 -1
- package/dist/nop/index.js +0 -7
- package/dist/nop/index.js.map +0 -1
- package/dist/nop/models.d.ts +0 -58
- package/dist/nop/models.d.ts.map +0 -1
- package/dist/nop/models.js +0 -50
- package/dist/nop/models.js.map +0 -1
- package/dist/nop/nop-types.d.ts +0 -136
- package/dist/nop/nop-types.d.ts.map +0 -1
- package/dist/nop/nop-types.js +0 -44
- package/dist/nop/nop-types.js.map +0 -1
- package/dist/nop/registry.d.ts +0 -3
- package/dist/nop/registry.d.ts.map +0 -1
- package/dist/nop/registry.js +0 -11
- package/dist/nop/registry.js.map +0 -1
- package/dist/nwp/client.d.ts +0 -22
- package/dist/nwp/client.d.ts.map +0 -1
- package/dist/nwp/client.js +0 -101
- package/dist/nwp/client.js.map +0 -1
- package/dist/nwp/frames.d.ts +0 -46
- package/dist/nwp/frames.d.ts.map +0 -1
- package/dist/nwp/frames.js +0 -81
- package/dist/nwp/frames.js.map +0 -1
- package/dist/nwp/index.d.ts +0 -4
- package/dist/nwp/index.d.ts.map +0 -1
- package/dist/nwp/index.js +0 -6
- package/dist/nwp/index.js.map +0 -1
- package/dist/nwp/registry.d.ts +0 -3
- package/dist/nwp/registry.d.ts.map +0 -1
- package/dist/nwp/registry.js +0 -9
- package/dist/nwp/registry.js.map +0 -1
- package/dist/setup.d.ts +0 -10
- package/dist/setup.d.ts.map +0 -1
- package/dist/setup.js +0 -29
- package/dist/setup.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cert-format.d.ts","sourceRoot":"","sources":["../../src/nip/cert-format.ts"],"names":[],"mappings":"AAGA,4EAA4E;AAE5E,eAAO,MAAM,cAAc,EAAG,gBAAyB,CAAC;AACxD,eAAO,MAAM,OAAO,EAAU,SAAyB,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG,OAAO,cAAc,GAAG,OAAO,OAAO,CAAC"}
|
package/dist/nip/cert-format.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 INNO LOTUS PTY LTD
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
/** Wire-form constants for `IdentFrame.cert_format` (NPS-RFC-0002 §4.5). */
|
|
4
|
-
export const V1_PROPRIETARY = "v1-proprietary";
|
|
5
|
-
export const V2_X509 = "v2-x509";
|
|
6
|
-
//# sourceMappingURL=cert-format.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cert-format.js","sourceRoot":"","sources":["../../src/nip/cert-format.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,4EAA4E;AAE5E,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAyB,CAAC;AACxD,MAAM,CAAC,MAAM,OAAO,GAAU,SAAyB,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/** NIP error code wire constants — mirror of `spec/error-codes.md` NIP section. */
|
|
2
|
-
export declare const CERT_EXPIRED = "NIP-CERT-EXPIRED";
|
|
3
|
-
export declare const CERT_REVOKED = "NIP-CERT-REVOKED";
|
|
4
|
-
export declare const CERT_SIGNATURE_INVALID = "NIP-CERT-SIGNATURE-INVALID";
|
|
5
|
-
export declare const CERT_UNTRUSTED_ISSUER = "NIP-CERT-UNTRUSTED-ISSUER";
|
|
6
|
-
export declare const CERT_CAPABILITY_MISSING = "NIP-CERT-CAPABILITY-MISSING";
|
|
7
|
-
export declare const CERT_SCOPE_VIOLATION = "NIP-CERT-SCOPE-VIOLATION";
|
|
8
|
-
export declare const CA_NID_NOT_FOUND = "NIP-CA-NID-NOT-FOUND";
|
|
9
|
-
export declare const CA_NID_ALREADY_EXISTS = "NIP-CA-NID-ALREADY-EXISTS";
|
|
10
|
-
export declare const CA_SERIAL_DUPLICATE = "NIP-CA-SERIAL-DUPLICATE";
|
|
11
|
-
export declare const CA_RENEWAL_TOO_EARLY = "NIP-CA-RENEWAL-TOO-EARLY";
|
|
12
|
-
export declare const CA_SCOPE_EXPANSION_DENIED = "NIP-CA-SCOPE-EXPANSION-DENIED";
|
|
13
|
-
export declare const OCSP_UNAVAILABLE = "NIP-OCSP-UNAVAILABLE";
|
|
14
|
-
export declare const TRUST_FRAME_INVALID = "NIP-TRUST-FRAME-INVALID";
|
|
15
|
-
export declare const ASSURANCE_MISMATCH = "NIP-ASSURANCE-MISMATCH";
|
|
16
|
-
export declare const ASSURANCE_UNKNOWN = "NIP-ASSURANCE-UNKNOWN";
|
|
17
|
-
export declare const REPUTATION_ENTRY_INVALID = "NIP-REPUTATION-ENTRY-INVALID";
|
|
18
|
-
export declare const REPUTATION_LOG_UNREACHABLE = "NIP-REPUTATION-LOG-UNREACHABLE";
|
|
19
|
-
export declare const CERT_FORMAT_INVALID = "NIP-CERT-FORMAT-INVALID";
|
|
20
|
-
export declare const CERT_EKU_MISSING = "NIP-CERT-EKU-MISSING";
|
|
21
|
-
export declare const CERT_SUBJECT_NID_MISMATCH = "NIP-CERT-SUBJECT-NID-MISMATCH";
|
|
22
|
-
export declare const ACME_CHALLENGE_FAILED = "NIP-ACME-CHALLENGE-FAILED";
|
|
23
|
-
//# sourceMappingURL=error-codes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/nip/error-codes.ts"],"names":[],"mappings":"AAGA,mFAAmF;AAGnF,eAAO,MAAM,YAAY,qBAAgC,CAAC;AAC1D,eAAO,MAAM,YAAY,qBAAgC,CAAC;AAC1D,eAAO,MAAM,sBAAsB,+BAAgC,CAAC;AACpE,eAAO,MAAM,qBAAqB,8BAAgC,CAAC;AACnE,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AACrE,eAAO,MAAM,oBAAoB,6BAAgC,CAAC;AAGlE,eAAO,MAAM,gBAAgB,yBAAkC,CAAC;AAChE,eAAO,MAAM,qBAAqB,8BAAkC,CAAC;AACrE,eAAO,MAAM,mBAAmB,4BAAkC,CAAC;AACnE,eAAO,MAAM,oBAAoB,6BAAkC,CAAC;AACpE,eAAO,MAAM,yBAAyB,kCAAkC,CAAC;AAEzE,eAAO,MAAM,gBAAgB,yBAA6B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,4BAA6B,CAAC;AAG9D,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAC3D,eAAO,MAAM,iBAAiB,0BAA2B,CAAC;AAG1D,eAAO,MAAM,wBAAwB,iCAAoC,CAAC;AAC1E,eAAO,MAAM,0BAA0B,mCAAoC,CAAC;AAG5E,eAAO,MAAM,mBAAmB,4BAAkC,CAAC;AACnE,eAAO,MAAM,gBAAgB,yBAAkC,CAAC;AAChE,eAAO,MAAM,yBAAyB,kCAAkC,CAAC;AACzE,eAAO,MAAM,qBAAqB,8BAAkC,CAAC"}
|
package/dist/nip/error-codes.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 INNO LOTUS PTY LTD
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
/** NIP error code wire constants — mirror of `spec/error-codes.md` NIP section. */
|
|
4
|
-
// ── Cert verification (v1 + v2) ──────────────────────────────────────────────
|
|
5
|
-
export const CERT_EXPIRED = "NIP-CERT-EXPIRED";
|
|
6
|
-
export const CERT_REVOKED = "NIP-CERT-REVOKED";
|
|
7
|
-
export const CERT_SIGNATURE_INVALID = "NIP-CERT-SIGNATURE-INVALID";
|
|
8
|
-
export const CERT_UNTRUSTED_ISSUER = "NIP-CERT-UNTRUSTED-ISSUER";
|
|
9
|
-
export const CERT_CAPABILITY_MISSING = "NIP-CERT-CAPABILITY-MISSING";
|
|
10
|
-
export const CERT_SCOPE_VIOLATION = "NIP-CERT-SCOPE-VIOLATION";
|
|
11
|
-
// ── CA service ───────────────────────────────────────────────────────────────
|
|
12
|
-
export const CA_NID_NOT_FOUND = "NIP-CA-NID-NOT-FOUND";
|
|
13
|
-
export const CA_NID_ALREADY_EXISTS = "NIP-CA-NID-ALREADY-EXISTS";
|
|
14
|
-
export const CA_SERIAL_DUPLICATE = "NIP-CA-SERIAL-DUPLICATE";
|
|
15
|
-
export const CA_RENEWAL_TOO_EARLY = "NIP-CA-RENEWAL-TOO-EARLY";
|
|
16
|
-
export const CA_SCOPE_EXPANSION_DENIED = "NIP-CA-SCOPE-EXPANSION-DENIED";
|
|
17
|
-
export const OCSP_UNAVAILABLE = "NIP-OCSP-UNAVAILABLE";
|
|
18
|
-
export const TRUST_FRAME_INVALID = "NIP-TRUST-FRAME-INVALID";
|
|
19
|
-
// ── RFC-0003 (assurance level) ───────────────────────────────────────────────
|
|
20
|
-
export const ASSURANCE_MISMATCH = "NIP-ASSURANCE-MISMATCH";
|
|
21
|
-
export const ASSURANCE_UNKNOWN = "NIP-ASSURANCE-UNKNOWN";
|
|
22
|
-
// ── RFC-0004 (reputation log) ────────────────────────────────────────────────
|
|
23
|
-
export const REPUTATION_ENTRY_INVALID = "NIP-REPUTATION-ENTRY-INVALID";
|
|
24
|
-
export const REPUTATION_LOG_UNREACHABLE = "NIP-REPUTATION-LOG-UNREACHABLE";
|
|
25
|
-
// ── RFC-0002 (X.509 + ACME) ──────────────────────────────────────────────────
|
|
26
|
-
export const CERT_FORMAT_INVALID = "NIP-CERT-FORMAT-INVALID";
|
|
27
|
-
export const CERT_EKU_MISSING = "NIP-CERT-EKU-MISSING";
|
|
28
|
-
export const CERT_SUBJECT_NID_MISMATCH = "NIP-CERT-SUBJECT-NID-MISMATCH";
|
|
29
|
-
export const ACME_CHALLENGE_FAILED = "NIP-ACME-CHALLENGE-FAILED";
|
|
30
|
-
//# sourceMappingURL=error-codes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../src/nip/error-codes.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,mFAAmF;AAEnF,gFAAgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAc,kBAAkB,CAAC;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAc,kBAAkB,CAAC;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAI,4BAA4B,CAAC;AACpE,MAAM,CAAC,MAAM,qBAAqB,GAAK,2BAA2B,CAAC;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAM,0BAA0B,CAAC;AAElE,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAY,sBAAsB,CAAC;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAO,2BAA2B,CAAC;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAS,yBAAyB,CAAC;AACnE,MAAM,CAAC,MAAM,oBAAoB,GAAQ,0BAA0B,CAAC;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,CAAC;AAEzE,MAAM,CAAC,MAAM,gBAAgB,GAAO,sBAAsB,CAAC;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAI,yBAAyB,CAAC;AAE9D,gFAAgF;AAChF,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAC3D,MAAM,CAAC,MAAM,iBAAiB,GAAI,uBAAuB,CAAC;AAE1D,gFAAgF;AAChF,MAAM,CAAC,MAAM,wBAAwB,GAAM,8BAA8B,CAAC;AAC1E,MAAM,CAAC,MAAM,0BAA0B,GAAI,gCAAgC,CAAC;AAE5E,gFAAgF;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAS,yBAAyB,CAAC;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAY,sBAAsB,CAAC;AAChE,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,CAAC;AACzE,MAAM,CAAC,MAAM,qBAAqB,GAAO,2BAA2B,CAAC"}
|
package/dist/nip/frames.d.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { EncodingTier, FrameType } from "../core/frames.js";
|
|
2
|
-
import type { NpsFrame } from "../core/codec.js";
|
|
3
|
-
import { AssuranceLevel } from "./assurance-level.js";
|
|
4
|
-
export interface IdentMetadata {
|
|
5
|
-
issuer: string;
|
|
6
|
-
issuedAt: string;
|
|
7
|
-
expiresAt?: string;
|
|
8
|
-
capabilities?: readonly string[];
|
|
9
|
-
scopes?: readonly string[];
|
|
10
|
-
}
|
|
11
|
-
export interface IdentFrameOptions {
|
|
12
|
-
assuranceLevel?: AssuranceLevel | null;
|
|
13
|
-
certFormat?: string | null;
|
|
14
|
-
certChain?: readonly string[] | null;
|
|
15
|
-
}
|
|
16
|
-
export declare class IdentFrame implements NpsFrame {
|
|
17
|
-
readonly nid: string;
|
|
18
|
-
readonly pubKey: string;
|
|
19
|
-
readonly metadata: IdentMetadata;
|
|
20
|
-
readonly signature: string;
|
|
21
|
-
readonly frameType = FrameType.IDENT;
|
|
22
|
-
readonly preferredTier = EncodingTier.MSGPACK;
|
|
23
|
-
readonly assuranceLevel: AssuranceLevel | null;
|
|
24
|
-
readonly certFormat: string | null;
|
|
25
|
-
readonly certChain: readonly string[] | null;
|
|
26
|
-
constructor(nid: string, pubKey: string, metadata: IdentMetadata, signature: string, options?: IdentFrameOptions);
|
|
27
|
-
unsignedDict(): Record<string, unknown>;
|
|
28
|
-
toDict(): Record<string, unknown>;
|
|
29
|
-
static fromDict(data: Record<string, unknown>): IdentFrame;
|
|
30
|
-
}
|
|
31
|
-
export declare class TrustFrame implements NpsFrame {
|
|
32
|
-
readonly issuerNid: string;
|
|
33
|
-
readonly subjectNid: string;
|
|
34
|
-
readonly scopes: readonly string[];
|
|
35
|
-
readonly expiresAt: string;
|
|
36
|
-
readonly signature: string;
|
|
37
|
-
readonly frameType = FrameType.TRUST;
|
|
38
|
-
readonly preferredTier = EncodingTier.MSGPACK;
|
|
39
|
-
constructor(issuerNid: string, subjectNid: string, scopes: readonly string[], expiresAt: string, signature: string);
|
|
40
|
-
toDict(): Record<string, unknown>;
|
|
41
|
-
static fromDict(data: Record<string, unknown>): TrustFrame;
|
|
42
|
-
}
|
|
43
|
-
export declare class RevokeFrame implements NpsFrame {
|
|
44
|
-
readonly nid: string;
|
|
45
|
-
readonly reason?: string | undefined;
|
|
46
|
-
readonly revokedAt?: string | undefined;
|
|
47
|
-
readonly frameType = FrameType.REVOKE;
|
|
48
|
-
readonly preferredTier = EncodingTier.MSGPACK;
|
|
49
|
-
constructor(nid: string, reason?: string | undefined, revokedAt?: string | undefined);
|
|
50
|
-
toDict(): Record<string, unknown>;
|
|
51
|
-
static fromDict(data: Record<string, unknown>): RevokeFrame;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=frames.d.ts.map
|
package/dist/nip/frames.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../src/nip/frames.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAQ,MAAM,CAAC;IACrB,QAAQ,EAAM,MAAM,CAAC;IACrB,SAAS,CAAC,EAAI,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,MAAM,CAAC,EAAQ,SAAS,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,UAAU,CAAC,EAAM,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAO,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CAC3C;AAED,qBAAa,UAAW,YAAW,QAAQ;aASvB,GAAG,EAAQ,MAAM;aACjB,MAAM,EAAK,MAAM;aACjB,QAAQ,EAAG,aAAa;aACxB,SAAS,EAAE,MAAM;IAXnC,QAAQ,CAAC,SAAS,mBAAuB;IACzC,QAAQ,CAAC,aAAa,wBAAwB;IAE9C,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAM,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAO,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;gBAGhC,GAAG,EAAQ,MAAM,EACjB,MAAM,EAAK,MAAM,EACjB,QAAQ,EAAG,aAAa,EACxB,SAAS,EAAE,MAAM,EACjC,OAAO,GAAqB,iBAAsB;IAOpD,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAYvC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOjC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU;CAiB3D;AAED,qBAAa,UAAW,YAAW,QAAQ;aAKvB,SAAS,EAAG,MAAM;aAClB,UAAU,EAAE,MAAM;aAClB,MAAM,EAAM,SAAS,MAAM,EAAE;aAC7B,SAAS,EAAG,MAAM;aAClB,SAAS,EAAG,MAAM;IARpC,QAAQ,CAAC,SAAS,mBAAuB;IACzC,QAAQ,CAAC,aAAa,wBAAwB;gBAG5B,SAAS,EAAG,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAM,SAAS,MAAM,EAAE,EAC7B,SAAS,EAAG,MAAM,EAClB,SAAS,EAAG,MAAM;IAGpC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUjC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU;CAS3D;AAED,qBAAa,WAAY,YAAW,QAAQ;aAKxB,GAAG,EAAQ,MAAM;aACjB,MAAM,CAAC,EAAI,MAAM;aACjB,SAAS,CAAC,EAAE,MAAM;IANpC,QAAQ,CAAC,SAAS,oBAAwB;IAC1C,QAAQ,CAAC,aAAa,wBAAwB;gBAG5B,GAAG,EAAQ,MAAM,EACjB,MAAM,CAAC,EAAI,MAAM,YAAA,EACjB,SAAS,CAAC,EAAE,MAAM,YAAA;IAGpC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQjC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;CAO5D"}
|
package/dist/nip/frames.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 INNO LOTUS PTY LTD
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
import { EncodingTier, FrameType } from "../core/frames.js";
|
|
4
|
-
import { AssuranceLevel } from "./assurance-level.js";
|
|
5
|
-
export class IdentFrame {
|
|
6
|
-
nid;
|
|
7
|
-
pubKey;
|
|
8
|
-
metadata;
|
|
9
|
-
signature;
|
|
10
|
-
frameType = FrameType.IDENT;
|
|
11
|
-
preferredTier = EncodingTier.MSGPACK;
|
|
12
|
-
assuranceLevel;
|
|
13
|
-
certFormat;
|
|
14
|
-
certChain;
|
|
15
|
-
constructor(nid, pubKey, metadata, signature, options = {}) {
|
|
16
|
-
this.nid = nid;
|
|
17
|
-
this.pubKey = pubKey;
|
|
18
|
-
this.metadata = metadata;
|
|
19
|
-
this.signature = signature;
|
|
20
|
-
this.assuranceLevel = options.assuranceLevel ?? null;
|
|
21
|
-
this.certFormat = options.certFormat ?? null;
|
|
22
|
-
this.certChain = options.certChain ?? null;
|
|
23
|
-
}
|
|
24
|
-
unsignedDict() {
|
|
25
|
-
const out = {
|
|
26
|
-
nid: this.nid,
|
|
27
|
-
pub_key: this.pubKey,
|
|
28
|
-
metadata: this.metadata,
|
|
29
|
-
};
|
|
30
|
-
if (this.assuranceLevel !== null)
|
|
31
|
-
out["assurance_level"] = this.assuranceLevel.wire;
|
|
32
|
-
// cert_format / cert_chain deliberately excluded from the signed payload —
|
|
33
|
-
// the v1 Ed25519 signature covers only (nid, pub_key, metadata, [assurance_level]).
|
|
34
|
-
return out;
|
|
35
|
-
}
|
|
36
|
-
toDict() {
|
|
37
|
-
const out = { ...this.unsignedDict(), signature: this.signature };
|
|
38
|
-
if (this.certFormat !== null)
|
|
39
|
-
out["cert_format"] = this.certFormat;
|
|
40
|
-
if (this.certChain !== null)
|
|
41
|
-
out["cert_chain"] = [...this.certChain];
|
|
42
|
-
return out;
|
|
43
|
-
}
|
|
44
|
-
static fromDict(data) {
|
|
45
|
-
const lvl = data["assurance_level"];
|
|
46
|
-
const assuranceLevel = typeof lvl === "string" ? AssuranceLevel.fromWire(lvl) : null;
|
|
47
|
-
const chainRaw = data["cert_chain"];
|
|
48
|
-
const certChain = Array.isArray(chainRaw) ? chainRaw : null;
|
|
49
|
-
return new IdentFrame(data["nid"], data["pub_key"], data["metadata"], data["signature"], {
|
|
50
|
-
assuranceLevel,
|
|
51
|
-
certFormat: data["cert_format"] ?? null,
|
|
52
|
-
certChain,
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
export class TrustFrame {
|
|
57
|
-
issuerNid;
|
|
58
|
-
subjectNid;
|
|
59
|
-
scopes;
|
|
60
|
-
expiresAt;
|
|
61
|
-
signature;
|
|
62
|
-
frameType = FrameType.TRUST;
|
|
63
|
-
preferredTier = EncodingTier.MSGPACK;
|
|
64
|
-
constructor(issuerNid, subjectNid, scopes, expiresAt, signature) {
|
|
65
|
-
this.issuerNid = issuerNid;
|
|
66
|
-
this.subjectNid = subjectNid;
|
|
67
|
-
this.scopes = scopes;
|
|
68
|
-
this.expiresAt = expiresAt;
|
|
69
|
-
this.signature = signature;
|
|
70
|
-
}
|
|
71
|
-
toDict() {
|
|
72
|
-
return {
|
|
73
|
-
issuer_nid: this.issuerNid,
|
|
74
|
-
subject_nid: this.subjectNid,
|
|
75
|
-
scopes: this.scopes,
|
|
76
|
-
expires_at: this.expiresAt,
|
|
77
|
-
signature: this.signature,
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
static fromDict(data) {
|
|
81
|
-
return new TrustFrame(data["issuer_nid"], data["subject_nid"], data["scopes"], data["expires_at"], data["signature"]);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
export class RevokeFrame {
|
|
85
|
-
nid;
|
|
86
|
-
reason;
|
|
87
|
-
revokedAt;
|
|
88
|
-
frameType = FrameType.REVOKE;
|
|
89
|
-
preferredTier = EncodingTier.MSGPACK;
|
|
90
|
-
constructor(nid, reason, revokedAt) {
|
|
91
|
-
this.nid = nid;
|
|
92
|
-
this.reason = reason;
|
|
93
|
-
this.revokedAt = revokedAt;
|
|
94
|
-
}
|
|
95
|
-
toDict() {
|
|
96
|
-
return {
|
|
97
|
-
nid: this.nid,
|
|
98
|
-
reason: this.reason ?? null,
|
|
99
|
-
revoked_at: this.revokedAt ?? null,
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
static fromDict(data) {
|
|
103
|
-
return new RevokeFrame(data["nid"], data["reason"] ?? undefined, data["revoked_at"] ?? undefined);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=frames.js.map
|
package/dist/nip/frames.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frames.js","sourceRoot":"","sources":["../../src/nip/frames.ts"],"names":[],"mappings":"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"}
|
package/dist/nip/identity.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export declare class NipIdentity {
|
|
2
|
-
private readonly _privKey;
|
|
3
|
-
readonly pubKey: Uint8Array;
|
|
4
|
-
private constructor();
|
|
5
|
-
static generate(): NipIdentity;
|
|
6
|
-
static fromPrivateKey(privKey: Uint8Array): NipIdentity;
|
|
7
|
-
/** Load from an AES-256-GCM encrypted key file. */
|
|
8
|
-
static load(path: string, passphrase: string): NipIdentity;
|
|
9
|
-
/** Save to an AES-256-GCM encrypted key file. */
|
|
10
|
-
save(path: string, passphrase: string): void;
|
|
11
|
-
/** Sign a dict payload. Returns `ed25519:<base64url>`. */
|
|
12
|
-
sign(payload: Record<string, unknown>): string;
|
|
13
|
-
/** Verify a signature string against a dict payload. */
|
|
14
|
-
verify(payload: Record<string, unknown>, signature: string): boolean;
|
|
15
|
-
/** Public key as `ed25519:<hex>` string. */
|
|
16
|
-
get pubKeyString(): string;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/nip/identity.ts"],"names":[],"mappings":"AA8BA,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACR,MAAM,EAAI,UAAU;IAFvC,OAAO;IAOP,MAAM,CAAC,QAAQ,IAAI,WAAW;IAM9B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW;IAKvD,mDAAmD;IACnD,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW;IAgB1D,iDAAiD;IACjD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAoB5C,0DAA0D;IAC1D,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAO9C,wDAAwD;IACxD,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAYpE,4CAA4C;IAC5C,IAAI,YAAY,IAAI,MAAM,CAEzB;CACF"}
|
package/dist/nip/identity.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 INNO LOTUS PTY LTD
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
/**
|
|
4
|
-
* NipIdentity — Ed25519 key management and signing for NPS NID identity.
|
|
5
|
-
* Uses @noble/ed25519 for signing; node:crypto for key storage encryption.
|
|
6
|
-
*/
|
|
7
|
-
import * as ed25519 from "@noble/ed25519";
|
|
8
|
-
import { sha512 } from "@noble/hashes/sha512";
|
|
9
|
-
import { createCipheriv, createDecipheriv, pbkdf2Sync, randomBytes } from "node:crypto";
|
|
10
|
-
import { readFileSync, writeFileSync } from "node:fs";
|
|
11
|
-
// noble/ed25519 requires sha512 to be set explicitly in Node environments
|
|
12
|
-
ed25519.etc.sha512Sync = (...m) => sha512(ed25519.etc.concatBytes(...m));
|
|
13
|
-
const KEY_FILE_VERSION = 1;
|
|
14
|
-
const PBKDF2_ITERS = 600_000;
|
|
15
|
-
const SALT_BYTES = 16;
|
|
16
|
-
const IV_BYTES = 12;
|
|
17
|
-
const KEY_BYTES = 32;
|
|
18
|
-
export class NipIdentity {
|
|
19
|
-
_privKey;
|
|
20
|
-
pubKey;
|
|
21
|
-
constructor(_privKey, pubKey) {
|
|
22
|
-
this._privKey = _privKey;
|
|
23
|
-
this.pubKey = pubKey;
|
|
24
|
-
}
|
|
25
|
-
// ── Factory ───────────────────────────────────────────────────────────────
|
|
26
|
-
static generate() {
|
|
27
|
-
const priv = ed25519.utils.randomPrivateKey();
|
|
28
|
-
const pub = ed25519.getPublicKey(priv);
|
|
29
|
-
return new NipIdentity(priv, pub);
|
|
30
|
-
}
|
|
31
|
-
static fromPrivateKey(privKey) {
|
|
32
|
-
const pub = ed25519.getPublicKey(privKey);
|
|
33
|
-
return new NipIdentity(privKey, pub);
|
|
34
|
-
}
|
|
35
|
-
/** Load from an AES-256-GCM encrypted key file. */
|
|
36
|
-
static load(path, passphrase) {
|
|
37
|
-
const envelope = JSON.parse(readFileSync(path, "utf8"));
|
|
38
|
-
const salt = Buffer.from(envelope.salt, "hex");
|
|
39
|
-
const iv = Buffer.from(envelope.iv, "hex");
|
|
40
|
-
const ct = Buffer.from(envelope.ciphertext, "hex");
|
|
41
|
-
const dk = pbkdf2Sync(passphrase, salt, PBKDF2_ITERS, KEY_BYTES, "sha256");
|
|
42
|
-
const decipher = createDecipheriv("aes-256-gcm", dk, iv);
|
|
43
|
-
// Last 16 bytes of ciphertext are the GCM auth tag
|
|
44
|
-
const authTag = ct.slice(ct.length - 16);
|
|
45
|
-
const body = ct.slice(0, ct.length - 16);
|
|
46
|
-
decipher.setAuthTag(authTag);
|
|
47
|
-
const priv = Buffer.concat([decipher.update(body), decipher.final()]);
|
|
48
|
-
return NipIdentity.fromPrivateKey(new Uint8Array(priv));
|
|
49
|
-
}
|
|
50
|
-
/** Save to an AES-256-GCM encrypted key file. */
|
|
51
|
-
save(path, passphrase) {
|
|
52
|
-
const salt = randomBytes(SALT_BYTES);
|
|
53
|
-
const iv = randomBytes(IV_BYTES);
|
|
54
|
-
const dk = pbkdf2Sync(passphrase, salt, PBKDF2_ITERS, KEY_BYTES, "sha256");
|
|
55
|
-
const cipher = createCipheriv("aes-256-gcm", dk, iv);
|
|
56
|
-
const body = Buffer.concat([cipher.update(Buffer.from(this._privKey)), cipher.final()]);
|
|
57
|
-
const tag = cipher.getAuthTag();
|
|
58
|
-
const envelope = {
|
|
59
|
-
version: KEY_FILE_VERSION,
|
|
60
|
-
salt: salt.toString("hex"),
|
|
61
|
-
iv: iv.toString("hex"),
|
|
62
|
-
ciphertext: Buffer.concat([body, tag]).toString("hex"),
|
|
63
|
-
pubKey: Buffer.from(this.pubKey).toString("hex"),
|
|
64
|
-
};
|
|
65
|
-
writeFileSync(path, JSON.stringify(envelope, null, 2), "utf8");
|
|
66
|
-
}
|
|
67
|
-
// ── Signing ───────────────────────────────────────────────────────────────
|
|
68
|
-
/** Sign a dict payload. Returns `ed25519:<base64url>`. */
|
|
69
|
-
sign(payload) {
|
|
70
|
-
const canonical = JSON.stringify(payload, Object.keys(payload).sort());
|
|
71
|
-
const bytes = new TextEncoder().encode(canonical);
|
|
72
|
-
const sig = ed25519.sign(bytes, this._privKey);
|
|
73
|
-
return `ed25519:${Buffer.from(sig).toString("base64")}`;
|
|
74
|
-
}
|
|
75
|
-
/** Verify a signature string against a dict payload. */
|
|
76
|
-
verify(payload, signature) {
|
|
77
|
-
if (!signature.startsWith("ed25519:"))
|
|
78
|
-
return false;
|
|
79
|
-
try {
|
|
80
|
-
const canonical = JSON.stringify(payload, Object.keys(payload).sort());
|
|
81
|
-
const bytes = new TextEncoder().encode(canonical);
|
|
82
|
-
const sigBytes = Buffer.from(signature.slice("ed25519:".length), "base64");
|
|
83
|
-
return ed25519.verify(sigBytes, bytes, this.pubKey);
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
return false;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/** Public key as `ed25519:<hex>` string. */
|
|
90
|
-
get pubKeyString() {
|
|
91
|
-
return `ed25519:${Buffer.from(this.pubKey).toString("hex")}`;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=identity.js.map
|
package/dist/nip/identity.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/nip/identity.ts"],"names":[],"mappings":"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"}
|
package/dist/nip/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from "./frames.js";
|
|
2
|
-
export * from "./identity.js";
|
|
3
|
-
export { registerNipFrames } from "./registry.js";
|
|
4
|
-
export * from "./assurance-level.js";
|
|
5
|
-
export * from "./cert-format.js";
|
|
6
|
-
export * from "./error-codes.js";
|
|
7
|
-
export * from "./verifier.js";
|
|
8
|
-
export * as x509 from "./x509/index.js";
|
|
9
|
-
export * as acme from "./acme/index.js";
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/nip/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nip/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC"}
|
package/dist/nip/index.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 INNO LOTUS PTY LTD
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
export * from "./frames.js";
|
|
4
|
-
export * from "./identity.js";
|
|
5
|
-
export { registerNipFrames } from "./registry.js";
|
|
6
|
-
// RFC-0002 / RFC-0003 — X.509 + ACME + dual-trust verifier
|
|
7
|
-
export * from "./assurance-level.js";
|
|
8
|
-
export * from "./cert-format.js";
|
|
9
|
-
export * from "./error-codes.js";
|
|
10
|
-
export * from "./verifier.js";
|
|
11
|
-
export * as x509 from "./x509/index.js";
|
|
12
|
-
export * as acme from "./acme/index.js";
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
package/dist/nip/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nip/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,2DAA2D;AAC3D,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC"}
|
package/dist/nip/registry.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/nip/registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAI/D"}
|
package/dist/nip/registry.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 INNO LOTUS PTY LTD
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
import { FrameType } from "../core/frames.js";
|
|
4
|
-
import { IdentFrame, TrustFrame, RevokeFrame } from "./frames.js";
|
|
5
|
-
export function registerNipFrames(registry) {
|
|
6
|
-
registry.register(FrameType.IDENT, IdentFrame);
|
|
7
|
-
registry.register(FrameType.TRUST, TrustFrame);
|
|
8
|
-
registry.register(FrameType.REVOKE, RevokeFrame);
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=registry.js.map
|
package/dist/nip/registry.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/nip/registry.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAGtC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,UAAU,iBAAiB,CAAC,QAAuB;IACvD,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAG,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAG,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACnD,CAAC"}
|
package/dist/nip/verifier.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { X509Certificate } from "@peculiar/x509";
|
|
2
|
-
import { AssuranceLevel } from "./assurance-level.js";
|
|
3
|
-
import type { IdentFrame } from "./frames.js";
|
|
4
|
-
export interface NipVerifierOptions {
|
|
5
|
-
/** Map of issuer NID → CA public key string (`ed25519:<hex>`). */
|
|
6
|
-
trustedCaPublicKeys?: Readonly<Record<string, string>>;
|
|
7
|
-
/** X.509 trust anchors. Empty/undefined makes Step 3b reject v2 frames. */
|
|
8
|
-
trustedX509Roots?: readonly X509Certificate[];
|
|
9
|
-
/** Minimum required assurance level (NPS-RFC-0003). */
|
|
10
|
-
minAssuranceLevel?: AssuranceLevel;
|
|
11
|
-
}
|
|
12
|
-
export interface NipIdentVerifyResult {
|
|
13
|
-
valid: boolean;
|
|
14
|
-
stepFailed: number;
|
|
15
|
-
errorCode?: string;
|
|
16
|
-
message?: string;
|
|
17
|
-
}
|
|
18
|
-
export declare class NipIdentVerifier {
|
|
19
|
-
readonly options: NipVerifierOptions;
|
|
20
|
-
constructor(options: NipVerifierOptions);
|
|
21
|
-
verify(frame: IdentFrame, issuerNid: string): Promise<NipIdentVerifyResult>;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=verifier.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../src/nip/verifier.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,2EAA2E;IAC3E,gBAAgB,CAAC,EAAK,SAAS,eAAe,EAAE,CAAC;IACjD,uDAAuD;IACvD,iBAAiB,CAAC,EAAI,cAAc,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAO,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAI,MAAM,CAAC;CACpB;AAQD,qBAAa,gBAAgB;aACC,OAAO,EAAE,kBAAkB;gBAA3B,OAAO,EAAE,kBAAkB;IAEjD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAsDlF"}
|
package/dist/nip/verifier.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 INNO LOTUS PTY LTD
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
/**
|
|
4
|
-
* NipIdentVerifier — Phase 1 dual-trust IdentFrame verifier per NPS-RFC-0002 §8.1.
|
|
5
|
-
*
|
|
6
|
-
* Steps:
|
|
7
|
-
* 1. v1 Ed25519 signature check against the issuer's CA public key.
|
|
8
|
-
* 2. Optional minimum assurance level check.
|
|
9
|
-
* 3b. X.509 chain validation (only if `cert_format === "v2-x509"` AND
|
|
10
|
-
* `trustedX509Roots` is configured).
|
|
11
|
-
*/
|
|
12
|
-
import * as ed25519 from "@noble/ed25519";
|
|
13
|
-
import { sha512 } from "@noble/hashes/sha512";
|
|
14
|
-
import { AssuranceLevel } from "./assurance-level.js";
|
|
15
|
-
import * as cf from "./cert-format.js";
|
|
16
|
-
import * as ec from "./error-codes.js";
|
|
17
|
-
import { verify as verifyX509 } from "./x509/verifier.js";
|
|
18
|
-
// noble/ed25519 needs sha512 wired up.
|
|
19
|
-
ed25519.etc.sha512Sync = (...m) => sha512(ed25519.etc.concatBytes(...m));
|
|
20
|
-
function ok() { return { valid: true, stepFailed: 0 }; }
|
|
21
|
-
function fail(stepFailed, errorCode, message) {
|
|
22
|
-
return { valid: false, stepFailed, errorCode, message };
|
|
23
|
-
}
|
|
24
|
-
export class NipIdentVerifier {
|
|
25
|
-
options;
|
|
26
|
-
constructor(options) {
|
|
27
|
-
this.options = options;
|
|
28
|
-
}
|
|
29
|
-
async verify(frame, issuerNid) {
|
|
30
|
-
// Step 1: v1 Ed25519 signature check ────────────────────────────────
|
|
31
|
-
const caPubKeyStr = this.options.trustedCaPublicKeys?.[issuerNid];
|
|
32
|
-
if (caPubKeyStr === undefined) {
|
|
33
|
-
return fail(1, ec.CERT_UNTRUSTED_ISSUER, `no trusted CA public key for issuer: ${issuerNid}`);
|
|
34
|
-
}
|
|
35
|
-
if (!frame.signature?.startsWith("ed25519:")) {
|
|
36
|
-
return fail(1, ec.CERT_SIGNATURE_INVALID, "missing or malformed signature");
|
|
37
|
-
}
|
|
38
|
-
try {
|
|
39
|
-
const caPubBytes = parsePubKeyString(caPubKeyStr);
|
|
40
|
-
const sigBytes = Buffer.from(frame.signature.slice("ed25519:".length), "base64");
|
|
41
|
-
const canonical = canonicalJson(frame.unsignedDict());
|
|
42
|
-
const msg = new TextEncoder().encode(canonical);
|
|
43
|
-
if (!ed25519.verify(sigBytes, msg, caPubBytes)) {
|
|
44
|
-
return fail(1, ec.CERT_SIGNATURE_INVALID, "v1 Ed25519 signature did not verify against issuer CA key");
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch (e) {
|
|
48
|
-
return fail(1, ec.CERT_SIGNATURE_INVALID, `v1 signature verification error: ${e.message}`);
|
|
49
|
-
}
|
|
50
|
-
// Step 2: minimum assurance level ───────────────────────────────────
|
|
51
|
-
const minLevel = this.options.minAssuranceLevel;
|
|
52
|
-
if (minLevel !== undefined) {
|
|
53
|
-
const got = frame.assuranceLevel ?? AssuranceLevel.ANONYMOUS;
|
|
54
|
-
if (!got.meetsOrExceeds(minLevel)) {
|
|
55
|
-
return fail(2, ec.ASSURANCE_MISMATCH, `assurance_level (${got.wire}) below required minimum (${minLevel.wire})`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
// Step 3b: X.509 chain check (only if both opt-ins present) ──────────
|
|
59
|
-
const trustedRoots = this.options.trustedX509Roots ?? [];
|
|
60
|
-
const hasV2Trust = trustedRoots.length > 0;
|
|
61
|
-
const isV2Frame = frame.certFormat === cf.V2_X509;
|
|
62
|
-
if (hasV2Trust && isV2Frame) {
|
|
63
|
-
const x509Result = await verifyX509({
|
|
64
|
-
certChainBase64UrlDer: frame.certChain ?? [],
|
|
65
|
-
assertedNid: frame.nid,
|
|
66
|
-
assertedAssuranceLevel: frame.assuranceLevel,
|
|
67
|
-
trustedRootCerts: trustedRoots,
|
|
68
|
-
});
|
|
69
|
-
if (!x509Result.valid) {
|
|
70
|
-
return fail(3, x509Result.errorCode ?? ec.CERT_FORMAT_INVALID, x509Result.message ?? "X.509 chain validation failed");
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return ok();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Canonical JSON matching NipIdentity.sign — top-level keys filtered/ordered
|
|
78
|
-
* via `Object.keys(payload).sort()` as JSON.stringify replacer.
|
|
79
|
-
*/
|
|
80
|
-
function canonicalJson(payload) {
|
|
81
|
-
return JSON.stringify(payload, Object.keys(payload).sort());
|
|
82
|
-
}
|
|
83
|
-
/** Parse `ed25519:<hex>` into a 32-byte Uint8Array public key. */
|
|
84
|
-
function parsePubKeyString(s) {
|
|
85
|
-
if (!s.startsWith("ed25519:")) {
|
|
86
|
-
throw new Error(`Unsupported public key format: ${s}`);
|
|
87
|
-
}
|
|
88
|
-
return new Uint8Array(Buffer.from(s.slice("ed25519:".length), "hex"));
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=verifier.js.map
|
package/dist/nip/verifier.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/nip/verifier.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC;;;;;;;;GAQG;AAEH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE1D,uCAAuC;AACvC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAkBzE,SAAS,EAAE,KAA2B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE9E,SAAS,IAAI,CAAC,UAAkB,EAAE,SAAiB,EAAE,OAAe;IAClE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,OAAO,gBAAgB;IACC;IAA5B,YAA4B,OAA2B;QAA3B,YAAO,GAAP,OAAO,CAAoB;IAAG,CAAC;IAE3D,KAAK,CAAC,MAAM,CAAC,KAAiB,EAAE,SAAiB;QAC/C,sEAAsE;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,EACrC,wCAAwC,SAAS,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,EAAE,gCAAgC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;YACnF,MAAM,SAAS,GAAI,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;YACvD,MAAM,GAAG,GAAU,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,EACtC,2DAA2D,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,EACtC,oCAAqC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,sEAAsE;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,cAAc,IAAI,cAAc,CAAC,SAAS,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,EAClC,oBAAoB,GAAG,CAAC,IAAI,6BAA6B,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAI,KAAK,CAAC,UAAU,KAAK,EAAE,CAAC,OAAO,CAAC;QACnD,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC;gBAClC,qBAAqB,EAAG,KAAK,CAAC,SAAS,IAAI,EAAE;gBAC7C,WAAW,EAAa,KAAK,CAAC,GAAG;gBACjC,sBAAsB,EAAE,KAAK,CAAC,cAAc;gBAC5C,gBAAgB,EAAQ,YAAY;aACrC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,CAAC,EACX,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,mBAAmB,EAC9C,UAAU,CAAC,OAAO,IAAM,+BAA+B,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,OAAgC;IACrD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,kEAAkE;AAClE,SAAS,iBAAiB,CAAC,CAAS;IAClC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Issues NPS X.509 NID certificates per NPS-RFC-0002 §4.
|
|
3
|
-
*
|
|
4
|
-
* Backed by @peculiar/x509 + Web Crypto Ed25519 (Node 22+).
|
|
5
|
-
*
|
|
6
|
-
* Two factory functions:
|
|
7
|
-
* - {@link issueLeaf} — leaf cert with critical NPS EKU + SAN URI = NID + assurance-level extension.
|
|
8
|
-
* - {@link issueRoot} — self-signed root for testing / private-CA use.
|
|
9
|
-
*/
|
|
10
|
-
import * as x509 from "@peculiar/x509";
|
|
11
|
-
import { AssuranceLevel } from "../assurance-level.js";
|
|
12
|
-
export type LeafRole = "agent" | "node";
|
|
13
|
-
export interface IssueLeafOptions {
|
|
14
|
-
subjectNid: string;
|
|
15
|
-
subjectPublicKey: CryptoKey;
|
|
16
|
-
caKeys: CryptoKeyPair;
|
|
17
|
-
issuerNid: string;
|
|
18
|
-
role: LeafRole;
|
|
19
|
-
assuranceLevel: AssuranceLevel;
|
|
20
|
-
notBefore: Date;
|
|
21
|
-
notAfter: Date;
|
|
22
|
-
serialNumber: string;
|
|
23
|
-
}
|
|
24
|
-
export interface IssueRootOptions {
|
|
25
|
-
caNid: string;
|
|
26
|
-
caKeys: CryptoKeyPair;
|
|
27
|
-
notBefore: Date;
|
|
28
|
-
notAfter: Date;
|
|
29
|
-
serialNumber: string;
|
|
30
|
-
}
|
|
31
|
-
/** Issue a leaf NPS NID certificate (RFC-0002 §4.1). */
|
|
32
|
-
export declare function issueLeaf(opts: IssueLeafOptions): Promise<x509.X509Certificate>;
|
|
33
|
-
/** Issue a self-signed CA root cert (testing / private CA). */
|
|
34
|
-
export declare function issueRoot(opts: IssueRootOptions): Promise<x509.X509Certificate>;
|
|
35
|
-
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/nip/x509/builder.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAOvD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAExC,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAU,MAAM,CAAC;IAC3B,gBAAgB,EAAI,SAAS,CAAC;IAC9B,MAAM,EAAc,aAAa,CAAC;IAClC,SAAS,EAAW,MAAM,CAAC;IAC3B,IAAI,EAAgB,QAAQ,CAAC;IAC7B,cAAc,EAAM,cAAc,CAAC;IACnC,SAAS,EAAW,IAAI,CAAC;IACzB,QAAQ,EAAY,IAAI,CAAC;IACzB,YAAY,EAAQ,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAe,MAAM,CAAC;IAC3B,MAAM,EAAc,aAAa,CAAC;IAClC,SAAS,EAAW,IAAI,CAAC;IACzB,QAAQ,EAAY,IAAI,CAAC;IACzB,YAAY,EAAQ,MAAM,CAAC;CAC5B;AAED,wDAAwD;AACxD,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAuBrF;AAED,+DAA+D;AAC/D,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAcrF"}
|