1. ホーム
  2. ssl

[解決済み] 証明書のSubject Alternative Nameを表示する方法は?

2023-07-06 13:52:33

質問

私が見つけた最も近い答えは、"grep" を使用することです。

> openssl x509 -text -noout -in cert.pem | grep DNS

これを行うための良い方法はありますか?私はコマンドラインだけが好きです。

ありがとうございます。

どのように解決するのですか?

の出力を制限することができることに注意してください。 -text の出力を拡張子だけに制限することができます。

-certopt no_subject,no_header,no_version,no_serial,no_signame,no_validity,no_issuer,no_pubkey,no_sigdump,no_aux

すなわち

openssl x509 -text -noout -in cert.pem \
  -certopt no_subject,no_header,no_version,no_serial,no_signame,no_validity,no_issuer,no_pubkey,no_sigdump,no_aux

しかし、テキスト解析ロジックを適用して、単に Subject Alternative Name .

これで十分でない場合は、探している特定のフィールドを抽出するために、opensslライブラリを使用する小さなプログラムを書く必要があると思います。以下のような拡張フィールドの抽出を含む、証明書のパース方法を示すサンプルプログラムをいくつか紹介します。 Subject Alternative Name :

https://zakird.com/2013/10/13/certificate-parsing-with-openssl

プログラミングをする場合、opensslとCを使う必要はないことに注意してください...好きな言語を選んで ASN.1 パーサライブラリを選択し、それを使用することができます。例えば、Java では http://jac-asn1.sourceforge.net/ などがあります。