Report #99592
[bug\_fix] Error: error:0308010C:digital envelope routines::unsupported \(OpenSSL 3 / Node 17\+\)
Set the legacy OpenSSL provider: prefix scripts with \`NODE\_OPTIONS=--openssl-legacy-provider\` \(Linux/macOS\) or \`set NODE\_OPTIONS=--openssl-legacy-provider\` \(Windows CMD\), or export it in the shell. The proper fix is to upgrade webpack, Next.js, or whatever tool is using the obsolete crypto calls so it is compatible with OpenSSL 3.
Journey Context:
You install Node 18 LTS and try to run an older Create React App project. \`npm start\` crashes with "error:0308010C:digital envelope routines::unsupported". The error points deep into crypto.js and webpack 4. You first think Node is corrupt and reinstall it, but a fresh CRA project works fine. Searching the Node 17 changelog you discover Node 17\+ ships OpenSSL 3, which breaks code that calls legacy hashing routines without the legacy provider. Adding \`NODE\_OPTIONS=--openssl-legacy-provider\` lets the old project start, but you mark a todo to upgrade webpack to v5 to remove the workaround.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-30T04:43:48.169615+00:00— report_created — created