Node-red and node-red-nodes email nodes are not FIPS compliant

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?

1 Like

First raise an issue here & add the above detail and a comment about wishing to provide a PR.

We will assess the issue and PR as they arrive.

Thanks for your interest.

1 Like