2023Windowsのcygwin/MSYS2/RでSSL証明書問題の解消[Computer]ネットワークの制限の関係で、中間者傍受を許容する設定での運用になっていたとします。そこでのWindowsの設定は、いわゆるオレオレ証明書を『信頼されたルート証明機関』に配置をすることになります。Windowsと親和性が高いアプリでしたら、ほぼそれですべて解決するのですが、残念ながらそうでないものがいくつかありましたので、その解決方法をまとめておきたいと思います。CygwinwgetとかcurlをやっているときにSSLがどうたらというエラーを吐いて死ぬので気が付きます。overflowに書いてあるやり方でうまくいきます。加えたオレオレ証明書の内容を証明書溜り(/etc/pki/ca-trust/extracted/openssl)に追加もしupdate_ca-trustがなければca-certificatesを導入しましょう。MSYS2pacmanが文句を言ってくるところで気が付きました。解消方法はcygwinと同じです。MSYS2のFAQにも解説があります。いう形でエラーが表示されることが気が付きました。R-3.6からR-4.2に切り替えたところでこのようなエラーが出始めて大変困っていました。これはデフォルトのダウンロード方法()であったwininetが非推奨になり、libcurlへと変わったために起きたようです。回避方法としてはlibcurlにおとなしくなってもらいます。URLsの項目に詳しい説明がありました(l最新版へのリンクなのでそのうち内容が変わってしまうかもです)。結果的にはibcurlの動作モード(libcurlVersion()で取得できる)がSchannel(OS提供の証明書情報を参照)で動いていたので本来なら問題は生じないはずなのですが、オレオレ証明書が失効リストに引っかかってしまってたようで、curlを--ssl-no-revokeで動かす必要があることがわかりました。結果、Rとしては環境変数の設定としてSys.setenv(R_LIBCURL_SSL_REVOKE_BEST_EFFORT=TRUE)とすれば動作するようになりました。毎回コマンドを打ち込むのは面倒なので、起動時に設定されるよう.Rprofileの.Firstに書いておくとよいと思います。良い方法ではないですが、非推奨のwininetに戻すこともできます。options(download.file.method="wininet")他にもダウンロード手段をcurlとし、オプション-kで証明書を無視する方法もあります。No匿名でのコメントは受け付けておりません。名前(ハンドル名可)とメールアドレスは必ず入力してください。メールアドレスを表示されたくないときはURLも必ず記入してください。コメント欄でHTMLタグは使用できません。コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。