Remove line in defaults (private) method and put the same functionality in the method that it calls, config (private). Also, get rid of comma in the defaults method's return hash. Remove a comma after the variable 'extension' in that return hash, as it causes confusion as to whether that var. is referencing the first element of an array instead of a string.
…e BROWSER variable, defined in some Linux distributions.
Turns out ca_file is the only way to make validation work. Creating a new X509 cert object out of the CA file only grabs one of the certificates, not the entire chain. Without the rest of the intermediate certs in the chain, verification fails on any machine that doesn't already have those certs.