Self signed certificate in certificate chain

#1

I’m attempting to login via the exp command line tool, and it gives me this error:

$ exp login --github
[exp] self signed certificate in certificate chain
[exp] Error: self signed certificate in certificate chain
at TLSSocket. (_tls_wrap.js:1084:38)
at emitNone (events.js:86:13)
at TLSSocket.emit (events.js:188:7)
at TLSSocket._finishInit (_tls_wrap.js:606:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:436:38)

This is at my work and we have a corporate proxy in place that does have a self-certified SSL cert in its chain.

Other tools give you a way of getting around this error, although at the expense of loosening up your security settings. E.g. with Git, I can add sslVerify = false option to the .gitconfig file. Is there any similar option for the exp tool?

#2

We don’t have a built in way to get around this. You might be able to set an env variable to get Node to ignore this error: https://stackoverflow.com/questions/10888610/ignore-invalid-self-signed-ssl-certificate-in-node-js-with-https-request

#3

Thanks, Jesse. That worked!

Specifically, adding the following to my .bashrc file (using Git Bash on Windows):

export NODE_TLS_REJECT_UNAUTHORIZED=0

then restarting my Bash shell.

After logging in though, I got the warning message:

Warning: .end() was called twice. This is not supported in superagent

which I had to Ctrl->C out of. When I then tried and exp init command, it gave me that same superagent warning, before failing with:

[exp] Couldn’t connect to the server, check your internet connection.

I’ll search the forums for that one.