10

シェルで .pem ファイルから共通名を読み取る方法はありますか?

ありがとう

4

1 に答える 1

18

まず、.pem拡張子はファイルで使用されているエンコーディングのタイプのみを参照します。

一般名は、証明書のサブジェクトまたは発行者の特徴であり、次の行で認識できます。

$ grep CERTIFICATE f.pem
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----

そしてその間にたくさんのbase64エンコードされたテキストがあります。

.pemファイルにx509証明書が含まれている場合、これでうまくいくはずです。

openssl x509 -in cacert.pem -noout -text

これにより、証明書全体がダンプされます。このopenssl x509 コマンドには、表示したくないフィールドを抑制するためのいくつかのオプションがあります。これらの説明は、manページの以下にあります。TEXT OPTIONS

証明書の「件名」のみを表示するように選択することもできます。

openssl x509 -in cacert.pem -noout -subject

例:

stackoverflow.comサーバーから直接証明書を取得しましょう

$ : | openssl s_client -connect stackoverflow.com:443 > f.pem 2>& 1 &&
      openssl x509 -in f.pem -noout -subject 2>& 1

出力:

Subject: CN = *.stackexchange.com
于 2012-08-03T14:45:20.220 に答える