3

In order to use private npm registry I am trying to setup credentials and ca certs in project's .npmrc file .

like following:

ca[]=<ROOT_CA> # NOTE this needs to string in double quotes, with newlines replaced be \n
ca[]=<INTERMEDIATE_CA> # NOTE this needs to string in double quotes, with newlines replaced be \n

And it works absolutely fine.

But when I move these values to system environment (Mac OS .zshrc) & try to read like following :

ca[]="${NPM_REG_ROOT_CERT}"
ca[]="${NPM_REG_INTERMEDIATE_CERT}"

It gives me error like following

npm ERR! code UNABLE_TO_VERIFY_LEAF_SIGNATURE
npm ERR! errno UNABLE_TO_VERIFY_LEAF_SIGNATURE
npm ERR! request <complete path to dependency> failed, reason: unable to verify the first certificate

I have ensured the env values are available & everything works fine (other login credentials are also coming from environment only).

These CA certs are having issue while loading from system environment ! If I disable strict-ssl things work. It means other credentials are loading correctly from system environment .

Am I missing something here ?

Could it be related to format of CA cert string stored in system environment. I am setting it as base64 string having newline replaced with \n.

Please help.

Rahul Bhooteshwar
  • 1,675
  • 17
  • 31

0 Answers0