fix: refimpl hash format aligned to -01 spec, draft rebuilt
Some checks failed
CI / test (3.11) (push) Failing after 53s
CI / test (3.12) (push) Failing after 41s

Updated Go ValidateHashFormat to plain base64url (no algorithm prefix)
per -01 spec and RFC 9449. Python already fixed. All tests pass.
This commit is contained in:
2026-04-11 17:51:50 +02:00
parent 2506b6325a
commit b38747ad92
2 changed files with 31 additions and 1 deletions

View File

@@ -1,5 +1,35 @@
# research.ietf — Status
## 2026-04-11 — Refimpl -01 hash format fix + draft rebuild
### What was done
1. **Go `ValidateHashFormat` updated to -01 spec**: Was still validating old `algorithm:base64url` format (e.g. `sha-256:abc...`). Now validates plain base64url without prefix, matching -01 spec and RFC 9449.
2. **Go `ErrHashFormat` error message updated** to match new format.
3. **IMPROVEMENTS.md updated**: Section 5 and section 6 hash format entries corrected.
4. **Draft rebuilt**: `build.sh` run with `kramdown-rfc2629` (freshly installed) and `xml2rfc`. XML/TXT/HTML regenerated.
5. **All tests pass**: Python (56 tests, 90% coverage), Go (all pass).
### Claim name migration summary (-00 to -01)
All claim name changes were already implemented in core library code (types, create, verify, dag) for both Go and Python:
| Change | Status |
|--------|--------|
| `par` -> `pred` | Done (both) |
| `pol`/`pol_decision` removed from core, moved to `ect_ext` | Done (both) |
| `sub` removed | Done (both) |
| `typ: wimse-exec+jwt` -> `exec+jwt` (preferred) | Done (both) |
| `MaxParLength` -> `MaxPredLength` | Done (both) |
| Hash format: `algorithm:base64url` -> plain base64url | **Fixed in this session** (Go was still using old format) |
### Remaining items (not claim name changes)
- L1 support (unsigned JSON ECTs) — not yet implemented
- L3 support (audit ledger hash chain + receipts) — not yet implemented
---
## 2026-04-03 — Draft Assessment and Cleanup
### Current State

Submodule workspace/drafts/ietf-wimse-ect updated: 884d2dc836...ba38569319