Verify return code: 21 (unable to verify the first certificate)

最終更新日時:2015-04-03 12:03:39
Apache OpenSSL

SSL 証明書の確認を以下のように行った際に、、、

 % openssl s_client -connect xxx.xxx.xxx.xxx:443


以下のようなエラーが出ることがあります。

 Verify return code: 21 (unable to verify the first certificate)



このエラーは、「チェインに含まれる証明書が一つしかなく、かつそれが自己署名されていないために、証明書がまったく検証できない。」という意味らしく、例えば独自認証局による自己署名証明書(いわゆるオレオレ証明書)を使っていると出力されたりします。
その場合には、

 % openssl s_client -connect xxx.xxx.xxx.xxx:443 -CAfile /etc/pki/CA/cacert.pem


のような感じで、独自認証局のルート証明書を指定すれば、完全な確認が出来ます。

上記以外には、中間証明書を設定していない、もしくは中間証明書に問題がある際にも上記エラーが出力されるようです。
従って、一般の認証局による証明書をしていて上記エラーが出力された場合には、中間証明書回りを疑ってみましょう。


ちなみに、上記コマンドのエラー内容は、21 番を含めて下記サイトが分かりやすくまとまっています。

http://home.att.ne.jp/theta/diatom/verify%281%29.html

お問い合わせは 掲示板 にて。