2

次のコマンドを使用したい:

openssl x509 -noout -in /etc/pki/tls/certs/cert1.pem -enddate  
openssl x509 -noout -in /etc/pki/tls/certs/cert2.pem -enddate  
openssl x509 -noout -in /etc/pki/tls/certs/certN.pem -enddate 

ワイルドカードを使用してすべての証明書を読み取る方法はありますか? 例えば、

openssl x509 -noout -in /etc/pki/tls/certs/*.pem -enddate 

どんな助けでも大歓迎です。前もって感謝します。

4

3 に答える 3

1

シェル スクリプトレットを使用します。

#! /bin/sh

for file in /etc/pki/tls/certs/*.pem; do
   echo -n "$file: "
   openssl x509 -noout -in "$file" -enddate
done

これをファイルに入れて、次のcertexpires.shように実行できます。

sh certexpires.sh
于 2012-04-05T18:45:49.677 に答える
1

あなたのケースに対する私の答えは、次のコマンドです。

ls /etc/pki/tls/certs/cert*.pem | xargs -L1 openssl x509 -noout -enddate -in

説明

最初のステップでは、解析する証明書のリストを作成します。たとえば、私の場合は次のようになります。

[root@vpsfree certs]# ls -1 */*.crt
ewsport.org/ewsport.org.crt
hxpro.cz/hxpro.crt
jaguars.cz/jaguars.crt
koudelka.photography/koudelka.photography.crt
unicycle-hockey.cz/unicycle-hockey.cz.crt
unipragga.cz/unipragga.cz.crt

次のステップでは、それぞれから有効期限を取得したいと思います。

[root@vpsfree certs]# openssl x509 -noout -enddate -in hxpro.cz/hxpro.crt
notAfter=Apr 24 11:29:21 2017 GMT

xargs を使用して、最初のコマンドから 2 番目のコマンドに出力を送信できるようになりました。

[root@vpsfree certs]# ls -1 */*.crt | xargs -L1 openssl x509 -noout -enddate -in
notAfter=Mar 31 15:08:20 2017 GMT
notAfter=Apr 24 11:29:21 2017 GMT
notAfter=Mar 23 21:23:42 2017 GMT
notAfter=Apr 24 11:50:32 2017 GMT
notAfter=Dec 11 16:32:41 2016 GMT
notAfter=Mar 20 19:44:17 2017 GMT

openssl コマンドは入力として 1 つの -in ファイルしか必要としないため、オプション -L1 を使用しました。

于 2017-02-01T12:04:00.743 に答える