Tommy O'Dell Tommy O'Dell - 3 months ago 9
R Question

devtools::install_github() - Ignore SSL cert verification failure

I'm trying to get

devtools::install_github()
working behind my corporate proxy on Windows 7.

So far I've had to do the following:

> library(httr)
> library(devtools)
> set_config(use_proxy("123.123.123.123",8080))
> devtools::install_github("rstudio/ggvis")

Installing github repo ggvis/master from rstudio
Downloading master.zip from https://github.com/rstudio/ggvis/archive/master.zip
Error in function (type, msg, asError = TRUE) :
SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed


Apparently we have some kind of certificate server replacing SSL certs with our own corporate SSL certs (confirmed by going to https://github.com and examining the cert).

Anyhow, just wondering if there's a way to ignore that cert error and proceed with the installation?

Answer

One way to handle the problem is to set the CURLOPT_SSL_VERIFYPEER to false. This option determines whether curl verifies the authenticity of the peer's certificate. A value of 1 means curl verifies; 0 (zero) means it doesn't. http://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html

The relevant option needs to be passed to RCurl. In RCurl the CURLOPT_ is removed letters arre lowercase and the underscore is changed to ..

set_config( config( ssl.verifypeer = 0L ) )

will pass the relevant option to RCurl when using httr.