Problem
Callers configure built-in canonicalization, digest, and signature algorithms with XMLDSig URI strings. The README and tests copy those strings from the algorithm registries. The public option types permit arbitrary strings so custom algorithms can be registered, which also means TypeScript does not catch a misspelled built-in URI. The existing registry lookup rejects an unsupported URI at runtime, when signing or verifying uses it.
This is a usability and maintenance issue for a 6.4 minor release. PR #643 keeps its regression tests on the current public API and should not add a new algorithm-selection API in the 6.3.3 patch.
6.4 design work
- Provide a documented public way for JavaScript and TypeScript callers to select each built-in canonicalization, digest, and signature algorithm without copying URI literals. Consider exported constants or another small API.
- Preserve custom algorithm registration and support for custom URI strings.
- Decide whether invalid configuration should fail earlier than the current algorithm lookup, and document when and how an unsupported URI is reported.
- Update README examples and public-boundary tests to demonstrate the chosen API and confirm that unsupported and custom identifiers behave as intended.
Related: #643. The older request in #483 concerned static access to registries; this issue is specifically about discoverable built-in identifiers and typo-resistant configuration.
Problem
Callers configure built-in canonicalization, digest, and signature algorithms with XMLDSig URI strings. The README and tests copy those strings from the algorithm registries. The public option types permit arbitrary strings so custom algorithms can be registered, which also means TypeScript does not catch a misspelled built-in URI. The existing registry lookup rejects an unsupported URI at runtime, when signing or verifying uses it.
This is a usability and maintenance issue for a 6.4 minor release. PR #643 keeps its regression tests on the current public API and should not add a new algorithm-selection API in the 6.3.3 patch.
6.4 design work
Related: #643. The older request in #483 concerned static access to registries; this issue is specifically about discoverable built-in identifiers and typo-resistant configuration.