moodle.orgのSSL証明書

あらすじ

注:これは2013年4月11日の時点で更新されています - MoodleはGeoTrust認証局に移動しました

あなたが、管理者として、 利用可能なアップデートをチェックするまたはアップデートを インストールするとき 、あなたのMoodleサイトはmoodle.orgと通信する必要があります。この通信は安全なHTTPSプロトコルを介して行われます。あなたのMoodleサイトはmoodle.orgのSSL証明書( Moodleプラグインディレクトリなど )を検証し、その身元を確認します。この検証に合格するには、moodle.orgの証明書を発行した認証局(CA)の証明書(PEM形式)がサーバーにインストールされている必要があります。

moodle.orgのSSL証明書はGeoTrust 認証局によって発行されました。

問題

このCA証明書がないと、リモートサイト(moodle.org)を検証できないため、あなたのMoodleサイトはデータの取得を拒否します(いわゆる中間者攻撃からあなたを保護するため)。サーバー上の証明書の正確な場所は、OSの種類やその他の設定によって異なります。 Linuxサーバでは、通常/usr/share/ca-certificates/mozilla/GeoTrust_Primary_Certification_Authority.crtにあります

使用可能な更新を確認してそれらをインストールしようとすると、CA証明書が欠落しているとエラーになります。

ソリューション

オペレーティングシステムを更新する(推奨)

この問題を解決するための推奨される方法は、共通認証局からの最近のSSL証明書が含まれるようにサーバーのオペレーティングシステムを更新することです。これはWindowsサーバーには役立ちません。 Windowsでは、PHPにバンドルされているcURLライブラリはOSにインストールされているCA証明書を使用しないため、次に説明する代替ソリューションを使用する必要があります。

DebianおよびRedHatベースの配布の場合、CA証明書はca-certificatesパッケージで配布されています。 Gentooサーバはapp-misc / ca-certificates ebuildを通してそれらを提供します。 OpenSSLライブラリ(libssl)とcURLライブラリ(libcurl)がサーバー上で最新のものであることを確認することもお勧めです。

手動でCA証明書を提供する

オペレーティングシステムを更新することがあなたの選択ではない場合、またはサーバーの管理者がサーバー上のCA証明書を更新することを拒否する(そうするための正当な理由がないにもかかわらず)、またはOSにインストールされたCAを更新しませんでした(Windowsサーバーの場合などの)ヘルプを使用する場合、考えられる回避策はcURLサイトから必要な証明書のバンドルをダウンロードすることです。あなたはそこからファイルcacert.pemをダウンロードしてあなたのmoodledata / moodleorgca.crtファイルに入れる必要があります(すなわち、cacert.pemファイルをダウンロードし、それをmoodleorgca.crtに改名してそれをあなたのmooodledataにアップロードしてください)。このファイルがmoodledataにある場合、Moodleはオペレーティングシステムによって提供された証明書に頼る代わりにそれを使用します。

上記のようにサーバーのオペレーティングシステムにCA証明書を持つことが、実際には推奨される解決策であることを強調しておく必要があります。 moodleorgca.crtに基づく解決策は、一時的な修正としてのみ考慮されるべきです(それがWindowsサーバでそれを機能させる唯一の方法のようです)。

あるいは、直接ルート証明書がここにあります。これをダウンロードしてシステムにインストールすることができます。 GeoTrustプライマリCA

編集(CentOS 6)12-FEB-2016 curl.haxxx.se回避策は、CentOS 6のTurnitin(turnitintwo)ではうまく機能しません。

  1. openssl CA証明書を再インストールする

CAストアを更新するには、update-ca-trustコマンドを使用します。

  1. update-ca-trust