Skip to content

Fix digest omission for ordinary xmlns-prefixed attributes - #8

Closed
cjbarth wants to merge 8 commits into
masterfrom
codex/fix-xmlns-attribute-digest
Closed

cjbarth wants to merge 8 commits into
masterfrom
codex/fix-xmlns-attribute-digest

Conversation

@cjbarth

@cjbarth cjbarth commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Regression and fix for XMLDSig reference digests that omitted ordinary attributes whose names begin with xmlns.

checkSignature() previously returned true after xmlnsRole="user" in a signed element was changed to "admin", with either inclusive or exclusive C14N. The canonicalizers now exclude only actual namespace declarations (xmlns and xmlns:*), and ancestor namespace collection uses the same distinction.

The public regression tests failed before the fix: 516 passing, 2 failing in Actions run 37001060089 (Node 24); the added ancestor namespace test also failed in run 37001256907 (Node 16). Final CI pending. Existing signatures over XML containing such ordinary attributes may not verify after the fix, as their digest was computed from incomplete canonical bytes.

This draft fork PR is for red/green CI validation. The intended release PR will target node-saml/xml-crypto:master once repository access is enabled.

@cjbarth
cjbarth changed the base branch from master to codex/upstream-master-base-633 October 2, 2026 11:33
@cjbarth
cjbarth changed the base branch from codex/upstream-master-base-633 to master October 2, 2026 11:35
@cjbarth cjbarth closed this Oct 2, 2026
cjbarth added a commit that referenced this pull request Oct 13, 2026
…Node version

Node 16 refuses PKCS #8 data labelled RSA PRIVATE KEY, and later
versions read it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant