Skip to content

Commit 36f2d9f

Browse files
committed
Convert docs/index, docs/releasenotes, docs/specifications and CONTRIBUTORS from hand-edited HTML to GitHub-flavoured markdown, keeping the per-version deep-link anchors and the CONTRIBUTORS address obfuscation intact, and repoint the Ant and shell distribution file lists, the internal links and the contributing guidance at the new names.
1 parent 08df2c2 commit 36f2d9f

18 files changed

Lines changed: 5366 additions & 5606 deletions

.claude/skills/bcpqc-add-signature-algorithm/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ Add `suite.addTestSuite(<Alg>Test.class);` to `prov/src/test/java/org/bouncycast
257257

258258
### Step 16 — Release notes
259259

260-
Add a single `<li>` to `docs/releasenotes.html` under the current unreleased version's "Additional Features and Functionality" block. Mention: the algorithm name and spec version, the parameter sets supported, that `BouncyCastlePQCProvider` exposes `KeyPairGenerator.<Alg>` / `Signature.<Alg>` / `KeyFactory.<Alg>` plus per-parameter-set aliases, and that `BouncyCastleProvider.loadPQCKeys()` registers the OIDs so the standard `BC` provider can decode certificates and PKCS#8 keys.
260+
Add a single `-` bullet to `docs/releasenotes.md` under the current unreleased version's "Additional Features and Functionality" block. Mention: the algorithm name and spec version, the parameter sets supported, that `BouncyCastlePQCProvider` exposes `KeyPairGenerator.<Alg>` / `Signature.<Alg>` / `KeyFactory.<Alg>` plus per-parameter-set aliases, and that `BouncyCastleProvider.loadPQCKeys()` registers the OIDs so the standard `BC` provider can decode certificates and PKCS#8 keys.
261261

262262
## Verification commands
263263

@@ -314,6 +314,6 @@ When in doubt, mimic these files for the corresponding step:
314314
| 14 | `prov/src/main/jdk1.9/module-info.java` snova entries |
315315
| 15 | `prov/src/test/java/org/bouncycastle/pqc/jcajce/provider/test/SnovaTest.java` (mostly — but add a `testBcProviderKeyInfoConverter`; SNOVA's existing test doesn't cover that path, but FAEST's does) |
316316
| 15 (encoding) | `core/src/test/java/org/bouncycastle/pqc/crypto/test/PqcSignatureEncodingTest.java` `testSnova` + `checkBareSignature`, and the SNOVA block in `PqcMalformedInputTest.testMalformedSignatureReturnsFalse` |
317-
| 16 | `docs/releasenotes.html` — look at the FAEST entry under 1.85 for the prose template |
317+
| 16 | `docs/releasenotes.md` — look at the FAEST entry under 1.85 for the prose template |
318318

319319
The FAEST entries (added in 1.85 alongside the introduction of this skill) are the most recent worked example of the full pipeline and are a useful cross-check.

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ The detailed guidance is split across the files below (imported automatically).
77
- @docs/claude/build-and-test.md — driving the Gradle build, running individual tests fast, the stash-the-fix verification discipline, why a green Gradle run can mean the tests never ran and the tree can move under a long one.
88
- @docs/claude/build-jdk14.md — the jdk1.4 (build1-4) legacy build: source preprocessing (what the regexes fix and what they can't), the real-1.4-javac compile floor, overlay delete-vs-sync discipline, the build → bcsign4 → test flow and its signing/staleness traps.
99
- @docs/claude/architecture.md — module graph and the `core`-into-`prov` trap, MR-jar overlays, `module-info.java` / `package-info.java` upkeep, where examples live, JCE provider registration, adding a PQC algorithm, `.bc` vs `.jcajce` package layering.
10-
- @docs/claude/conventions.md — test conventions, X.509 / ASN.1 RFC discipline, strict cert parse vs reviewer, DER lenient-read/strict-write, exception-message contract, `SecurityExceptions` cause-chaining, property constants, non-standard interop, PKCS#12 SPI pair, CMS streaming I/O, CMS recipient constraints, operator close discipline, duplicated OID tables, receiver-side `AlgorithmIdentifier` comparison, the name-finder/test count lock, checking whether the type already solves it, release notes, crediting reporters in CONTRIBUTORS.html, commit messages, URL checking, code style.
10+
- @docs/claude/conventions.md — test conventions, X.509 / ASN.1 RFC discipline, strict cert parse vs reviewer, DER lenient-read/strict-write, exception-message contract, `SecurityExceptions` cause-chaining, property constants, non-standard interop, PKCS#12 SPI pair, CMS streaming I/O, CMS recipient constraints, operator close discipline, duplicated OID tables, receiver-side `AlgorithmIdentifier` comparison, the name-finder/test count lock, checking whether the type already solves it, release notes, crediting reporters in CONTRIBUTORS.md, commit messages, URL checking, code style.
1111
- @docs/claude/upstream-lts-ports.md — the `UPSTREAM-*.md` porting workflow: verifying the doc against this tree, diffing against the BC-LTS checkout, tests/release-note trimmings, keeping the .md out of the commit.

CONTRIBUTORS.html

Lines changed: 0 additions & 614 deletions
This file was deleted.

CONTRIBUTORS.md

Lines changed: 549 additions & 0 deletions
Large diffs are not rendered by default.

ant/bc+-build.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,11 +287,14 @@
287287
<copy toDir="@{toDir}">
288288
<fileset dir="${basedir}">
289289
<include name="*.html" />
290+
<include name="CONTRIBUTORS.md" />
290291
</fileset>
291292
</copy>
292293
<copy toDir="@{toDir}/docs">
293294
<fileset dir="${basedir}/docs">
294-
<include name="**/*.html" />
295+
<include name="index.md" />
296+
<include name="releasenotes.md" />
297+
<include name="specifications.md" />
295298
</fileset>
296299
</copy>
297300
</sequential>

build1-1

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ then
329329

330330
mkdir $artifacts/lcrypto-jdk11-$base
331331
mkdir $artifacts/lcrypto-jdk11-$base/src
332-
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/lcrypto-jdk11-$base && tar xf -)
332+
tar cf - index.html LICENSE.html CONTRIBUTORS.md docs | (cd $artifacts/lcrypto-jdk11-$base && tar xf -)
333333
(cd $jdk11src && tar cf - java org/bouncycastle/LICENSE.java \
334334
org/bouncycastle/test org/bouncycastle/math org/bouncycastle/internal org/bouncycastle/crypto org/bouncycastle/util org/bouncycastle/asn1 org/bouncycastle/pqc/legacy org/bouncycastle/pqc/math org/bouncycastle/pqc/crypto org/bouncycastle/pqc/asn1 ) \
335335
| (cd $artifacts/lcrypto-jdk11-$base/src && tar xf -)
@@ -449,7 +449,7 @@ then
449449

450450
mkdir $artifacts/jce-jdk11-$base
451451
mkdir $artifacts/jce-jdk11-$base/src
452-
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/jce-jdk11-$base; tar xf -)
452+
tar cf - index.html LICENSE.html CONTRIBUTORS.md docs | (cd $artifacts/jce-jdk11-$base; tar xf -)
453453
mkdir -p $jdk11src/org/bouncycastle/pqc/jcajce/provider/util
454454
cp prov/src/main/java/org/bouncycastle/pqc/jcajce/provider/util/BaseKeyFactorySpi.java $jdk11src/org/bouncycastle/pqc/jcajce/provider/util/BaseKeyFactorySpi.java
455455
cp prov/src/main/java/org/bouncycastle/pqc/jcajce/provider/util/KeyUtil.java $jdk11src/org/bouncycastle/pqc/jcajce/provider/util/KeyUtil.java
@@ -625,7 +625,7 @@ then
625625

626626
mkdir $artifacts/bcpkix-jdk11-$base
627627
mkdir $artifacts/bcpkix-jdk11-$base/src
628-
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/bcpkix-jdk11-$base; tar xf -)
628+
tar cf - index.html LICENSE.html CONTRIBUTORS.md docs | (cd $artifacts/bcpkix-jdk11-$base; tar xf -)
629629
((cd $jdk11src && tar cf - org/bouncycastle/test org/bouncycastle/cert org/bouncycastle/dvcs org/bouncycastle/pkcs org/bouncycastle/pkix org/bouncycastle/cms org/bouncycastle/eac org/bouncycastle/openssl org/bouncycastle/tsp org/bouncycastle/operator ) | (cd $artifacts/bcpkix-jdk11-$base/src && tar xf -))
630630

631631
(
@@ -686,7 +686,7 @@ then
686686

687687
mkdir $artifacts/bcpg-jdk11-$base
688688
mkdir $artifacts/bcpg-jdk11-$base/src
689-
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/bcpg-jdk11-$base; tar xf -)
689+
tar cf - index.html LICENSE.html CONTRIBUTORS.md docs | (cd $artifacts/bcpg-jdk11-$base; tar xf -)
690690
((cd pg/src/main/java && tar cf - * ) | (cd $artifacts/bcpg-jdk11-$base/src && tar xf -))
691691
((cd pg/src/main/jdk1.5 && tar cf - * ) | (cd $artifacts/bcpg-jdk11-$base/src && tar xf -))
692692
((cd pg/src/main/jdk1.4 && tar cf - * ) | (cd $artifacts/bcpg-jdk11-$base/src && tar xf -))

build1-2

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ then
272272
mkdir $artifacts/lcrypto-jdk12-$base
273273
mkdir $artifacts/lcrypto-jdk12-$base/src
274274

275-
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/lcrypto-jdk12-$base && tar xf -)
275+
tar cf - index.html LICENSE.html CONTRIBUTORS.md docs | (cd $artifacts/lcrypto-jdk12-$base && tar xf -)
276276
((cd $jdk12src && tar cf - java org/bouncycastle/LICENSE.java \
277277
org/bouncycastle/test org/bouncycastle/math org/bouncycastle/internal org/bouncycastle/crypto org/bouncycastle/util org/bouncycastle/asn1 org/bouncycastle/pqc/legacy org/bouncycastle/pqc/math org/bouncycastle/pqc/crypto org/bouncycastle/pqc/asn1 ) | (cd $artifacts/lcrypto-jdk12-$base/src && tar xf -))
278278
(
@@ -358,7 +358,7 @@ then
358358

359359
mkdir $artifacts/jce-jdk12-$base
360360
mkdir $artifacts/jce-jdk12-$base/src
361-
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/jce-jdk12-$base; tar xf -)
361+
tar cf - index.html LICENSE.html CONTRIBUTORS.md docs | (cd $artifacts/jce-jdk12-$base; tar xf -)
362362
((cd $jdk12src && tar cf - java javax org/bouncycastle/test org/bouncycastle/LICENSE.java org/bouncycastle/crypto org/bouncycastle/internal org/bouncycastle/math org/bouncycastle/pqc org/bouncycastle/asn1 org/bouncycastle/jcajce org/bouncycastle/util org/bouncycastle/jce org/bouncycastle/x509 ) | (cd $artifacts/jce-jdk12-$base/src && tar xf -))
363363

364364
(
@@ -481,7 +481,7 @@ then
481481

482482
mkdir $artifacts/bcpkix-jdk12-$base
483483
mkdir $artifacts/bcpkix-jdk12-$base/src
484-
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/bcpkix-jdk12-$base; tar xf -)
484+
tar cf - index.html LICENSE.html CONTRIBUTORS.md docs | (cd $artifacts/bcpkix-jdk12-$base; tar xf -)
485485
((cd $jdk12src && tar cf - org/bouncycastle/test org/bouncycastle/cert org/bouncycastle/cms org/bouncycastle/pkcs org/bouncycastle/pkix org/bouncycastle/openssl org/bouncycastle/operator org/bouncycastle/mozilla org/bouncycastle/tsp org/bouncycastle/voms ) | (cd $artifacts/bcpkix-jdk12-$base/src && tar xf -))
486486
(
487487
cd $artifacts/bcpkix-jdk12-$base; mkdir classes; mkdir javadoc;
@@ -561,7 +561,7 @@ then
561561

562562
mkdir $artifacts/bcpg-jdk12-$base
563563
mkdir $artifacts/bcpg-jdk12-$base/src
564-
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs | (cd $artifacts/bcpg-jdk12-$base; tar xf -)
564+
tar cf - index.html LICENSE.html CONTRIBUTORS.md docs | (cd $artifacts/bcpg-jdk12-$base; tar xf -)
565565
((cd $jdk12src && tar cf - org/bouncycastle/test org/bouncycastle/apache org/bouncycastle/openpgp org/bouncycastle/bcpg org/bouncycastle/gpg) | (cd $artifacts/bcpg-jdk12-$base/src && tar xf -))
566566
(
567567
cd $artifacts/bcpg-jdk12-$base; mkdir classes; mkdir javadoc;

buildj2me

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ then
2424
mkdir -p $target
2525
mkdir $target/javadoc
2626
mkdir $target/src
27-
tar cf - index.html LICENSE.html CONTRIBUTORS.html docs zips | (cd $target && tar xf -)
27+
tar cf - index.html LICENSE.html CONTRIBUTORS.md docs zips | (cd $target && tar xf -)
2828
((cd core/src/main/java; tar cf - * ) | (cd $target/src && tar xf -))
2929
((cd core/src/main/javadoc; tar cf - * ) | (cd $target/src && tar xf -))
3030
((cd core/src/main/jdk1.4; tar cf - * ) | (cd $target/src && tar xf -))

docs/claude/architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ Practical checklist when porting a new PQC algorithm — easy to leave any of th
151151
- `prov/.../jce/provider/BouncyCastleProvider.java` — in `loadPQCKeys()`, `addKeyInfoConverter(BCObjectIdentifiers.<alg>_<param>, new <Alg>KeyFactorySpi())` for every OID. **This is the BCPQC→BC bridge; skip it and certs / PKCS#8 work fine through BCPQC but break through BC.** Test it.
152152
- `prov/src/main/jdk1.9/module-info.java``opens org.bouncycastle.pqc.jcajce.provider.<alg> to java.base;` plus `exports org.bouncycastle.pqc.crypto.<alg>;` plus `exports org.bouncycastle.pqc.jcajce.provider.<alg>;`. Mirror `pqc.crypto.<alg>` into `prov/src/main/ext-jdk1.9/module-info.java` (the legacy distribution does not export the JCE-side `provider.<alg>` packages).
153153
- Tests in `prov/src/test/java/org/bouncycastle/pqc/jcajce/provider/test/<Alg>Test.java` plus an entry in `AllTests.java`, and the signature-encoding assertions above in `core`'s `PqcSignatureEncodingTest` / `PqcMalformedInputTest`. Include a `testBcProviderKeyInfoConverter`-style case that exercises `BouncyCastleProvider.getPublicKey(SubjectPublicKeyInfo)` and `getPrivateKey(PrivateKeyInfo)` against every parameter set, proving the `loadPQCKeys()` registration works.
154-
- `docs/releasenotes.html` — one `<li>` under the current unreleased version's "Additional Features and Functionality" block.
154+
- `docs/releasenotes.md` — one `-` bullet under the current unreleased version's "Additional Features and Functionality" block.
155155

156156
### Two JCA-boundary details the checklist does not spell out
157157

0 commit comments

Comments
 (0)