CSR.pluscsr.plus
← 記事一覧へ戻る
トラブルシューティング2026-08-15•4 分で読める

自己署名証明書: ブラウザとアプリでの信頼エラー

· CSR.plus チーム

自己署名証明書: ブラウザとアプリでの信頼エラー
  • •自己署名証明書はそれ自体がルート — インストールするまで何も信頼しません。
  • •自己署名はローカル開発と内部テストのみに。実際の内部サービスにはプライベート CA を。
  • •証明書を 1 つのトラストストア(ブラウザ)に追加しても curl、Java、Python、モバイルアプリは直りません。
自己
信頼モデル
証明書が自分のルート
開発/テスト
適切な用途
localhost とステージング
プライベート CA
より良い選択
実際の内部サービス向け
複数
更新が必要なストア
ブラウザ、OS、curl、Java、アプリ

信頼エラーが当然のことな理由

自己署名証明書はそれ自体をルートとして宣言します。すべてのクライアント(ブラウザ、curl、Java、Python、モバイルアプリ)は自分のトラストストアと照合し、一致しないため信頼エラーで失敗します。これは正しい動作です — 目的はチェックを無効化することではなく、正しいクライアントに正しい証明書を信頼させることです。

証明書を正しくインストールする

証明書 PEM をエクスポートし、接続するすべてのストアにインストールします:ブラウザ用に OS キーチェーン(macOS/Linux/Windows)、curl の CA バンドル(-cacert または SSL_CERT_FILE)、keytool 経由の Java cacerts、Python の SSL_CERT_FILE または requests の verify パラメータ、モバイルアプリのトラストストア。インストール後にクライアントを再起動します。

より良い代替案: プライベート CA

実際の内部サービスには、プライベート CA を生成し、クライアントストアには CA ルートだけをインストールし、CA が署名した短期のリーフ証明書を発行します。クライアントはホストごとのインストールなしで内部サービスを信頼でき、検証無効化(curl -k、verify=False)というセキュリティ低下も避けられます。

FAQ

curl -k や verify=False は許容されますか?

使い捨てのローカルテストのみ。検証無効化は中間者攻撃に晒します。永続的なものには証明書をインストールするかプライベート CA を使ってください。

ブラウザは信頼するのにアプリが失敗するのはなぜ?

ブラウザは OS キーチェーンを、アプリは独自の信頼ロジックを使います。クライアントが読む各ストアに証明書をインストールしてください。

UptimeRobot

SSL と稼働状況を無料で監視

UptimeRobot が証明書とエンドポイントを 24 時間 365 日監視——無料プランで 50 モニター。

UptimeRobot を無料で試す

アフィリエイトリンク——追加費用なしで当サイトが手数料を受け取ることがあります。

無料の SSL/TLS ツール

数秒で証明書を検証・検査。

関連記事