Skip to content

Use SHA-256 instead of SHA3-256 for record hashing#250

Open
darnjo wants to merge 49 commits into
mainfrom
fix-sha3-electron-compatibility
Open

Use SHA-256 instead of SHA3-256 for record hashing#250
darnjo wants to merge 49 commits into
mainfrom
fix-sha3-electron-compatibility

Conversation

@darnjo

@darnjo darnjo commented Apr 14, 2026

Copy link
Copy Markdown
Member

Summary

  • Replace sha3-256 with sha256 in hashJsonData() for Electron compatibility

Electron bundles BoringSSL (Google OpenSSL fork), which does not support SHA3 algorithms. This causes createHash to throw Digest method not supported when running cert-utils inside the RESO Desktop Client.

SHA-256 is equally suitable for deduplication hashing -- the values are session-local and not persisted or compared across environments.

Test plan

  • All 122 existing tests pass (verified locally)
  • Confirm cert-utils runs in Electron desktop client without hash errors
  • Confirm CLI usage is unaffected

darnjo and others added 30 commits May 6, 2025 09:26
Update referenced version to v2.0.0
darnjo and others added 19 commits November 24, 2025 11:29
Electron bundles BoringSSL which does not support SHA3 algorithms.
This causes createHash to throw when running cert-utils inside the
RESO Desktop Client. SHA-256 is equally suitable for dedup hashing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When throwOnError is true, schema validation errors and other fatal
conditions throw an Error instead of calling process.exit(). This
allows the SDK and Electron desktop client to catch failures and
handle them gracefully without killing the process.

The thrown error for schema validation includes the full
schemaValidationResults on the error object for programmatic access.

Default is false, preserving existing CLI behavior.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Base automatically changed from v3.0.0 to main June 15, 2026 20:14
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