diff options
author | Moonchild <mcwerewolf@gmail.com> | 2018-02-06 12:02:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-06 12:02:47 +0100 |
commit | 389c60da5e01761f4a11ef539ffa26e4c1b17875 (patch) | |
tree | c6033924a0de9be1ab140596e305898c651bf57e /security/nss/cmd/addbuiltin | |
parent | 7c9b585349c985df0cf6ace83da5dadba8b5c677 (diff) | |
parent | f017b749ea9f1586d2308504553d40bf4cc5439d (diff) | |
download | UXP-389c60da5e01761f4a11ef539ffa26e4c1b17875.tar UXP-389c60da5e01761f4a11ef539ffa26e4c1b17875.tar.gz UXP-389c60da5e01761f4a11ef539ffa26e4c1b17875.tar.lz UXP-389c60da5e01761f4a11ef539ffa26e4c1b17875.tar.xz UXP-389c60da5e01761f4a11ef539ffa26e4c1b17875.zip |
Merge pull request #13 from MoonchildProductions/ported-upstream
Ported upstream
Diffstat (limited to 'security/nss/cmd/addbuiltin')
-rw-r--r-- | security/nss/cmd/addbuiltin/addbuiltin.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/security/nss/cmd/addbuiltin/addbuiltin.c b/security/nss/cmd/addbuiltin/addbuiltin.c index 9ecad3d64..831672039 100644 --- a/security/nss/cmd/addbuiltin/addbuiltin.c +++ b/security/nss/cmd/addbuiltin/addbuiltin.c @@ -31,6 +31,29 @@ dumpbytes(unsigned char *buf, int len) printf("\n"); } +int +hasPositiveTrust(unsigned int trust) +{ + if (trust & CERTDB_TRUSTED) { + if (trust & CERTDB_TRUSTED_CA) { + return PR_TRUE; + } else { + return PR_FALSE; + } + } else { + if (trust & CERTDB_TRUSTED_CA) { + return PR_TRUE; + } else if (trust & CERTDB_VALID_CA) { + return PR_TRUE; + } else if (trust & CERTDB_TERMINAL_RECORD) { + return PR_FALSE; + } else { + return PR_FALSE; + } + } + return PR_FALSE; +} + char * getTrustString(unsigned int trust) { @@ -202,6 +225,11 @@ ConvertCertificate(SECItem *sdder, char *nickname, CERTCertTrust *trust, printf("CKA_VALUE MULTILINE_OCTAL\n"); dumpbytes(sdder->data, sdder->len); printf("END\n"); + if (hasPositiveTrust(trust->sslFlags) || + hasPositiveTrust(trust->emailFlags) || + hasPositiveTrust(trust->objectSigningFlags)) { + printf("CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE\n"); + } } if ((trust->sslFlags | trust->emailFlags | trust->objectSigningFlags) == |