質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Q&A

解決済

1回答

5435閲覧

ApacheでSSLの中間証明書が認識されません

naoyashiga

総合スコア8

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

0グッド

0クリップ

投稿2018/05/17 07:41

前提・実現したいこと

  • SSL設定のための中間証明書を認識させたい

発生している問題

Webアプリケーションを作る際、webhookのURLにhttps配下のURLを設定したいのですがエラーが出ます。エラーの内容はわかりません。おそらく中間証明書が認識されていないことが原因だと考えています。

チェッカーサイトの結果

SSL Checker | Symantec CryptoReport

結果

Intermediate certificate missing.

opensslコマンドの結果

$openssl s_client -connect localhost:443

結果

depth=0 CN = サーバの名前 verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 CN = サーバの名前 verify error:num=21:unable to verify the first certificate verify return:1 ~省略~ Verify return code: 21 (unable to verify the first certificate)

試したこと

  • ブラウザからhttpsのページは閲覧できる
  • mod_sslを有効にする
  • 「Apache2.4.8以降は証明書と中間証明書は同じファイルに記載」に基づき、SSLCertificateFileに証明書、中間証明書が書かれたファイルのパスを指定
  • 証明書、中間証明書の順番で記載
  • 中間証明書二重書き、中間証明書の設定をの外にも記載も試したがダメ

補足情報

  • Apache/2.4.18 (Ubuntu)(ダウングレードせずにできればこのversionを使用したいです)
  • Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-112-generic x86_64)

解決方法をご存知の方がいらっしゃいましたら情報提供していただけると大変ありがたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ブラウザからは警告無く https でアクセスできているということであれば、openssl s_client が中間証明書の Issuer を認識できていないのだと思います。
-CAfile などで、中間証明書の Issuer (CA) の証明書を指定するとどうなりますでしょうか?

投稿2018/05/18 04:46

TaichiYanagiya

総合スコア12141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naoyashiga

2018/05/18 08:05

回答ありがとうございます。 -CAfile で中間証明書(証明書と中間証明書の両方が記載されたファイル)を指定しても結果は同じでした。 「Verify return code: 21 (unable to verify the first certificate)」が最後に表示されます。
TaichiYanagiya

2018/05/18 08:19

> 証明書と中間証明書の両方が記載されたファイル ではなく、CA (中間証明書の発行者) の証明書です。
naoyashiga

2018/05/18 08:36

修正して -CAfile で中間証明書を指定しましたが結果は同じでした。
naoyashiga

2018/05/18 08:52

すいません。中間証明書の内容が違っていました。別のものを参照していました。 正しいものに変更したら、「Verify return code: 0 (ok)」になりました。 お手数をおかけしてしまいました。。ありがとうございました。
TaichiYanagiya

2018/05/18 12:57

-CAfile に「中間証明書」を指定しても、それはサーバー証明書のテストにしかなりません。 質問文を読み返すと、SSL Checker で「Intermediate certificate missing.」とのことですので、ブラウザから https でアクセスすると警告が出るのではないですか? SSLCertificateFile で指定したファイルに「サーバー証明書」、「中間証明書」の順で記載されていますでしょうか?
naoyashiga

2018/05/18 23:45

「参照」という言葉が誤解を招いたようです。そもそも中間証明書の内容に誤りがありました。 -CAfileで指定するファイルに加えてSSLCertificateFileで指定したファイルに記載した中間証明書の内容にも誤りがありました。 なので現在はSSL Checker で「Intermediate certificate missing.」の表示は消えてエラーはなくなりました。当初の目的であったwebhookの動作も正常に行えたので解決済みにさせて頂いた次第です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問