Jika Anda hanya ingin melihat SAN, grep DNS:
adalah solusi yang jelas.
Jika Anda ingin memiliki daftar pembersih untuk diproses lebih lanjut, Anda dapat menggunakan reg reg ini untuk mengekstrak hanya nama-nama: @names=/\sDNS:([^\s,]+)/g
Sebagai contoh:
true | openssl s_client -connect example.com:443 2>/dev/null \
| openssl x509 -noout -text \
| perl -l -0777 -ne '@names=/\bDNS:([^\s,]+)/g; print join("\n", sort @names);'
Yang akan menghasilkan ini:
example.com
example.edu
example.net
example.org
www.example.com
www.example.edu
www.example.net
www.example.org
Jadi Anda bisa menyalurkannya ke while read name; do echo "processing $name ..."; done
dll.
Atau untuk daftar yang dipisahkan koma pada satu baris, ganti join("\n",
denganjoin(",",
( -0777
Switch untuk perl membuatnya membaca seluruh input sekaligus bukan baris demi baris)
openssl s_client -showcerts -connect www.example.org:443 | openssl x509 -text