自己署名証明書: ブラウザとアプリでの信頼エラー
· CSR.plus チーム

- •自己署名証明書はそれ自体がルート — インストールするまで何も信頼しません。
- •自己署名はローカル開発と内部テストのみに。実際の内部サービスにはプライベート CA を。
- •証明書を 1 つのトラストストア(ブラウザ)に追加しても curl、Java、Python、モバイルアプリは直りません。
信頼エラーが当然のことな理由
自己署名証明書はそれ自体をルートとして宣言します。すべてのクライアント(ブラウザ、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 モニター。
アフィリエイトリンク——追加費用なしで当サイトが手数料を受け取ることがあります。
無料の SSL/TLS ツール
数秒で証明書を検証・検査。