Description
Details
We are trying to build node 18 off of your docker image. we are using a custom alpine:3.17 base image that installs openssl 3.0.8 and enables fips. We are running into an issue with the variable NODE_EXTRA_CA_CERTS
that returns the error
node[1]: ../src/node.cc:1040:std::unique_ptr<node::InitializationResult> node::InitializeOncePerProcess(const std::vector<std::__cxx11::basic_string<char> >&, node::ProcessFlags::Flags): Assertion `crypto::CSPRNG(nullptr, 0).is_ok()' failed.
I am having trouble finding any relevant information on the error nor that variable. My main question is "is node18 compatible with openssl 3.0.8? I see here that it is compatible and fips capable with openssl 3.0.0
One other question if you know would be where that variable would store the cert in the container? NODE_EXTRA_CA_CERTS
Node.js version
18.16.0
Example code
I can paste the dockerfiles if you would like.
docker run -e NODE_EXTRA_CA_CERTS=cert.pem nodejs18-slim:test1
[[AWarning: Ignoring extra certs from `cert.pem`, load failed: error:80000002:system library::No such file or directory
node[1]: ../src/node.cc:1040:std::unique_ptr<node::InitializationResult> node::InitializeOncePerProcess(const std::vector<std::__cxx11::basic_string<char> >&, node::ProcessFlags::Flags): Assertion `crypto::CSPRNG(nullptr, 0).is_ok()' failed.
Operating system
locally it is a mac intel 86x64x
Scope
Runtime error that i think might be cause by our base image. Not a developer so am unfamiliar with node. I have googled this extensively but am lost at this point. Our image works fine thus far except for then trying to pass in new certs.
Module and version
Not applicable.