Подтвердить что ты не робот

Devtools:: install_github() - Игнорировать неудачу проверки сертификата SSL

Я пытаюсь получить devtools::install_github(), работающий за моим корпоративным прокси в Windows 7.

До сих пор мне приходилось делать следующее:

> 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

По-видимому, у нас есть какой-то сервер сертификатов, заменяющий сертификаты SSL нашими собственными корпоративными сертификатами SSL (подтвержденный путем перехода на https://github.com и изучения CERT).

Во всяком случае, просто интересно, есть ли способ игнорировать эту ошибку сертификата и продолжить установку?

4b9b3361

Ответ 1

Один из способов решения проблемы - установить CURLOPT_SSL_VERIFYPEER в значение false. Этот параметр определяет, проверяет ли curl подлинность сертификата однорангового узла. Значение 1 означает, что curl проверяет; 0 (ноль) означает, что это не так. http://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html

Соответствующий параметр необходимо передать в RCurl. В RCurl CURLOPT_ удаляются буквы arre в нижнем регистре, а знак подчеркивания изменяется на ..

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

передаст соответствующий параметр RCurl при использовании httr.

UPDATE:

httr, поскольку этот ответ был написан, переместился из RCurl в качестве базовой зависимости к пакету curl. теперь указаны параметры cURL с подчеркиванием, так что выше было бы:

set_config( config( ssl_verifypeer = 0L ) )

в текущей версии httr.