Chris,
rest.js relies heavily on the facilities in it's host environment for the low level mechanics of establishing this socket and actually sending the HTTP request. The purpose of rest.js is to manage the content of the requests.
With the caveat that I have not worked with SSL on node, here are a couple possible approaches:
1. trust the certificate in question
The docs are a little sparse on how to do this globally, surely there is a way...
To use your custom client, you can chain interceptors off of it just like the default client returned from `require('rest')`. The other option is to make that client the new default client for all rest.js requests:
rest.setDefaultClient(yourNewClient);
I may consider adding support for the 'ca' property directly in the node client. (i.e. if you yell at me loudly enough)
2. disable SSL verification (please don't do this)
Add this to your env `NODE_TLS_REJECT_UNAUTHORIZED=0` to disable SSL certificate verification. Again, please don't do this except is a very controlled environment, SSL verification is what ensures you're talking to your bank, and not the NSA pretending to be your bank (not that they would do such a thing)
Let me know how it goes.
-Scott