kxco-post-quantum 1.7.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +26 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.7.1
|
|
4
|
+
|
|
5
|
+
Release integrity. No source change to the library.
|
|
6
|
+
|
|
7
|
+
Release assets are now signed with ML-DSA-65 through this package's own signing
|
|
8
|
+
path, and each release carries a SLSA provenance file. Until now the npm tarball
|
|
9
|
+
had provenance and the GitHub release, where the evidence bundle is actually
|
|
10
|
+
downloaded from, had neither a signature nor a statement of where it was built.
|
|
11
|
+
|
|
12
|
+
The public key is committed as release-signing-key.pub.hex and published with
|
|
13
|
+
each release. The signing script refuses to run if the seed in CI stops deriving
|
|
14
|
+
that key, and verifies every signature immediately after producing it.
|
|
15
|
+
|
|
3
16
|
## 1.7.0
|
|
4
17
|
|
|
5
18
|
Additive. No existing export changes shape, no wire format moves, and the
|
package/README.md
CHANGED
|
@@ -344,3 +344,29 @@ Apache-2.0. See [LICENSE](./LICENSE).
|
|
|
344
344
|
## Maintainers
|
|
345
345
|
|
|
346
346
|
Shayne Heffernan and John Heffernan — [KXCO by Knightsbridge](https://kxco.ai)
|
|
347
|
+
|
|
348
|
+
## Verifying a release
|
|
349
|
+
|
|
350
|
+
Every release asset is signed with ML-DSA-65 by this package's own signing path,
|
|
351
|
+
and carries a SLSA provenance file recording the workflow that built it.
|
|
352
|
+
|
|
353
|
+
```
|
|
354
|
+
manifest-node24.x.json the bundle's manifest
|
|
355
|
+
evidence-node24.x.zip the bundle
|
|
356
|
+
evidence-node24.x.zip.sig ML-DSA-65 signature over the zip, hex
|
|
357
|
+
evidence.intoto.jsonl SLSA provenance
|
|
358
|
+
release-signing-key.pub.hex the public key, also committed to this repository
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
```js
|
|
362
|
+
import { readFileSync } from 'node:fs'
|
|
363
|
+
import { mlDsa } from 'kxco-post-quantum'
|
|
364
|
+
|
|
365
|
+
const pub = Buffer.from(readFileSync('release-signing-key.pub.hex', 'utf8').trim(), 'hex')
|
|
366
|
+
const sig = readFileSync('evidence-node24.x.zip.sig', 'utf8').trim()
|
|
367
|
+
mlDsa.verify(pub, readFileSync('evidence-node24.x.zip'), sig) // true
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
Compare the public key against the copy in this repository before trusting a
|
|
371
|
+
signature: a key served alongside the artefact it signs proves only that the
|
|
372
|
+
same party produced both.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kxco-post-quantum",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"description": "ML-DSA-65, ML-KEM-768 and SLH-DSA-SHA2-192s with key fingerprinting. OpenSSL 3.5 primitives on Node 24+, JavaScript elsewhere. 2,103 NIST ACVP vectors: 1,793 passed, 0 failed, 310 skipped. 225 interop checks, 0 failed. Reproducible builds and provenance.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"post-quantum",
|