Web サーバーで TLS/SSL 証明書を使用する目的は、Web ブラウザーとサーバー間の接続を暗号化することです。ただし、これらの証明書は一生有効ではなく、有効期限があり、それ以降は Web ブラウザーが Web サイトに接続するときにエラー メッセージを表示します。今日は、Ubuntu 20.04 で OpenSSL を使用している Web サイトの SSL 証明書の TLS/SSL 証明書の有効期限を確認する方法を紹介します。
Ubuntu での TLS/SSL 証明書の有効期限の確認
Linux シェルで SSL 証明書の TLS/SSL 証明書の有効期限を確認するには、次の手順に従います。
ステップ 1:システムに OpenSSL がインストールされているかどうかを確認する:
まず、システムに OpenSSL がインストールされていることを確認する必要があります。最新の Linux ディストリビューションのほとんどでは、OpenSSL がデフォルトでインストールされていますが、まだ確認する必要があります。そこにない場合は、先に進む前にインストールする必要があります。 Ubuntu システムに OpenSSL が存在するかどうかは、以下のコマンドでバージョンを確認することで確認できます:
$ openssl version
<強い>
次の画像で OpenSSL のバージョンを見ることができるように、OpenSSL が Ubuntu システムにインストールされていることを意味するので、準備完了です。
ステップ 2:URL 変数を定義してエクスポートする:
ここで、証明書の有効期限を確認したい Web サイトの URL に対応する URL 変数を定義してエクスポートする必要があります。新しい Web サイトの TLS/SSL 証明書の有効期限を確認したいときはいつでも、以下に示す方法で特定の URL 変数を定義してエクスポートする必要があります:
$ export SITE_URL= "WebsiteURL"
<強い>
WebsiteURL を、TLS/SSL 証明書の有効期限を確認したい Web サイトの URL に置き換えることができます。ここでは google.com を使用しました。このコマンドは、次の図に示すような出力を生成しません:
ステップ 3:ポート変数を定義してエクスポートする:
その後、ポート変数を定義してエクスポートする必要があります。さて、TLS/SSL は常にポート番号 443 を使用して機能することがわかっているため、前のステップで使用した Web サイト URL に関係なく、この変数は同じままです。ポート変数を定義してエクスポートするには、以下に示すコマンドを実行します:
$ export SITE_SSL_PORT="443"
<強い>
繰り返しますが、このコマンドは次の画像に示すような出力を生成しません:
ステップ 4:TLS/SSL 証明書の有効期限を確認する:
最後に、以下に示すコマンドを実行して、目的の Web サイトの TLS/SSL 証明書の有効期限を確認できます。
$ openssl s_client -connect ${SITE_URL}:${SITE_SSL_PORT} -servername ${SITE_URL} 2> /dev/null | openssl x509 -noout -dates
<強い>
このコマンドを実行すると、出力に 2 つの異なる日付が表示されます。次の画像で強調表示されている日付は、指定された Web サイトの TLS/SSL 証明書の有効期限です。
結論:
これは、OpenSSL を利用して、あらゆる Web サイトの TLS/SSL 証明書の有効期限を簡単に見つける方法です。システムに OpenSSL をインストールしたら、この手順を心配することなく実行でき、この記事で説明したようにスムーズに動作します。