e 'un po' hacky, ma il comando openssl x509
può riferire sia l'emittente e il soggetto. Se il soggetto e l'emittente sono uguali, è autofirmato; se sono diversi, allora è stato firmato da una CA. (A rigor di termini, molti certificati autofirmati sono anche firmati da una CA stessa.)
Durante il test di questa teoria, ho eseguito una manciata di test; funziona come:
cd /etc/ssl/certs
for f in *.0 ; do openssl x509 -in $f -issuer | head -1 > /tmp/$f.issuer ; openssl x509 -in $f -subject | head -1 > /tmp/$f.subject ; done
cd /tmp
sed -i -e s/issuer=// *.issuer
sed -i -e s/subject=// *.subject
cd /etc/ssl/certs/
for f in *.0 ; do diff -u /tmp/$f.issuer /tmp/$f.subject ; done
Spero che questo aiuti.
Controllare la mia [risposta] (http://security.stackexchange.com/a/144514/132597) su security stackexchange. – reddot