2014-07-17 13 views
16

Sto cercando di ottenere devtools::install_github() lavorare dietro il mio proxy aziendale su Windows 7.DevTools :: install_github() - Ignora errore di verifica SSL cert

Finora ho dovuto effettuare le seguenti operazioni:

> 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 

Apparentemente abbiamo un qualche tipo di server certificato che sostituisce i certificati SSL con i nostri certificati SSL aziendali (confermato andando a https://github.com ed esaminando il certificato).

In ogni caso, mi chiedo solo se c'è un modo per ignorare tale errore cert e procedere con l'installazione?

+1

Potrebbe non essere la soluzione migliore ma scaricare il file zip dal repository Github e installare localmente una soluzione accettabile se tutto il resto fallisce? – Dason

+0

Buona idea: non l'avevo nemmeno preso in considerazione. Ancora molto sperando di non doverlo fare comunque. –

+3

Prova 'set_config (config (ssl.verifypeer = 0L))' – jdharrison

risposta

25

Un modo per gestire il problema è impostare CURLOPT_SSL_VERIFYPEER su falso. Questa opzione determina se il curl verifica l'autenticità del certificato del peer. Un valore di 1 significa curl verifica; 0 (zero) significa che non lo fa. http://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html

L'opzione pertinente deve essere passata a RCurl. In RCurl il CURLOPT_ viene rimosso con lettere arre minuscole e il carattere di sottolineatura viene modificato in ..

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

passerà l'opzione rilevante per RCurl quando si utilizza httr.

UPDATE:

Il httr poiché questa risposta è stata scritta è spostata dalla RCurl come dipendenza sottostante al pacchetto curl. opzioni CURL sono ora specificati di sottolineatura in modo quanto sopra sarebbe:

set_config(config(ssl_verifypeer = 0L)) 

nella versione corrente di httr.

+5

Doveva cambiare ssl.verifypeer -> ssl_verifypeer dopo l'aggiornamento di Ubuntu e R. –

+1

@jdharrison non poteva trovare la funzione "set_config" – skan

+1

Devi caricare il pacchetto 'httr' prima di provare a usare lo snippet set_config qui. –

Problemi correlati