SSL証明書が有効であることを確認するスクリプト

SSL証明書が有効であることを確認するスクリプト

SSL証明書が複数あり、証明書が期限切れになったら通知を受けたいと思います。

私の考えは、毎日簡単なコマンドを実行するcronjobを作成することです。

opensslリモートサーバーの証明書情報を表示するために使用できるLinuxコマンドがあることを知っています。

openssl s_client -connect www.google.com:443

ただし、この出力に有効期限は表示されません。また、CTRLこのコマンドは+で終了する必要がありますc

スクリプトでリモート証明書の有効期限を確認し(可能な限り使用してopenssl)、これを「バッチモード」で実行してユーザーの対話なしで自動的に実行するようにするにはどうすればよいですか。

ベストアンサー1

これで、コマンドにhttpリクエストが必要です(例:)GET index.php。代わりにこれを使用してください:

if true | openssl s_client -connect www.google.com:443 2>/dev/null | \
  openssl x509 -noout -checkend 0; then
  echo "Certificate is not expired"
else
  echo "Certificate is expired"
fi

  • true:入力を提供せずに接続後にopensslが終了するようにeofを提供します。
    • openssl ...:あなたの質問のコマンド
    • 2>/dev/null:エラー出力は無視されます。
  • openssl x509:X.509証明書データ管理を有効にします。
    • デフォルトでは標準入力から読み取られます。
    • -noout:フル証明書の出力を抑制します。
    • -checkend 0:証明書が0秒後に期限切れになっていることを確認してください。

おすすめ記事