web-dev-qa-db-ja.com

devtools :: install_github()-SSL証明書の検証の失敗を無視する

Windows7の企業プロキシの背後でdevtools::install_github()を機能させようとしています。

これまでのところ、私は次のことをしなければなりませんでした:

> 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 にアクセスし、証明書を調べることで確認できます)。

とにかく、その証明書エラーを無視してインストールを続行する方法があるかどうか疑問に思っていますか?

18
Tommy O'Dell

この問題を処理する1つの方法は、CURLOPT_SSL_VERIFYPEERをfalseに設定することです。このオプションは、curlがピアの証明書の信頼性を検証するかどうかを決定します。値1は、カールが検証されることを意味します。 0(ゼロ)はそうではないことを意味します。 http://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html

関連するオプションをRCurlに渡す必要があります。 RCurlでは、CURLOPT_が削除され、文字は小文字になり、アンダースコアは.に変更されます。

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

RCurlを使用する場合、関連するオプションをhttrに渡します。

更新:

この回答が書かれてからのhttrは、根本的な依存関係としてのRCurlからcurlパッケージに移動しました。 cURLオプションがアンダースコアで指定されるようになったため、上記は次のようになります。

set_config( config( ssl_verifypeer = 0L ) )

httrの現在のバージョン。

27
jdharrison

@jdharrisonbutメソッドに疲れましたが、うまくいきませんでした。

Https接続の使用を回避するための簡単な修正は、httpsをhttpに置き換えることです。この方法でcranからパッケージをインストールします。

install.packages( " http://cran.r-project.org/src/contrib/ggvis_0.4.4.tar.gz "、repo = NULL、type = "source")

0
Vivek Barsopia