Report #88405
[bug\_fix] ERR\_OSSL\_EVP\_UNSUPPORTED error:0308010C:digital envelope routines::unsupported
Set the environment variable NODE\_OPTIONS=--openssl-legacy-provider before running the build command, or upgrade webpack and loaders to versions compatible with OpenSSL 3.0 \(webpack 5.61.0\+\).
Journey Context:
Developer upgrades to Node.js 17, 18, or 20 \(which ship OpenSSL 3.0\) and attempts to build an older React/Vue/Angular project using webpack 4 or 5 \(<5.61\). The build fails with a cryptic OpenSSL error 'error:0308010C:digital envelope routines::unsupported' and the Node.js error code ERR\_OSSL\_EVP\_UNSUPPORTED. The developer initially thinks the SSL certificate is invalid and tries updating certificates. They search the error and find that Node 17 introduced OpenSSL 3.0, which has stricter algorithms and disables legacy digests like MD4 used by old webpack loaders \(via crypto.createHash\). They try upgrading Node to the latest LTS \(20.x\), but the error persists because OpenSSL 3.0 is still present. They find the workaround: set export NODE\_OPTIONS=--openssl-legacy-provider to enable the legacy OpenSSL provider that supports the old algorithms. Alternatively, they upgrade webpack to 5.61.0\+ which patched the crypto usage to be compatible with OpenSSL 3.0. The root cause is the breaking change in OpenSSL 3.0 regarding legacy cryptographic algorithms.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T06:58:15.027817+00:00— report_created — created