CERTUTIL(1) NSS Security Tools CERTUTIL(1) (NAME) certutil - NSS (SYNOPSIS) certutil [options] [[arguments]] (STATUS) . Mozilla NSS bug 836477[1] . (DESCRIPTION) certutil . . . . modutil . (COMMAND OPTIONS AND ARGUMENTS) certutil . . -H . -A . . -B (batch file) . -i . -C . -i . certutil . -D . --rename (nickname) . -E . -F . -n -k . -d . . . -G . . . . -H . -K (Key ID) . (modulus) RSA (publicValue) DSA . ("0x" ). -L . -h tokenname . -M -t. -N . -O (certificate chain). -R (CA) . -o output-file . -a ASCII . -S . -T . -U . -V . -W . --merge . --upgrade-merge . NSS ( cert8.db key3.db) SQLite ( cert9.db key4.db) . . -a ASCII ASCII . RFC 1113 . ASCII . --simple-self-signed . -b validity-time . -V . validity-time YYMMDDHHMMSS[+HHMM|-HHMM|Z] . (SS) . Z YYMMDDHHMMSSZ . (offset) YYMMDDHHMMSS+HHMM YYMMDDHHMMSS-HHMM . . -c issuer CA . CA CA . . -d [prefix]directory . certutil : (cert8.db key3.db secmod.db) SQLite ( cert9.db key4.db pkcs11.txt). NSS : o sql: o dbm: NSS_DEFAULT_DB_TYPE . NSS_DEFAULT_DB_TYPE sql: . --dump-ext-val OID DER OID . -e . --email email-address . -L . --extGeneric OID:critical-flag:filename[,OID:critical-flag:filename]... certutil . o OID (): 1.2.3.4 o critical-flag: critical not-critical o filename: -f password-file . . . -g keysize . 512 16384 . 2048 . . -h tokenname . . PKCS #11 URI . NSS "pkcs11:token=NSS%20Certificate%20DB" . RFC 7512 . -i input_file . . -k key-type-or-id . rsa dsa ec all. rsa . . ( ). -l -V . -m serial-number . CA . . . -n nickname . . PKCS #11 URI . "my-server-cert" "pkcs11:token=NSS%20Certificate%20DB;object=my-server-cert" . RFC 7512 . -o output-file . output-file . . -P dbPrefix . . . -p phone . . -q pqgfile or curve-name DSA PQG . certutil PQG . PQG DSA . nistp256 nistp384 nistp521 curve25519 . : sect163k1, nistk163, sect163r1, sect163r2, nistb163, sect193r1, sect193r2, sect233k1, nistk233, sect233r1, nistb233, sect239k1, sect283k1, nistk283, sect283r1, nistb283, sect409k1, nistk409, sect409r1, nistb409, sect571k1, nistk571, sect571r1, nistb571, secp160k1, secp160r1, secp160r2, secp192k1, secp192r1, nistp192, secp224k1, secp224r1, nistp224, secp256k1, secp256r1, secp384r1, secp521r1, prime192v1, prime192v2, prime192v3, prime239v1, prime239v2, prime239v3, c2pnb163v1, c2pnb163v2, c2pnb163v3, c2pnb176v1, c2tnb191v1, c2tnb191v2, c2tnb191v3, c2pnb208w1, c2tnb239v1, c2tnb239v2, c2tnb239v3, c2pnb272w1, c2pnb304w1, c2tnb359w1, c2pnb368w1, c2tnb431r1, secp112r1, secp112r2, secp128r1, secp128r2, sect113r1, sect113r2, sect131r1, sect131r2 -r DER -L . -s subject . . RFC #1485 . -t trustargs . SSL, email, object signing . : o p - o P - ( p) o c - (CA) o C - (CA) ( c) o T - (CA) ( SSL) . : -t TC,C,T -L . -L "u" . certutil . -u certusage -V. : o C ( SSL) o V ( SSL) o L ( CA SSL) o A ( CA) o Y ( CA) o S ( ) o R ( ) o O ( OCSP) o J ( ) o I ( IPSEC) -v valid-months . -w . . -w offset-months (offset) . . (-) . . -v . -X - (read-write). -U -L . -x certutil CA . -y exp RSA 65537. 3 17 . --pss ( -S) ( -R) RSA-PSS. RSA . --pss-sign RSA-PSS ( -C -S). RSA . RSA-PSS . -z noise-file (seed) . . 20 . -Z hashAlg -C -S -R. : o MD2 o MD4 o MD5 o SHA1 o SHA224 o SHA256 o SHA384 o SHA512 -0 SSO_password (SSO) . -1 | --keyUsage keyword,keyword X.509 V3 . : o digitalSignature o nonRepudiation o keyEncipherment o dataEncipherment o keyAgreement o certSigning o crlSigning o critical -2 . . certutil . X.509 RFC 5280 . -3 . (subject name) . . X.509 RFC 5280 . -4 CRL . (URL) (CRL) . certutil . X.509 RFC 5280 . -5 | --nsCertType keyword,keyword X.509 V3 . : o sslClient o sslServer o smime o objectSigning o sslCA o smimeCA o objectSigningCA o critical X.509 RFC 5280 . -6 | --extKeyUsage keyword,keyword . : o serverAuth o clientAuth o codeSigning o emailProtection o timeStamp o ocspResponder o stepUp o msTrustListSign o critical o x509Any o ipsecIKE o ipsecIKEEnd o ipsecIKEIntermediate o ipsecEnd o ipsecTunnel o ipsecUser X.509 RFC 5280 . -7 emailAddrs (SAN) . 4.2.1.7 RFC 3280 . -8 dns-names DNS (SAN) . 4.2.1.7 RFC 3280 . --extAIA (AIA) . X.509 RFC 5280 . --extSIA (SIA) . X.509 RFC 5280 . --extCP (Certificate Policies) . X.509 RFC 5280 . --extPM (Policy Mappings) . X.509 RFC 5280 . --extPC (Policy Constraints) . X.509 RFC 5280 . --extIA (Inhibit Any Policy) . X.509 RFC 5280 . --extSKID (Subject Key ID) . X.509 RFC 5280 . --extNC (Name Constraint) . X.509 RFC 5280 . --extSAN type:name[,type:name]... (SAN) . -type: directory, dn, dns, edi, ediparty, email, ip, ipaddr, other, registerid, rfc822, uri, x400, x400addr --empty-password -N. --keyAttrFlags attrflags PKCS #11. : {token | session} {public | private} {sensitive | insensitive} {modifiable | unmodifiable} {extractable | unextractable} --keyOpFlagsOn opflags, --keyOpFlagsOff opflags PKCS #11. : {token | session} {public | private} {sensitive | insensitive} {modifiable | unmodifiable} {extractable | unextractable} --new-n nickname . --source-dir certdir (). --source-prefix certdir (). --upgrade-id uniqueID (unique ID) . --upgrade-token-name name . -@ pwfile . (USAGE AND EXAMPLES) . . -H . : o cert8.db cert9.db o key3.db key4.db o secmod.db pkcs11.txt . certutil -N -d directory . ( ) . . $ certutil -R -k key-type-or-id [-q pqgfile|curve-name] -g key-size -s subject [-h tokenname] -d directory [-p phone] [-o output-file] [-a] -R : o -k o -g o -s (subject) o -d (-a) (-o) . : $ certutil -R -k rsa -g 1024 -s "CN=John Smith,O=Example Corp,L=Mountain View,ST=California,C=US" -d $HOME/nssdb -p 650-555-0123 -a -o cert.cer Generating key. This may take a few moments... CA . CA (-c) . CA -x -S (self-signed) . $ certutil -S -k rsa|dsa|ec -n certname -s subject [-c issuer |-x] -t trustargs -d directory [-m serial-number] [-v valid-months] [-w offset-months] [-p phone] [-1] [-2] [-3] [-4] [-5 keyword] [-6 keyword] [-7 emailAddress] [-8 dns-names] [--extAIA] [--extSIA] [--extCP] [--extPM] [--extPC] [--extIA] [--extSKID] --ext* CA . . : $ certutil -S -s "CN=Example CA" -n my-ca-cert -x -t "C,C,C" -1 -2 -5 -m 3650 . : $ certutil -S -s "CN=My Server Cert" -n my-server-cert -c "my-ca-cert" -t ",," -1 -5 -6 -8 -m 730 ( issuer -c) . . certutil -C -c issuer -i cert-request-file -o output-file [-m serial-number] [-v valid-months] [-w offset-months] -d directory [-1] [-2] [-3] [-4] [-5 keyword] [-6 keyword] [-7 emailAddress] [-8 dns-names] : $ certutil -C -c "my-ca-cert" -i /home/certs/cert.req -o cert.cer -m 010 -v 12 -w 1 -d $HOME/nssdb -1 nonRepudiation,dataEncipherment -5 sslClient -6 clientAuth -7 jsmith@example.com -L . (-d) . $ certutil -L -d /home/my/sharednssdb Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI CA Administrator of Instance pki-ca1's Example Domain ID u,u,u TPS Administrator's Example Domain ID u,u,u Google Internet Authority ,, Certificate Authority - Example Domain CT,C,C -L . -n -a (ASCII) : $ certutil -L -d $HOME/nssdb -a -n my-ca-cert -----BEGIN CERTIFICATE----- MIIB1DCCAT2gAwIBAgICDkIwDQYJKoZIhvcNAQEFBQAwFTETMBEGA1UEAxMKRXhh bXBsZSBDQTAeFw0xMzAzMTMxOTEwMjlaFw0xMzA2MTMxOTEwMjlaMBUxEzARBgNV BAMTCkV4YW1wbGUgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJ4Kzqvz JyBVgFqDXRYSyTBNw1DrxUU/3GvWA/ngjAwHEv0Cul/6sO/gsCvnABHiH6unns6x XRzPORlC2WY3gkk7vmlsLvYpyecNazAi/NAwVnU/66HOsaoVFWE+gBQo99UrN2yk 0BiK/GMFlLm5dXQROgA9ZKKyFdI0LIXtf6SbAgMBAAGjMzAxMBEGCWCGSAGG+EIB AQQEAwIHADAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwICBDANBgkqhkiG9w0B AQUFAAOBgQA6chkzkACN281d1jKMrc+RHG2UMaQyxiteaLVZO+Ro1nnRUvseDf09 XKYFwPMJjWCihVku6bw/ihZfuMHhxK22Nue6inNQ6eDu7WmrqL8z3iUrQwxs+WiF ob2rb8XRVVJkzXdXxlk4uo3UtNvw8sAz7sWD71qxKaIHU5q49zijfg== -----END CERTIFICATE----- : $ certutil -L -d $HOME/nssdb -n my-ca-cert Certificate: Data: Version: 3 (0x2) Serial Number: 3650 (0xe42) Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption Issuer: "CN=Example CA" Validity: Not Before: Wed Mar 13 19:10:29 2013 Not After : Thu Jun 13 19:10:29 2013 Subject: "CN=Example CA" Subject Public Key Info: Public Key Algorithm: PKCS #1 RSA Encryption RSA Public Key: Modulus: 9e:0a:ce:ab:f3:27:20:55:80:5a:83:5d:16:12:c9:30: 4d:c3:50:eb:c5:45:3f:dc:6b:d6:03:f9:e0:8c:0c:07: 12:fd:02:ba:5f:fa:b0:ef:e0:b0:2b:e7:00:11:e2:1f: ab:a7:9e:ce:b1:5d:1c:cf:39:19:42:d9:66:37:82:49: 3b:be:69:6c:2e:f6:29:c9:e7:0d:6b:30:22:fc:d0:30: 56:75:3f:eb:a1:ce:b1:aa:15:15:61:3e:80:14:28:f7: d5:2b:37:6c:a4:d0:18:8a:fc:63:05:94:b9:b9:75:74: 11:3a:00:3d:64:a2:b2:15:d2:34:2c:85:ed:7f:a4:9b Exponent: 65537 (0x10001) Signed Extensions: Name: Certificate Type Data: none Name: Certificate Basic Constraints Data: Is a CA with no maximum path length. Name: Certificate Key Usage Critical: True Usages: Certificate Signing Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption Signature: 3a:72:19:33:90:00:8d:db:cd:5d:d6:32:8c:ad:cf:91: 1c:6d:94:31:a4:32:c6:2b:5e:68:b5:59:3b:e4:68:d6: 79:d1:52:fb:1e:0d:fd:3d:5c:a6:05:c0:f3:09:8d:60: a2:85:59:2e:e9:bc:3f:8a:16:5f:b8:c1:e1:c4:ad:b6: 36:e7:ba:8a:73:50:e9:e0:ee:ed:69:ab:a8:bf:33:de: 25:2b:43:0c:6c:f9:68:85:a1:bd:ab:6f:c5:d1:55:52: 64:cd:77:57:c6:59:38:ba:8d:d4:b4:db:f0:f2:c0:33: ee:c5:83:ef:5a:b1:29:a2:07:53:9a:b8:f7:38:a3:7e Fingerprint (MD5): 86:D8:A5:8B:8A:26:BE:9E:17:A8:7B:66:10:6B:27:80 Fingerprint (SHA1): 48:78:09:EF:C5:D4:0C:BD:D2:64:45:59:EB:03:13:15:F7:A9:D6:F7 Certificate Trust Flags: SSL Flags: Valid CA Trusted CA User Email Flags: Valid CA Trusted CA User Object Signing Flags: Valid CA Trusted CA User . . -K () -d . $ certutil -K -d $HOME/nssdb certutil: Checking token "NSS Certificate DB" in slot "NSS User Private Key and Certificate Services " < 0> rsa 455a6673bde9375c2887ec8bf8016b3f9f35861d Thawte Freemail Member's Thawte Consulting (Pty) Ltd. ID < 1> rsa 40defeeb522ade11090eacebaaf1196a172127df Example Domain Administrator Cert < 2> rsa 1d0b06f44f6c03842f7d4f4a1dc78b3bcd1b85a5 John Smith user cert : o -n name . o -h tokenname . o -k key-type RSA DSA ECC . -- -- . -U secmod.db . (-d) . $ certutil -U -d /home/my/sharednssdb slot: NSS User Private Key and Certificate Services token: NSS Certificate DB uri: pkcs11:token=NSS%20Certificate%20DB;manufacturer=Mozilla%20Foundation;serial=0000000000000000;model=NSS%203 slot: NSS Internal Cryptographic Services token: NSS Generic Crypto Services uri: pkcs11:token=NSS%20Generic%20Crypto%20Services;manufacturer=Mozilla%20Foundation;serial=0000000000000000;model=NSS%203 . -A . certutil -A -n certname -t trustargs -d directory [-a] [-i input-file] : $ certutil -A -n "CN=My SSL Certificate" -t ",," -d /home/my/sharednssdb -i /home/example-certs/cert.cer -E . -E -A . SSL,S/MIME,Code-signing ( ). : $ certutil -E -n "CN=John Smith Email Cert" -t ",P," -d /home/my/sharednssdb -i /home/example-certs/email.cer -D . . certutil -D -d directory -n "nickname" : $ certutil -D -d /home/my/sharednssdb -n "my-ssl-cert" . . . . -V . certutil -V -n certificate-name [-b time] [-e] [-u cert-usage] -d directory : $ certutil -V -n "John Smith's Email Cert" -e -u S,R -d /home/my/sharednssdb ( ) . CA . certutil -M -n certificate-name -t trust-args -d directory : $ certutil -M -n "My CA Certificate" -d /home/my/sharednssdb -t "CT,CT,CT" (CA) CA . -O CA (CA ) CA . CA : $ certutil -d /home/my/sharednssdb -O -n "jsmith@example.com" "Builtin Object Token:Thawte Personal Freemail CA" [E=personal-freemail@thawte.com,CN=Thawte Personal Freemail CA,OU=Certification Services Division,O=Thawte Consulting,L=Cape Town,ST=Western Cape,C=ZA] "Thawte Personal Freemail Issuing CA - Thawte Consulting" [CN=Thawte Personal Freemail Issuing CA,O=Thawte Consulting (Pty) Ltd.,C=ZA] "(null)" [E=jsmith@example.com,CN=Thawte Freemail Member] -- -- . (-h) . internal . certutil -T -d directory -h token-name -0 security-officer-password ( security officer). . : $ certutil -T -d /home/my/sharednssdb -h nethsm -0 secret BerkeleyDB (cert8.db) . --upgrade-merge SQLite (cert9.db) ---merge cert9.db . --upgrade-merge ( -d) . . certutil --upgrade-merge -d directory [-P dbprefix] --source-dir directory --source-prefix dbprefix --upgrade-id id --upgrade-token-name name [-@ password-file] : $ certutil --upgrade-merge -d /home/my/sharednssdb --source-dir /opt/my-app/alias/ --source-prefix serverapp- --upgrade-id 1 --upgrade-token-name internal --merge . certutil --merge -d directory [-P dbprefix] --source-dir directory --source-prefix dbprefix [-@ password-file] : $ certutil --merge -d /home/my/sharednssdb --source-dir /opt/my-app/alias/ --source-prefix serverapp- certutil (Batch) -B . . $ certutil -B -i /path/to/batch-file NSS (NSS DATABASE TYPES) NSS BerkeleyDB . (legacy) : o cert8.db o key3.db o secmod.db PKCS #11 BerkeleyDB . NSS . NSS . NSS BerkeleyDB SQLite . : o cert9.db o key4.db o pkcs11.txt PKCS #11 SQLite (shared) . . ( certutil pk12util modutil) SQLite . dbm: . : $ certutil -L -d dbm:/home/my/sharednssdb NSS_DEFAULT_DB_TYPE dbm : export NSS_DEFAULT_DB_TYPE="dbm" ~/.bashrc . o https://wiki.mozilla.org/NSS_Shared_DB_Howto o https://wiki.mozilla.org/NSS_Shared_DB NSS NSS : o https://wiki.mozilla.org/NSS_Shared_DB (SEE ALSO) pk12util(1) modutil(1) certutil RFC IETF . o http://tools.ietf.org/html/rfc5280 o http://tools.ietf.org/html/rfc1113 o http://tools.ietf.org/html/rfc1485 NSS . o https://wiki.mozilla.org/NSS_Shared_DB_Howto o https://wiki.mozilla.org/NSS_Shared_DB (ADDITIONAL RESOURCES) NSS NSS ( JSS) NSS http://www.mozilla.org/projects/security/pki/nss . NSS NSS . : https://lists.mozilla.org/listinfo/dev-tech-crypto IRC: Freenode #dogtag-pki (AUTHORS) NSS Netscape Red Hat Sun Oracle Mozilla Google . : Elio Maldonado Deon Lackey . (LICENSE) (Mozilla Public License) . . MPL http://mozilla.org/MPL/2.0 . (NOTES) 1. NSS https://bugzilla.mozilla.org/show_bug.cgi?id=836477 nss-tools 19 May 2021 CERTUTIL(1)