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

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 番を含めて下記サイトが分かりやすくまとまっています。

OpenSSL Manual Translation - verify(1)

コメント

タイトルとURLをコピーしました