Skip to content

Instantly share code, notes, and snippets.

@mozkeeler
Last active August 29, 2015 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mozkeeler/3531c27239d92bc1535c to your computer and use it in GitHub Desktop.
Save mozkeeler/3531c27239d92bc1535c to your computer and use it in GitHub Desktop.
listing built-in roots
const { 'classes': Cc, 'interfaces': Ci } = Components;
let certdb = Cc["@mozilla.org/security/x509certdb;1"]
.getService(Ci.nsIX509CertDB);
let certs = certdb.getCerts();
let enumerator = certs.getEnumerator();
while (enumerator.hasMoreElements()) {
let cert = enumerator.getNext().QueryInterface(Ci.nsIX509Cert);
let sslTrust = certdb.isCertTrusted(cert, Ci.nsIX509Cert.CA_CERT,
Ci.nsIX509CertDB.TRUSTED_SSL);
let emailTrust = certdb.isCertTrusted(cert, Ci.nsIX509Cert.CA_CERT,
Ci.nsIX509CertDB.TRUSTED_EMAIL);
let objsignTrust = certdb.isCertTrusted(cert, Ci.nsIX509Cert.CA_CERT,
Ci.nsIX509CertDB.TRUSTED_OBJSIGN);
dump("issuer: " + cert.issuerName + "\n");
dump("serial: " + cert.serialNumber + "\n");
dump("trust:\n");
dump(" SSL:\t\t" + sslTrust + "\n");
dump(" EMAIL:\t" + emailTrust + "\n");
dump(" OBJSIGN:\t" + objsignTrust + "\n");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment