私はUNLのDB(UNサイトにlink)とのインターフェイスを提供するCRAN上のAPIパッケージを持っています。これは、curlパッケージを使用するhttrを使用して構築されています。CRAN pkgでssl_verifypeer = FALSEを使用していますか?
Error in curl::curl_fetch_memory(url, handle = handle) : Peer certificate cannot be authenticated with given CA certificates
基本的な接続を完了することから、カールを防止するCA証明書の問題がありますを意味し、どの:私は、彼らがすべてのエラーメッセージで失敗、私のパッケージのコア機能は、もはやWindowsマシン上で正常に動作したことを昨日発見しました。これを少し調べてみると、DBをホストしている国連のサイトが問題だと思います。そのSSL証明書はssldecoderごとに無効です(link参照)。
この問題を回避する簡単な修正方法は、httr::GET()
へのすべての呼び出しにパラメータssl_verifypeer = FALSE
を追加することです。ただし、サイトの証明書の有効性に関係なく、カールが接続を確立するように基本的に指示するため、これはセキュリティ上の理由から理想的なソリューションではありません。
私の質問は、CRANパッケージ内でこのパラメータを使用するコンセンサスは何ですか?国連のウェブサイトは(おそらく)安全であることに留意してください。
フィードバック@hrbrmstrをありがとう。私はCRANに電子メールを送って、何が起こっているのかを知らせ、問題が解決されるまでパッケージを取り下げることを提案しました。また、私はUN Comtradeのウェブサイトにバグレポートを提出し、私が見つけたものを頭に入れ、最近SSL証明書を変更したかどうかを尋ねました。最後の質問ですが、私はまだCSVデータをread.csvとjsonデータでサイトから引き出すことができます...これは単にこれらのオプションがhttr/curlより本質的に安全性が低いことを意味しますそれらに頼るべきではない)? –