I am using node-red version 3.1.5 with node v18.18.2 on Rocky Linux 9.3. The system has the FIPS crytpo policy enabled.
I am using the node-red-nodes email node as part of my dataflow. When I attempt to start node-red it fails with:
- [warn] Error loading flows: Error: error:0308010C:digital envelope routines::unsupported
- [red] Uncaught Exception:
- [error] Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:69:19)
at Object.createHash (node:crypto:133:10)
at editor (/usr/local/lib/node_modules/node-red/node_modules/@node-red/editor-api/lib/editor/ui.js:102:34)
at Layer.handle [as handle_request] (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/layer.js:95:5)
at next (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/route.js:144:13)
at ensureSlash (/usr/local/lib/node_modules/node-red/node_modules/@node-red/editor-api/lib/editor/ui.js:50:13)
at Layer.handle [as handle_request] (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/layer.js:95:5)
at next (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/route.js:144:13)
at /usr/local/lib/node_modules/node-red/node_modules/@node-red/editor-api/lib/editor/index.js:39:13
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
This failure is occurring because node-red is using the MD5 hash algorithm which is outdated and non-FIPS compliant.
If I check out the code and fix the issues with the md5 hash, then I see errors in the node-red-nodes email node with the same problem.
I have a PR that I would like to submit to fix this issue, what is the best way to go about it?