Skip to content

内部証明書のインストール

目的

製品を LAN または専用ネットワークにデプロイする場合、サーバーは通常 Caddy を通じて Let's Encrypt などの公開無料証明書を取得できません。インストール時に Caddy 内部証明書を選択した場合、アクセス端末に Caddy ローカルルート証明書をインストールし、ブラウザーがシステム発行の HTTPS 証明書を信頼するようにする必要があります。これにより「安全ではありません」「証明書が無効です」「接続はプライベートではありません」などの警告を避けられます。

この節は次の場面に適用されます。

  • 内網 IP、内網ドメイン、または公開解決できないドメインでシステムへアクセスする。
  • インストールスクリプトで「Caddy 自己署名証明書」または Caddy internal certificate を選択した。
  • 管理コンソール、ユーザーポータル、コラボレーションリンクは開けるが、ブラウザーが証明書を信頼しない。

前提条件

  • 製品デプロイが完了し、サービスが起動している。
  • https://<APP_DOMAIN>/admin/login または https://<APP_DOMAIN>/app/login などのアクセスアドレスを確認済みである。
  • インストールサーバーへログインし、インストールディレクトリを読める。
  • 証明書をインストールする端末種別、Windows、macOS、Linux、iOS、Android、Firefox などを確認している。

Caddy ルート証明書を取得する

インストールサーバー上で Caddy ローカルルート証明書を探します。

text
$INSTALL_PATH/data/caddy/pki/authorities/local/root.crt

$INSTALL_PATH は製品インストールディレクトリです。例: /opt/sa。次のコマンドでファイルとフィンガープリントを確認できます。

bash
ls -l $INSTALL_PATH/data/caddy/pki/authorities/local/root.crt
openssl x509 -in $INSTALL_PATH/data/caddy/pki/authorities/local/root.crt -noout -subject -issuer -fingerprint -sha256

システムへアクセスする必要があるユーザーには root.crt のみを配布してください。同じディレクトリ内の秘密鍵ファイルを配布したり、チャット、クラウドストレージ、メール添付へアップロードしたりしないでください。

配布推奨

root.crt を識別しやすい名前に変更します。

text
Sa2web-internal-root-ca.crt

ユーザーへ配布する際は、次の情報も一緒に提供してください。

項目説明
証明書用途内網デプロイの Sa2web HTTPS アクセスを信頼するため
対象アドレスhttps://<APP_DOMAIN>/
証明書フィンガープリントopenssl ... -fingerprint -sha256 の SHA256 フィンガープリント
適用範囲このシステムへアクセスする業務 PC、テスト端末、モバイル端末

企業に統一端末管理基盤がある場合は、ドメインポリシー、MDM、端末管理基盤、システムイメージで一括配布することを推奨します。

Windows

  1. root.crt をローカルに保存する。
  2. 証明書ファイルをダブルクリックし、「証明書のインストール」をクリックする。
  3. 「ローカルコンピューター」を選択する。管理者権限がない場合は「現在のユーザー」を選択できる。
  4. 「すべての証明書を次のストアに配置する」を選択する。
  5. 「参照」をクリックし、「信頼されたルート証明機関」を選択する。
  6. インポート完了後、ブラウザーを閉じて再起動する。
  7. https://<APP_DOMAIN>/admin/login に再アクセスして証明書状態を確認する。

管理者 PowerShell でもインポートできます。

powershell
Import-Certificate -FilePath .\Sa2web-internal-root-ca.crt -CertStoreLocation Cert:\LocalMachine\Root

macOS

  1. root.crt をローカルに保存する。
  2. 証明書をダブルクリックし、「キーチェーンアクセス」を開く。
  3. 証明書を「システム」キーチェーンへインポートする。
  4. 証明書を探して詳細を開く。
  5. 「信頼」を展開し、「この証明書を使用するとき」を「常に信頼」に設定する。
  6. システムパスワードを入力して保存する。
  7. ブラウザーを終了して再起動し、システムアドレスへアクセスする。

Chrome、Safari、Edge は通常 macOS システムキーチェーンを使用します。Firefox は追加インポートが必要な場合があります。

Linux

Debian/Ubuntu:

bash
sudo cp Sa2web-internal-root-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

RHEL/CentOS/Rocky Linux/AlmaLinux:

bash
sudo cp Sa2web-internal-root-ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust

インストール後、ブラウザーを閉じて再起動してください。警告が残る場合、特に Firefox が独自証明書ストアを使用していないか確認してください。

Firefox

Firefox は一部環境で OS 証明書ストアに完全には依存しません。ルート証明書を直接インポートできます。

  1. Firefox 設定を開く。
  2. 「プライバシーとセキュリティ」に入る。
  3. 「証明書」を探し、「証明書を表示」をクリックする。
  4. 「認証局」タブで「インポート」をクリックする。
  5. root.crt を選択する。
  6. 「この CA を信頼してウェブサイトを識別する」を選択する。
  7. 確認後 Firefox を再起動する。

企業環境では Firefox の enterprise roots ポリシーを有効化し、Firefox が OS 証明書ストアを信頼するようにできます。

iOS と iPadOS

  1. 企業が承認した経路で root.crt を端末へ送信する。
  2. 端末で証明書ファイルを開き、プロファイルをインストールする。
  3. 「設定」 > 「一般」 > 「VPN とデバイス管理」でプロファイルインストールを完了する。
  4. 「設定」 > 「一般」 > 「情報」 > 「証明書信頼設定」に入る。
  5. このルート証明書の「完全に信頼」を有効にする。
  6. Safari または他のブラウザーを再起動し、システム URL へアクセスする。

Android

メーカーによりメニュー名は異なりますが、通常は次の手順です。

  1. root.crt を端末へ保存する。
  2. 「設定」 > 「セキュリティ」 > 「暗号化と認証情報」に入る。
  3. 「証明書をインストール」または「CA 証明書をインストール」を選択する。
  4. root.crt を選択し、インストールを確認する。
  5. ブラウザーを再起動してシステム URL へアクセスする。

一部 Android バージョンや企業ブラウザーは、ユーザーが手動インストールした CA 証明書を信頼しない場合があります。その場合は MDM または端末管理ポリシーで配布してください。

インストール結果を検証する

インストール完了後、次へアクセスします。

text
https://<APP_DOMAIN>/
https://<APP_DOMAIN>/admin/login
https://<APP_DOMAIN>/app/login

期待される結果:

  • ブラウザーアドレスバーに証明書エラーが表示されない。
  • 証明書チェーンにローカル Caddy ルート証明書が見える。
  • 管理コンソールとユーザーポータルへ正常にログインできる。
  • コラボレーションリンクも対象端末で証明書警告を出さない。

コマンドラインで確認する場合:

bash
curl -I https://<APP_DOMAIN>/

端末がルート証明書を信頼していれば、HTTP レスポンスヘッダーが正常に返ります。

証明書更新と再インストール

次の場合は、ルート証明書を再配布して再インストールしてください。

  • 製品を再インストールし、$INSTALL_PATH/data/caddy/pki を削除した。
  • インストールディレクトリを変更、または新サーバーへ移行し、Caddy 内部 CA が再生成された。
  • Caddy ローカルルート証明書を手動削除またはローテーションした。
  • ユーザー端末を再インストール、または信頼済みルート証明書ストアをクリアした。

製品アップグレード時に $INSTALL_PATH/data を保持している場合、通常はルート証明書の再インストールは不要です。

よくある質問

問題原因対応
ブラウザーがまだ安全ではないと表示する証明書が信頼済みルート証明書ストアに入っていないOS 手順に従って再インポートし、ブラウザーを再起動する
Firefox だけエラーになるFirefox が独自証明書ストアを使用しているFirefox 証明書設定で個別にインポートする
モバイルブラウザーがまだエラーになるモバイル OS が CA を完全に信頼していないiOS は「完全に信頼」を有効化し、Android は MDM 配布を推奨する
ドメインと証明書が一致しないアクセスアドレスがインストール時のドメインまたは IP と違うインストール時に設定したシステムアクセスドメインを使用する、または証明書を再設定する
root.crt が見つからないCaddy がローカル CA をまだ生成していない、またはパスが誤っている$INSTALL_PATH を確認し、サービス起動後に再確認する
コラボレーションユーザーがまだ警告を見る実際にアクセスする端末へルート証明書が入っていないコラボレーションユーザーの実端末にルート証明書をインストールする

セキュリティ注意事項

  • 管理者が確認した経路から受け取ったルート証明書だけをインストールしてください。
  • インストール前に SHA256 フィンガープリントを確認してください。
  • Caddy CA 秘密鍵を配布しないでください。
  • 退職、端末回収、端末廃棄時には、企業セキュリティポリシーに従って不要なルート証明書を削除してください。

Sa2web 1.0.0