Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

証明書を手動でインストールする

最終更新 Markdown で表示Agent セットアップ

デバイスが Cloudflare One Client による証明書インストール に対応していない場合は、Cloudflare 証明書を手動でインストールできます。証明書は システムのキーチェーン個別アプリケーションのストア の両方に追加する必要があります。HTTP フィルタリングの対象にする新しいデバイスごとに、これらの手順を実行します。

Zero Trust が検査に使うのは、Available かつ In-Use に設定されたインストール済み証明書だけです。

証明書を手動でインストールするには、次を行います。

  1. Cloudflare 証明書をダウンロードし、検証します。
  2. オペレーティングシステムの証明書ストアに証明書をインストールします。
  3. 対象アプリケーションがオペレーティングシステムの証明書を受け付けない場合は、アプリケーションの証明書ストアにもインストールします。

1. Cloudflare ルート証明書をダウンロードする

まず、Cloudflare 証明書を 生成 してダウンロードします。証明書は .pem.crt の両方の形式で入手できます。アプリケーションによっては特定のファイル種類が必要なので、用途に合ったファイルをダウンロードしてください。

  1. Cloudflare ダッシュボード で、Zero Trust > Traffic policies > Traffic settings を開きます。
  2. Certificates を選びます。
  3. ダウンロードする証明書を選びます。
  4. More actions を選びます。
  5. 欲しい形式に応じて、Download .pem または Download .crt(あるいは両方)を選びます。

または、Cloudflare One Client を使って 証明書をダウンロードしてインストールできます。Cloudflare One Client は、証明書をデバイスのシステム証明書ストアの installed_certs/<certificate_id>.pem に追加します。

2. ダウンロードした証明書を検証する

ダウンロードを検証するには、ターミナルで、ダウンロードした証明書のハッシュが Certificate thumbprint に表示されているサムプリントと一致することを確認します。例:

SHA1

SHA1 .crt の例sh
openssl x509 -noout -fingerprint -sha1 -inform der -in <certificate.crt>
SHA1 Fingerprint=BB:2D:B6:3D:6B:DE:DA:06:4E:CA:CB:40:F6:F2:61:40:B7:10:F0:6C
SHA1 .pem の例sh
openssl x509 -noout -fingerprint -sha1 -inform pem -in <certificate.pem>
SHA1 Fingerprint=BB:2D:B6:3D:6B:DE:DA:06:4E:CA:CB:40:F6:F2:61:40:B7:10:F0:6C

SHA256

SHA256 .crt の例sh
openssl x509 -noout -fingerprint -sha256 -inform der -in <certificate.crt>
sha256 Fingerprint=F5:E1:56:C4:89:78:77:AD:79:3A:1E:83:FA:77:83:F1:9C:B0:C6:1B:58:2C:2F:50:11:B3:37:72:7C:62:3D:EF
SHA256 .pem の例sh
openssl x509 -noout -fingerprint -sha256 -inform pem -in <certificate.pem>
sha256 Fingerprint=F5:E1:56:C4:89:78:77:AD:79:3A:1E:83:FA:77:83:F1:9C:B0:C6:1B:58:2C:2F:50:11:B3:37:72:7C:62:3D:EF

3. (任意)証明書を変換する

一部のアプリケーションは .cer 形式の証明書を必要とします。OpenSSL でダウンロードした証明書を変換できます。

  1. OpenSSL をインストール します。
  2. .pem 形式の Cloudflare 証明書をダウンロード します。
  3. ターミナルで、証明書を DER 形式の .cer ファイルへ変換します。
    openssl x509 -inform PEM -in ~/Downloads/certificate.pem -outform DER -out ~/Downloads/certificate.cer
  1. Windows 向け OpenSSL をインストール します。
  2. .pem 形式の Cloudflare 証明書をダウンロード します。
  3. PowerShell ターミナルで、証明書を DER 形式の .cer ファイルへ変換します。
    openssl x509 -inform PEM -in "$HOME\Downloads\certificate.pem" -outform DER -out "$HOME\Downloads\certificate.cer"

4. オペレーティングシステムに証明書を追加する

デスクトップデバイスへ Cloudflare 証明書をデプロイする場合は、Cloudflare One Client で証明書をインストールする 方法を使ってください。

モバイルデバイスでは、次の手順による手動インストールが必要です。

macOS

macOS では、証明書をインストールするキーチェーンを選べます。キーチェーンごとに、ルート証明書を信頼したときに影響を受けるユーザーが変わります。

キーチェーン アクセス範囲
login ログイン中のユーザー
Local Items キャッシュされた iCloud パスワードへアクセスできるユーザー
System システム上のすべてのユーザー

macOS に Cloudflare 証明書をインストールするには、Keychain Access アプリケーションまたはターミナルを使えます。どちらの方法でも、.crt 形式の 証明書をダウンロード する必要があります。

  1. Cloudflare 証明書をダウンロードします。
    1. Keychain Access で .crt ファイルを開きます。求められた場合は、ローカルのパスワードを入力します。
    2. Keychain で、用途に合うアクセスオプションを選び、Add を選択します。
    3. 証明書の一覧で、いまインストールした証明書を探します。Keychain Access は、この証明書を信頼されていない状態として表示します。証明書を右クリックし、Get Info を選択します。
    4. Trust を選択します。When using this certificateAlways Trust を選びます。

ルート証明書がインストールされ、使える状態になります。

  1. Cloudflare 証明書をダウンロードします。
  2. ターミナルを開きます。
  3. キーチェーンに証明書を追加します。
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <path-to-certificate.crt>

このキーチェーンでは、システム上のすべてのユーザーが証明書を使えます。別のキーチェーンへインストールする場合は、System.keychain をそのキーチェーン名に置き換えます。

  1. OpenSSL の CA ストアを更新し、Cloudflare 証明書を含めます。
echo | sudo tee -a /etc/ssl/cert.pem < certificate.pem

ルート証明書がインストールされ、使える状態になります。

Windows

Windows では証明書のインストール先が 2 つあり、ルート証明書を信頼したときに影響を受けるユーザーが変わります。

ストアの場所 アクセス範囲
Current User Store ログイン中のユーザー
Local Machine Store システム上のすべてのユーザー
  1. Cloudflare 証明書をダウンロード します。
  2. 証明書ファイルを右クリックします。
  3. Open を選びます。セキュリティ警告が出た場合は Open を選んで続行します。
  4. Certificate ウィンドウが表示されます。Install Certificate を選びます。
  5. ストアの場所を選びます。セキュリティ警告が出た場合は Yes を選んで続行します。
  6. 次の画面で Browse を選びます。
  7. リストから Trusted Root Certification Authorities ストアを選びます。
  8. OK を選び、Finish を選びます。

ルート証明書がインストールされ、使える状態になります。

Linux

ルート証明書のインストール先は、Linux ディストリビューションによって異なります。お使いのディストリビューションの手順に従ってください。

次の手順は、Debian、Ubuntu、Kali Linux などの Debian 系システム向けです。

  1. .pem 形式の Cloudflare 証明書をダウンロード します。

  2. ca-certificates パッケージをインストールします。

    sudo apt-get install ca-certificates
  3. 証明書をシステムへコピーし、拡張子を .crt に変更します。

    sudo cp certificate.pem /usr/share/ca-certificates/certificate.crt
  4. 証明書をインポートします。

    sudo dpkg-reconfigure ca-certificates

次の手順は、CentOS および Red Hat Enterprise Linux(RHEL)などの Red Hat 系システム向けです。

  1. .crt.pem の両方の形式で Cloudflare 証明書をダウンロード します。

  2. ca-certificates パッケージをインストールします。

    sudo dnf install ca-certificates
  3. 両方の証明書をトラストストアへコピーします。

    sudo cp certificate.crt certificate.pem /etc/pki/ca-trust/source/anchors
  4. 証明書をインポートします。

    sudo update-ca-trust

NixOS は自己更新にシステム証明書ストアを使わず、~/.nix-profile/etc/ssl/certs にある証明書、または実行時に NIX_SSL_CERT_FILE で渡された証明書に依存します。

iOS

  1. Safari で、.pem 形式の Cloudflare 証明書をダウンロード します。
  2. ファイルを開き、Recents を開きます。
  3. ダウンロードした証明書ファイルを見つけて開きます。プロファイルがダウンロードされたことを示すメッセージが表示されます。Close を選びます。
  4. 設定を開きます。Apple アカウント情報の下の Profile Downloaded を選びます。または General > VPN & Device Management を開き、Gateway CA - Cloudflare Managed G1 プロファイルを選びます。
  5. Install を選びます。iOS デバイスがパスコード保護されている場合は、パスコードの入力を求められます。
  6. 証明書の警告が表示されます。Install を選びます。2 回目の確認が出た場合は、もう一度 Install を選びます。
  7. Profile Installed 画面が表示されます。Done を選びます。証明書はインストール済みですが、使う前にデバイスで信頼する必要があります。
  8. 設定で General > About > Certificate Trust Settings を開きます。インストール済みのルート証明書が Enable full trust for root certificates の下に表示されます。
  9. Cloudflare 証明書をオンにします。
  10. セキュリティ警告が表示されます。Continue を選びます。

ルート証明書がインストールされ、使える状態になります。

Android

  1. Cloudflare 証明書をダウンロード します。
  2. 設定で Security > Advanced > Encryption & credentials > Install a certificate を開きます。
  3. CA certificate を選びます。
  4. Install anyway を選びます。
  5. 本人確認をします。
  6. インストールする証明書ファイルを選びます。

ルート証明書がインストールされ、使える状態になります。

ChromeOS

ChromeOS デバイスは、ルート証明書の保存とデプロイの方法が異なります。証明書は VPN and apps または CA certificate の設定に入ることがあります。デバイスに合った手順に従ってください。

  1. Cloudflare 証明書をダウンロード し、.crt 形式で保存します。

  2. Settings > Apps > Google Play Store を開きます。

  3. Manage Android preferences を選択します。

  4. Security & location > Credentials > Install from SD card を開きます。

  1. ファイルを開くダイアログで、ダウンロードした certificate.crt ファイルを選びます。Open を選びます。
  2. 証明書を識別する名前を入力します。Credential useVPN and apps になっていることを確認します。
  3. OK を選びます。
  1. Cloudflare 証明書をダウンロード し、.crt 形式で保存します。

  2. Settings > Apps > Google Play Store を開きます。

  3. Manage Android preferences を選択します。

  4. Security & location > Credentials > Install a certificate > CA certificate を開きます。

  1. プライバシー警告が出た場合は Install anyway を選びます。
  2. ファイルを開くダイアログで、ダウンロードした certificate.crt ファイルを選びます。Open を選びます。
  3. 証明書がインストールされ信頼されていることを確認するには、Settings > Apps > Google Play Store > Manage Android Preferences > Security > Credentials > Trusted credentials > User を開きます。

ChromeOS に Cloudflare 証明書を追加したあと、ブラウザーにも証明書をインストール する必要がある場合があります。

5. アプリケーションに証明書を追加する

一部のアプリケーションはシステム証明書ストアを使わないため、アプリケーションへ直接証明書を追加する必要があります。次のようなアプリケーションでは、このセクションの手順に従い、TLS 復号が正しく動くよう Cloudflare 証明書をアプリケーションへ追加してください。

アプリケーションを更新して Cloudflare 証明書を信頼させないと、アプリケーションは接続を拒否し、信頼されない証明書のエラーが出ます。

次のアプリケーションでは、まず 上記の手順 で Cloudflare 証明書をダウンロードする必要があります。macOS のシステムキーチェーンデータベースファイルのデフォルトパスは /Library/Keychains/System.keychain です。Windows のデフォルトパスは \Cert:\CurrentUser\Root です。

ブラウザー

ブラウザーは独自の証明書ストアを使う場合と、オペレーティングシステムの証明書ストアに依存する場合があります。

Chrome

Chrome 113 より前のバージョンは、macOS と Windows で オペレーティングシステムのルートストア を使います。macOS と Windows の Chrome 113 以降、および Linux と ChromeOS のすべてのバージョンは、Chrome 内部トラストストア を使います。

Cloudflare 証明書を Chrome へ手動でインストールするには:

  1. .pem 形式の Cloudflare 証明書をダウンロード します。
  2. Chrome で Settings > Privacy and security > Security を開きます。
  3. Manage certificates を選びます。
  4. Authorities を開きます。Import を選びます。
  5. ファイルを開くダイアログで、ダウンロードした certificate.pem ファイルを選びます。
  6. ダイアログで Trust this certificate for identifying websitesTrust this certificate for identifying email usersTrust this certificate for identifying software makers をオンにします。OK を選びます。
  7. 証明書がインストールされ信頼されていることを確認するには、Authorities で探します。

組織向けの Cloudflare 証明書インストールについては、Google の Chrome Enterprise and Education ドキュメント を参照してください。

Firefox

Cloudflare 証明書を Firefox へ手動でインストールするには:

  1. .pem 形式の Cloudflare 証明書をダウンロード します。
  2. Firefox で Settings > Privacy & Security を開きます。
  3. SecurityCertificates > View Certificates を選びます。
  4. AuthoritiesImport を選びます。
  5. ファイルを開くダイアログで、ダウンロードした certificate.pem ファイルを選びます。
  6. ダイアログで Trust this CA to identify websitesTrust this CA to identify email users をオンにします。OK を選びます。
  7. 証明書がインストールされ信頼されていることを確認するには、Cloudflare の下の表で探します。

組織向けの Cloudflare 証明書インストールについては、この Mozilla サポート記事 を参照してください。

モバイルデバイス管理(MDM)ソフトウェア

Zero Trust は、複数の モバイルデバイス管理(MDM)ソフトウェアパートナー と連携し、デバイスへ Cloudflare One Client をデプロイできます。

Microsoft Intune

Microsoft Intune で Cloudflare 証明書をアップロードしてデプロイするには:

  1. Cloudflare 証明書をダウンロードし、DER 形式の .cer ファイルへ変換します。
  2. Microsoft Intune で、変換した証明書を使って 信頼済み証明書プロファイルを作成 します。

詳細は Microsoft のドキュメント を参照してください。

Jamf Pro

Jamf Pro で Cloudflare 証明書をアップロードしてデプロイするには:

  1. Cloudflare 証明書をダウンロードし、DER 形式の .cer ファイルへ変換します。
  2. Jamf Pro で、コンピューター構成プロファイルを作る場合は Computers > Configuration Profiles を開き、モバイルデバイス構成プロファイルを作る場合は Devices > Configuration Profiles を開きます。New を選びます。
  3. プロファイルの名前と説明を追加します。
  4. Jamf に証明書を自動インストールさせるかセルフサービスでインストールさせるか、およびデバイス上の 1 人のユーザー向けかすべてのユーザー向けかを選びます。
  5. Add > Certificate を選びます。証明書ファイルを選びます。
  6. Allow export from keychain のチェックを外します。
  7. Scope を選び、証明書をデプロイするデバイスまたはグループを選びます。
  8. Save を選びます。

詳細は Jamf Pro のドキュメント を参照してください。

Kandji

Kandji で Cloudflare 証明書をアップロードしてデプロイするには:

  1. .crt 形式の Cloudflare 証明書をダウンロード します。
  2. Kandji で、証明書を PKCS #1 形式の証明書として アップロード します。

Hexnode

Hexnode で Cloudflare 証明書をアップロードしてデプロイするには:

  1. .pem 形式の Cloudflare 証明書をダウンロード します。
  2. Hexnode で、macOSiOSAndroid デバイスへの証明書追加手順に従います。

JumpCloud

JumpCloud で Cloudflare 証明書をアップロードしてデプロイするには:

  1. .pem 形式の Cloudflare 証明書をダウンロード します。
  2. JumpCloud で 証明書をアップロード します。
  3. デバイスへ証明書をデプロイする 条件付きアクセスポリシーを設定 します。

プログラミング言語とランタイム

プログラミング言語のランタイムは、独自の証明書ストアを持つか、言語固有の証明書管理ツールを使うことが多いです。

Python

インストールされている Python のバージョンと設定によっては、python または python3 コマンドが必要です。仮想環境 を使う場合は、各仮想環境で次の手順を繰り返してください。

Windows で Python に証明書をインストールするコマンドには、pipcertifi(証明書検証用のデフォルト証明書バンドル)が自動で含まれます。

  1. .crt 形式の Cloudflare 証明書をダウンロード します。
  2. PowerShell ターミナルで certifi パッケージをインストールします。
    python -m pip install certifi
  3. Python の CA ストアを特定します。
    $CERT_PATH = python -c "import certifi; print(certifi.where())"
  4. バンドルを更新し、Cloudflare 証明書を含めます。
    gc "$env:USERPROFILE\Downloads\certificate.crt" | ac $CERT_PATH
  5. (任意)システムの環境変数を CA ストアへ向けるため、PowerShell の設定ファイルに追加します。
    [System.Environment]::SetEnvironmentVariable('CERT_PATH', $CERT_PATH, 'Machine')
    [System.Environment]::SetEnvironmentVariable('SSL_CERT_FILE', $CERT_PATH, 'Machine')
    [System.Environment]::SetEnvironmentVariable('REQUESTS_CA_BUNDLE', $CERT_PATH, 'Machine')
  6. ターミナルを再起動します。
  1. .pem 形式の Cloudflare 証明書をダウンロード します。
  2. ターミナルで certifi パッケージをインストールします。
    python -m pip install certifi
  3. 次を実行して、この CA ストアへ Cloudflare 証明書を追記します。
    echo | cat - certificate.pem >> $(python -m certifi)
  4. (任意)システムの環境変数を CA ストアへ向けるため、シェルの設定ファイル(~/.zshrc~/.bash_profile など)に追加します。例:
    echo 'export CERT_PATH=$(python -c "import certifi; print(certifi.where())")
    export SSL_CERT_FILE=${CERT_PATH}
    export REQUESTS_CA_BUNDLE=${CERT_PATH}' >> ~/.zshrc
  5. ターミナルを再起動します。

Java

Java は、インストールや Java を含むアプリケーションごとに、複数の証明書キーストアを持つことがあります。Java Virtual Machine(JVM)のインストールによっては、インスタンスごとに証明書をインストールする必要があります。各 Java アプリケーションを、証明書を使って信頼するよう手動で設定する必要がある場合もあります。

システム JVM に Cloudflare ルート証明書をインストールするには、お使いのオペレーティングシステムの手順に従ってください。これらの手順では .pem 証明書のダウンロード が必要です。

  1. OpenSSL をインストールします。

  2. ターミナルで、Cloudflare 証明書を Java 向けに変換します。

    openssl x509 -in Cloudflare_CA.pem -inform pem -out Cloudflare_CA.der -outform der
  3. 変換した証明書を Java キーストアへインポートします。

    sudo $JAVA_HOME/bin/keytool -import -trustcacerts -alias 'Cloudflare Root CA' -file Cloudflare_CA.der -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt 2>&1
  4. Java のインスタンスを再起動します。

  1. Windows 向け OpenSSL をインストールします。

  2. 管理者の PowerShell ターミナルで、Cloudflare 証明書を Java 向けに変換します。

    openssl x509 -in Cloudflare_CA.pem -inform pem -out Cloudflare_CA.der -outform der
  3. 変換した証明書を Java キーストアへインポートします。

    "%JAVA_HOME%\bin\keytool" -import -trustcacerts -alias "Cloudflare Root CA" -file Cloudflare_CA.der -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -storepass changeit -noprompt
  4. Java のインスタンスを再起動します。

Ruby

RubyGems で Cloudflare ルート証明書を信頼するには、お使いのオペレーティングシステムの手順に従ってください。これらの手順では .pem 証明書のダウンロード が必要です。

  1. OpenSSL をインストールします。

  2. ターミナルで、Cloudflare 証明書を Ruby 向けに変換します。

    openssl x509 -in ~/Downloads/certificate.pem -out ~/Downloads/ruby-root-ca.crt
  3. ホームフォルダーに RubyGems の証明書ディレクトリを作成します。

    mkdir -p ~/.gem/ssl
  4. Cloudflare 証明書を RubyGems の証明書ストアへコピーします。

    cp ~/Downloads/ruby-root-ca.crt ~/.gem/ssl/rubygems.org.pem
  5. RubyGems が証明書を使うよう設定します。

    gem sources --add-trusted-cert ~/.gem/ssl/rubygems.org.pem

    または、~/.gemrc にある RubyGems 設定ファイルへ次の行を追加し、証明書をグローバルに信頼します。

    :ssl_cert: ~/.gem/ssl/rubygems.org.pem
  6. ターミナルセッションを再起動します。

  1. Windows 向け OpenSSL をインストールします。

  2. PowerShell ターミナルで、Cloudflare 証明書を Ruby 向けに変換します。

    openssl x509 -in %UserProfile%\Downloads\certificate.pem -out %UserProfile%\Downloads\ruby-root-ca.crt
  3. ホームフォルダーに RubyGems の証明書ディレクトリを作成します。

    mkdir -Force "$env:USERPROFILE\.gem\ssl"
  4. Cloudflare 証明書を RubyGems の証明書ストアへコピーします。

    Copy-Item "$env:USERPROFILE\Downloads\ruby-root-ca.crt" "$env:USERPROFILE\.gem\ssl\rubygems.org.pem"
  5. RubyGems が証明書を使うよう設定します。

    gem sources --add-trusted-cert "$env:USERPROFILE\.gem\ssl\rubygems.org.pem"

    または、$HOME\.gemrc にある RubyGems 設定ファイルへ次の行を追加し、証明書をグローバルに信頼します。

    :ssl_cert: C:/Users/<username>/.gem/ssl/rubygems.org.pem
  6. ターミナルセッションを再起動します。

Rust

Rust のパッケージマネージャー Cargo は、ほとんどのプラットフォームでデフォルトでシステム証明書ストアを使います。ただし、明示的な設定が必要な場合もあります。

  1. .pem 形式の Cloudflare 証明書をダウンロード します。
  2. CARGO_HTTP_CAINFO 環境変数を証明書へ向けます。PowerShell の場合:
    [System.Environment]::SetEnvironmentVariable('CARGO_HTTP_CAINFO', "$HOME\Downloads\certificate.pem", 'User')
  3. ターミナルを再起動します。

または、%USERPROFILE%\.cargo\config.toml の Cargo 設定ファイルで設定できます。

[http]
cainfo = "C:\\Users\\<username>\\Downloads\\certificate.pem"
  1. .pem 形式の Cloudflare 証明書をダウンロード します。
  2. シェルの設定ファイル(~/.zshrc~/.bash_profile など)に CARGO_HTTP_CAINFO 環境変数を追加します。
    export CARGO_HTTP_CAINFO="$HOME/Downloads/certificate.pem"
  3. ターミナルを再起動します。

または、~/.cargo/config.toml の Cargo 設定ファイルで設定できます。

[http]
cainfo = "/path/to/certificate.pem"

開発ツールとパッケージマネージャー

開発ツールとパッケージマネージャーは、安全なパッケージダウンロードとリポジトリアクセスのために証明書設定が必要なことが多いです。

Git

  1. PowerShell を開きます。

  2. 次のコマンドを実行します。

    git config -l

    このコマンドは次のような出力を出します。

    core.symlinks=false
    core.autocrlf=true
    core.fscache=true
    color.diff=auto
    color.status=auto
    color.branch=auto
    color.interactive=true
    help.format=html
    rebase.autosquash=true
    http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
    http.sslbackend=openssl
    diff.astextplain.textconv=astextplain
    filter.lfs.clean=git-lfs clean -- %f
    filter.lfs.smudge=git-lfs smudge -- %f
    filter.lfs.process=git-lfs filter-process
    filter.lfs.required=true
    credential.helper=manager
  3. http.sslcainfo は CA 証明書ストアを定義します。CA バンドルへ Cloudflare 証明書を追記するには、http.sslcainfo を更新します。

    gc .\certificate.pem | ac $(git config --get http.sslcainfo)

Git が Cloudflare 証明書を信頼するよう設定するには、次のコマンドを実行します。

git config --global http.sslcainfo [PATH_TO_CLOUDFLARE_CERT]

npm

  1. .pem 形式の Cloudflare 証明書をダウンロード します。
  2. cafile 設定を Cloudflare 証明書へ向けます。
    npm config set cafile [PATH_TO_CLOUDFLARE_CERT.pem]

一部のシステムでは、パス / エクスポートリストに次を設定する必要があります。

export NODE_EXTRA_CA_CERTS='[PATH_TO_CLOUDFLARE_CERT.pem]'

PHP Composer

次のコマンドは、composer.json 内の cafile 設定を Cloudflare ルート証明書へ向けます。.pem 形式の 証明書をダウンロード してください。

composer config cafile [PATH_TO_CLOUDFLARE_CERT.pem]

または、composer.json ファイルの config キーの下へ手動で追加できます。

Docker

Docker コンテナで使う証明書をインストールするには:

  1. .pem 形式の Cloudflare 証明書をダウンロード します。

  2. Docker プロジェクトに証明書用ディレクトリを作成します。

    cd docker-project
    mkdir certs
    mv /path/to/downloaded/certificate.pem certs/
  3. 証明書がディレクトリへ正しく移動したことを確認します。プロジェクトは次の構成になります。

    docker-project/
    ├── Dockerfile
    └── certs/
        └── certificate.pem
  4. Docker イメージへ証明書を追加します。

    ビルド時にインストールするよう、Dockerfile へ証明書を追加するには:

    1. Dockerfile へ証明書のインストール手順を追加します。例:

      Red Hat 系イメージdocker
      FROM registry.access.redhat.com/ubi9/ubi:latest
      # Or FROM centos:7 or FROM fedora:38
      
      # Install necessary certificates package
      RUN dnf install -y ca-certificates
      
      # Copy and add Cloudflare root certificate
      COPY certs/certificate.pem /etc/pki/ca-trust/source/anchors/certificate.crt
      RUN update-ca-trust extract
      Debian 系イメージdocker
      FROM debian:12
      # Or FROM ubuntu:22.04
      
      # Install necessary certificates package
      RUN apt-get update && apt-get install -y ca-certificates
      
      # Copy and add Cloudflare root certificate
      COPY certs/certificate.pem /usr/local/share/ca-certificates/certificate.crt
      RUN update-ca-certificates
      Alpine 系イメージdocker
      FROM alpine:3.18
      
      # Install necessary certificates package
      RUN apk add --no-cache ca-certificates
      
      # Copy and add Cloudflare root certificate
      COPY certs/certificate.pem /usr/local/share/ca-certificates/certificate.crt
      RUN update-ca-certificates
    2. Docker イメージをビルドします。

      docker build -t <your-container-name> .
    3. 証明書がインストールされたことを確認します。

      Red Hat 系イメージsh
      docker run --rm your-image-name sh -c "cat /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem | grep Cloudflare"
      Debian および Alpine 系イメージsh
      docker run --rm your-image-name sh -c "cat /etc/ssl/certs/certificate.pem"

    実行時にインストールするよう、Docker Compose ファイルへ証明書を追加するには:

    1. docker-compose.yml ファイルへ証明書のインストール手順を追加します。例:

      Red Hat 系コンテナyaml
      version: '3'
      services:
      	redhat-app:
      		image: registry.access.redhat.com/ubi9/ubi:latest
       		volumes:
       			- certs/certificate.pem:/etc/pki/ca-trust/source/anchors/certificate.pem
       		entrypoint: /bin/sh -c "dnf install -y ca-certificates && update-ca-trust extract && app start"
      Debian 系コンテナyaml
      version: '3'
      services:
      	debian-app:
      		image: debian:12
       		volumes:
       			- certs/certificate.pem:/usr/local/share/ca-certificates/certificate.crt
       		entrypoint: /bin/sh -c "apt-get update && apt-get install -y ca-certificates && update-ca-certificates && app start"
      Alpine 系コンテナyaml
      version: '3'
      services:
      	alpine-app:
      		image: alpine:3.18
       		volumes:
       			- certs/certificate.pem:/usr/local/share/ca-certificates/certificate.pem
       		entrypoint: /bin/sh -c "apk add --no-cache ca-certificates && update-ca-certificates && app start"
    2. コンテナを実行します。

      docker-compose up
    3. 証明書がインストールされたことを確認します。

      Red Hat 系コンテナsh
      docker exec -it <container-name> sh -c "cat /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem | grep Cloudflare"
      Debian および Alpine 系コンテナsh
      docker exec -it <container-name> sh -c "cat /etc/ssl/certs/ca-certificates.crt | grep Cloudflare"

コマンドラインツール

コマンドラインツールは通常システム証明書ストアを使いますが、固有の設定が必要な場合があります。

cURL

デフォルトでは、cURL はオペレーティングシステムのネイティブ証明書ストアを使います。デフォルト証明書を強制するには、コマンドに --ca-native フラグを追加します。例:

curl --ca-native https://example.com

macOS の cURL で Cloudflare ルート証明書を使うには、オペレーティングシステムのキーチェーンへ証明書をインストール します。cURL はデフォルトで macOS のルート証明書を使います。

Windows にプリインストールされている cURL、または Schannel(WinSSL)バックエンドを使う別バージョンの cURL で Cloudflare 証明書を使うには、Windows の証明書ストアへ証明書をインストール します。OpenSSL バックエンドでビルドされた古い、またはカスタムの cURL を使う場合は、cURL が証明書を使うよう手動で設定 する必要があります。

Linux の cURL で Cloudflare ルート証明書を使うには、ディストリビューションの証明書ストアへ証明書をインストール します。cURL はデフォルトで Linux のルート証明書を使います。

GNU Wget

デフォルトでは、GNU Wget はオペレーティングシステムのネイティブ証明書ストアを使います。デフォルト証明書を強制するには、コマンドに --ca-certificate フラグを追加します。

macOS の Wget で Cloudflare ルート証明書を使うには、オペレーティングシステムのキーチェーンへ証明書をインストール します。Wget はデフォルトで macOS のルート証明書を使います。

Windows の Wget で Cloudflare 証明書を使うには、Windows の証明書ストアへ証明書をインストール します。Wget はデフォルトで Windows のルート証明書を使います。

Linux の Wget で Cloudflare ルート証明書を使うには、ディストリビューションの証明書ストアへ証明書をインストール します。Wget はデフォルトで Linux のルート証明書を使います。

または、証明書ファイルを直接指定できます。

wget --ca-certificate=[PATH_TO_CLOUDFLARE_CERT.pem] https://example.com

恒久的にするには、~/.wgetrc ファイルへ次を追加します。

ca_certificate = [PATH_TO_CLOUDFLARE_CERT.pem]

IDE と開発環境

統合開発環境は、独自の JVM または証明書ストアを使うことが多いです。

Android Studio

Android Studio は独自の JVM と証明書ストアを使います。Cloudflare ルート証明書をインストールするには:

  1. Cloudflare 証明書をダウンロード します。

  2. Android Studio インストールの java.home 値を確認します。

    1. Android Studio で Help > About を開きます(macOS では Android Studio > About Android Studio)。
    2. ダイアログに表示される JRE パスをコピーします。例:
      /Applications/Android Studio.app/Contents/jbr/Contents/Home
  3. Android Studio の JVM へ Cloudflare 証明書を追加します。

  1. ターミナルで、コピーした JRE パスを環境変数として追加します。

    export JAVA_HOME="/path/to/jre"
  2. keytool を実行し、Cloudflare 証明書をインストールして信頼します。

    "$JAVA_HOME/bin/keytool" -import -file ~/Downloads/certificate.crt -alias CloudflareRootCA -keystore "$JAVA_HOME/lib/security/cacerts" -storepass changeit -trustcacerts -noprompt
  3. Android Studio を再起動します。

  1. 管理者の PowerShell ターミナルで、コピーした JRE パスを環境変数として追加します。

    $env:JAVA_HOME = "C:\Program Files\Android\Android Studio\jbr"
  2. keytool を実行し、Cloudflare 証明書をインストールして信頼します。

    & "$env:JAVA_HOME\bin\keytool.exe" -import -file "$env:USERPROFILE\Downloads\certificate.crt" -alias CloudflareRootCA -keystore "$env:JAVA_HOME\lib\security\cacerts" -storepass changeit -trustcacerts -noprompt
  3. Android Studio を再起動します。

Android Studio 内の Gradle ビルドでは、Gradle JVM の場所に対しても同じ手順を行い、証明書を信頼させる必要がある場合があります。

JetBrains

JetBrains 製品へ Cloudflare ルート証明書をインストールするには、次のリンクを参照してください。

Eclipse

Eclipse IDE for Java Developers へ Cloudflare ルート証明書をインストールするには、Eclipse が使う Java 仮想マシン(JVM)へ証明書を追加します。

  1. Cloudflare 証明書をダウンロード します。

  2. Eclipse インストールの java.home 値を確認します。

    1. Eclipse で Eclipse > About Eclipse を開きます(Windows と Linux では Help > About Eclipse IDE)。
    2. Installation Details を選び、Configuration を開きます。
    3. java.home を検索し、値を確認します。例:
    *** System properties:
    java.home=/Users/<username>/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.macosx.aarch64_17.0.8.v20230831-1047/jre
    1. java.home= のあとのフルパスをコピーします。
  3. Eclipse の JVM へ Cloudflare 証明書を追加します。

  1. ターミナルで、コピーした java.home 値を環境変数として追加します。

    export JAVA_HOME=$(echo /path/to/java.home)
  2. keytool を実行し、Cloudflare 証明書をインストールして信頼します。

    "$JAVA_HOME/bin/keytool" -import -file ~/Downloads/certificate.crt -alias CloudflareRootCA -keystore "$JAVA_HOME/lib/security/cacerts" -storepass changeit -trustcacerts -noprompt
  3. Eclipse を再起動します。

  1. ターミナルで、コピーした java.home 値を環境変数として追加します。

    set JAVA_HOME="\path\to\java.home"
  2. keytool を実行し、Cloudflare 証明書をインストールして信頼します。

    "%JAVA_HOME%\bin\keytool.exe" -import -file "%UserProfile%\Downloads\Cloudflare_CA.crt" -alias CloudflareRootCA -keystore "%JAVA_HOME%\lib\security\cacerts" -storepass changeit -trustcacerts -noprompt
  3. Eclipse を再起動します。

keytool で Eclipse へ証明書を追加する方法の詳細は、IBM のドキュメント を参照してください。

クラウドとインフラストラクチャツール

クラウドサービスプロバイダーとインフラストラクチャツールは、API アクセスとリソース管理のために証明書設定が必要なことが多いです。

Google Cloud

Google Cloud SDK

次のコマンドは、Google Cloud SDK が Cloudflare 証明書を使うよう設定します。Google Cloud SDK の設定の詳細は Google Cloud のドキュメント を参照してください。

  1. curl の cacert バンドルを取得します。

    curl --remote-name https://curl.se/ca/cacert.pem
  2. .pem 形式の Cloudflare 証明書をダウンロード します。

  3. 証明書を 1 つの .pem ファイルへ結合します。

    cat cacert.pem certificate.pem > ~/ca.pem
  4. Google Cloud が結合した .pem を使うよう設定します。

    gcloud config set core/custom_ca_certs_file ~/ca.pem
Kaniko

Google Cloud SDK と Kaniko を使う場合は、Kaniko の CA ストア に Cloudflare 証明書をインストールする必要があります。詳細は gcloud のドキュメント を参照してください。

Google Apps Manager(GAM)

Google Apps Manager(GAM)は独自の証明書ストアを使います。GAM へ Cloudflare 証明書を追加する方法は GAM のドキュメント を参照してください。

AWS CLI

グローバル設定

証明書の場所を恒久的に設定するには:

  1. .pem 形式の Cloudflare 証明書をダウンロード します。

  2. AWS 設定ファイル を探して開きます。

  3. ca_bundle 設定 に証明書の場所を指定します。例:

    .aws/configdiff
    [default]
    region = us-west-1
    
    +ca_bundle = /path/to/certificate.pem
  4. ターミナルを再起動します。

環境変数

証明書の場所を環境変数として設定するには:

  1. .pem 形式の Cloudflare 証明書をダウンロード します。
  2. ターミナルで、オペレーティングシステムに応じて AWS_CA_BUNDLE 環境変数 を証明書の場所へ設定します。
  3. ターミナルを再起動します。

Azure CLI

グローバル設定

証明書の場所を恒久的に設定するには:

  1. .pem 形式の Cloudflare 証明書をダウンロード します。
  2. オペレーティングシステムに応じて、REQUESTS_CA_BUNDLE 環境変数を証明書へ向けます。

シェルの設定ファイル(~/.zshrc~/.bash_profile など)へ次を追加します。

export REQUESTS_CA_BUNDLE="$HOME/Downloads/certificate.pem"

PowerShell の場合:

[System.Environment]::SetEnvironmentVariable('REQUESTS_CA_BUNDLE', "$HOME\Downloads\certificate.pem", 'User')
  1. ターミナルを再起動します。
コマンドごと

1 つのコマンドだけ証明書の場所を設定するには:

  1. .pem 形式の Cloudflare 証明書をダウンロード します。

  2. コマンド実行時に REQUESTS_CA_BUNDLE 環境変数を設定します。

    REQUESTS_CA_BUNDLE=/path/to/certificate.pem az <command>

詳細は Azure CLI のドキュメント を参照してください。

Boto3

Python 向け AWS SDK の Boto3 は、いくつかの方法で Cloudflare 証明書を使うよう設定できます。

環境変数

環境変数で証明書の場所を設定するには:

  1. .pem 形式の Cloudflare 証明書をダウンロード します。
  2. オペレーティングシステムに応じて AWS_CA_BUNDLE 環境変数を設定します。

シェルの設定ファイル(~/.zshrc~/.bash_profile など)へ次を追加します。

export AWS_CA_BUNDLE="$HOME/Downloads/certificate.pem"

PowerShell の場合:

[System.Environment]::SetEnvironmentVariable('AWS_CA_BUNDLE', "$HOME\Downloads\certificate.pem", 'User')
  1. ターミナルを再起動します。
AWS 設定ファイル

AWS 設定で証明書の場所を恒久的に設定するには:

  1. .pem 形式の Cloudflare 証明書をダウンロード します。

  2. AWS 設定ファイル を探して開きます。

  3. ca_bundle 設定 に証明書の場所を指定します。例:

    .aws/configdiff
    [default]
    region = us-west-1
    
    +ca_bundle = /path/to/certificate.pem
コード内

Python コード内で証明書を直接指定するには:

  1. .pem 形式の Cloudflare 証明書をダウンロード します。

  2. Boto3 のクライアントまたはリソースを作るときに、証明書パスを渡します。

    import boto3
    
    client = boto3.client(
        's3',
        verify='/path/to/certificate.pem'
    )

詳細は Boto3 のドキュメント を参照してください。

エンタープライズアプリケーション

エンタープライズ向けデスクトップアプリケーションや専用ツールは、カスタムの証明書設定が必要な場合があります。

Google Drive

Google Drive デスクトップアプリケーションで Cloudflare ルート証明書を信頼するには、お使いのオペレーティングシステムの手順に従ってください。これらの手順では .pem 証明書のダウンロード が必要です。

  1. ターミナルで、Google Drive の証明書ファイルの内容を、Documents フォルダーなど恒久的な場所の新しい証明書ファイルへコピーします。例:

    cat /Applications/"Google Drive.app"/Contents/Resources/roots.pem > ~/Documents/gdrivecerts.pem
  2. ダウンロードした証明書の内容を、新しいファイルの末尾へ追記します。例:

    cat ~/Downloads/certificate.pem >> ~/Documents/gdrivecerts.pem
  3. 新しく作ったルート証明書を Google Drive アプリケーションへ適用します。例:

    sudo defaults write /Library/Preferences/com.google.drivefs.settings TrustedRootCertsFile "/Users/$(whoami)/Documents/gdrivecerts.pem"

次のコマンドで更新を確認できます。

defaults read /Library/Preferences/com.google.drivefs.settings
  1. 管理者の PowerShell ターミナルで、Google Drive の証明書ファイルの内容を、Documents フォルダーなど恒久的な場所の新しい証明書ファイルへコピーします。例:

    Get-Content "C:\Program Files\Google\Drive File Stream\roots.pem" | Set-Content "$HOME\Documents\gdrivecerts.pem"
  2. ダウンロードした証明書の内容を、新しいファイルの末尾へ追記します。例:

    Get-Content "$HOME\Downloads\certificate.pem" | Add-Content "$HOME\Documents\gdrivecerts.pem"
  3. 新しく作ったルート証明書を Google Drive アプリケーションへ適用します。例:

    Set-ItemProperty -Path "HKLM:\SOFTWARE\Google\DriveFS" -Name "TrustedRootCertsFile" -Value "$HOME\Documents\gdrivecerts.pem"

次のコマンドで更新を確認できます。

Get-ItemProperty -Path "HKLM:\SOFTWARE\Google\DriveFS" | Select-Object TrustedRootCertsFile

詳細は、TrustedRootCertsFile 設定に関する Google のドキュメント を参照してください。

Minikube

Minikube で Cloudflare ルート証明書を信頼するには、x509: certificate signed by unknown authority を参照してください。

役に立ちましたか?