'\" t
.\"     Title: CRLUTIL
.\"    Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\"      Date:  5 June 2014
.\"    Manual: NSS Security Tools
.\"    Source: nss-tools
.\"  Language: English
.\"
.TH "CRLUTIL" "1" "5 June 2014" "nss-tools" "NSS Security Tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
crlutil \- List, generate, modify, or delete CRLs within the NSS security database file(s) and list, create, modify or delete certificates entries in a particular CRL\&.
.SH "SYNOPSIS"
.HP \w'\fBcrlutil\fR\ 'u
\fBcrlutil\fR [\fIoptions\fR] [[\fIarguments\fR]]
.SH "STATUS"
.PP
This documentation is still work in progress\&. Please contribute to the initial review in
\m[blue]\fBMozilla NSS bug 836477\fR\m[]\&\s-2\u[1]\d\s+2
.SH "DESCRIPTION"
.PP
The Certificate Revocation List (CRL) Management Tool,
\fBcrlutil\fR, is a command\-line utility that can list, generate, modify, or delete CRLs within the NSS security database file(s) and list, create, modify or delete certificates entries in a particular CRL\&.
.PP
The key and certificate management process generally begins with creating keys in the key database, then generating and managing certificates in the certificate database(see certutil tool) and continues with certificates expiration or revocation\&.
.PP
This document discusses certificate revocation list management\&. For information on security module database management, see Using the Security Module Database Tool\&. For information on certificate and key database management, see Using the Certificate Database Tool\&.
.PP
To run the Certificate Revocation List Management Tool, type the command
.PP
crlutil option [arguments]
.PP
where options and arguments are combinations of the options and arguments listed in the following section\&. Each command takes one option\&. Each option may take zero or more arguments\&. To see a usage string, issue the command without options, or with the \-H option\&.
.SH "OPTIONS AND ARGUMENTS"
.PP
.PP
\fBOptions\fR
.PP
Options specify an action\&. Option arguments modify an action\&. The options and arguments for the crlutil command are defined as follows:
.PP
\-D
.RS 4
Delete Certificate Revocation List from cert database\&.
.RE
.PP
\-E
.RS 4
Erase all CRLs of specified type from the cert database
.RE
.PP
\-G
.RS 4
Create new Certificate Revocation List (CRL)\&.
.RE
.PP
\-I
.RS 4
Import a CRL to the cert database
.RE
.PP
\-L
.RS 4
List existing CRL located in cert database file\&.
.RE
.PP
\-M
.RS 4
Modify existing CRL which can be located in cert db or in arbitrary file\&. If located in file it should be encoded in ASN\&.1 encode format\&.
.RE
.PP
\-S
.RS 4
Show contents of a CRL file which isn\*(Aqt stored in the database\&.
.RE
.PP
\fBArguments\fR
.PP
Option arguments modify an action\&.
.PP
\-a
.RS 4
Use ASCII format or allow the use of ASCII format for input and output\&. This formatting follows RFC #1113\&.
.RE
.PP
\-B
.RS 4
Bypass CA signature checks\&.
.RE
.PP
\-c crl\-gen\-file
.RS 4
Specify script file that will be used to control crl generation/modification\&. See crl\-cript\-file format below\&. If options \-M|\-G is used and \-c crl\-script\-file is not specified, crlutil will read script data from standard input\&.
.RE
.PP
\-d directory
.RS 4
Specify the database directory containing the certificate and key database files\&. On Unix the Certificate Database Tool defaults to $HOME/\&.netscape (that is, ~/\&.netscape)\&. On Windows NT the default is the current directory\&.
.sp
The NSS database files must reside in the same directory\&.
.RE
.PP
\-f password\-file
.RS 4
Specify a file that will automatically supply the password to include in a certificate or to access a certificate database\&. This is a plain\-text file containing one password\&. Be sure to prevent unauthorized access to this file\&.
.RE
.PP
\-i crl\-file
.RS 4
Specify the file which contains the CRL to import or show\&.
.RE
.PP
\-l algorithm\-name
.RS 4
Specify a specific signature algorithm\&. List of possible algorithms: MD2 | MD4 | MD5 | SHA1 | SHA256 | SHA384 | SHA512
.RE
.PP
\-n nickname
.RS 4
Specify the nickname of a certificate or key to list, create, add to a database, modify, or validate\&. Bracket the nickname string with quotation marks if it contains spaces\&.
.RE
.PP
\-o output\-file
.RS 4
Specify the output file name for new CRL\&. Bracket the output\-file string with quotation marks if it contains spaces\&. If this argument is not used the output destination defaults to standard output\&.
.RE
.PP
\-P dbprefix
.RS 4
Specify the prefix used on the NSS security database files (for example, my_cert8\&.db and my_key3\&.db)\&. This option is provided as a special case\&. Changing the names of the certificate and key databases is not recommended\&.
.RE
.PP
\-t crl\-type
.RS 4
Specify type of CRL\&. possible types are: 0 \- SEC_KRL_TYPE, 1 \- SEC_CRL_TYPE\&. This option is obsolete
.RE
.PP
\-u url
.RS 4
Specify the url\&.
.RE
.PP
\-w pwd\-string
.RS 4
Provide db password in command line\&.
.RE
.PP
\-Z algorithm
.RS 4
Specify the hash algorithm to use for signing the CRL\&.
.RE
.SH "CRL GENERATION SCRIPT SYNTAX"
.PP
CRL generation script file has the following syntax:
.PP
* Line with comments should have # as a first symbol of a line
.PP
* Set "this update" or "next update" CRL fields:
.PP
update=YYYYMMDDhhmmssZ nextupdate=YYYYMMDDhhmmssZ
.PP
Field "next update" is optional\&. Time should be in GeneralizedTime format (YYYYMMDDhhmmssZ)\&. For example: 20050204153000Z
.PP
* Add an extension to a CRL or a crl certificate entry:
.PP
addext extension\-name critical/non\-critical [arg1[arg2 \&.\&.\&.]]
.PP
Where:
.PP
extension\-name: string value of a name of known extensions\&. critical/non\-critical: is 1 when extension is critical and 0 otherwise\&. arg1, arg2: specific to extension type extension parameters
.PP
addext uses the range that was set earlier by addcert and will install an extension to every cert entries within the range\&.
.PP
* Add certificate entries(s) to CRL:
.PP
addcert range date
.PP
range: two integer values separated by dash: range of certificates that will be added by this command\&. dash is used as a delimiter\&. Only one cert will be added if there is no delimiter\&. date: revocation date of a cert\&. Date should be represented in GeneralizedTime format (YYYYMMDDhhmmssZ)\&.
.PP
* Remove certificate entry(s) from CRL
.PP
rmcert range
.PP
Where:
.PP
range: two integer values separated by dash: range of certificates that will be added by this command\&. dash is used as a delimiter\&. Only one cert will be added if there is no delimiter\&.
.PP
* Change range of certificate entry(s) in CRL
.PP
range new\-range
.PP
Where:
.PP
new\-range: two integer values separated by dash: range of certificates that will be added by this command\&. dash is used as a delimiter\&. Only one cert will be added if there is no delimiter\&.
.PP
Implemented Extensions
.PP
The extensions defined for CRL provide methods for associating additional attributes with CRLs of theirs entries\&. For more information see RFC #3280
.PP
* Add The Authority Key Identifier extension:
.PP
The authority key identifier extension provides a means of identifying the public key corresponding to the private key used to sign a CRL\&.
.PP
authKeyId critical [key\-id | dn cert\-serial]
.PP
Where:
.PP
authKeyIdent: identifies the name of an extension critical: value of 1 of 0\&. Should be set to 1 if this extension is critical or 0 otherwise\&. key\-id: key identifier represented in octet string\&. dn:: is a CA distinguished name cert\-serial: authority certificate serial number\&.
.PP
* Add Issuer Alternative Name extension:
.PP
The issuer alternative names extension allows additional identities to be associated with the issuer of the CRL\&. Defined options include an rfc822 name (electronic mail address), a DNS name, an IP address, and a URI\&.
.PP
issuerAltNames non\-critical name\-list
.PP
Where:
.PP
subjAltNames: identifies the name of an extension should be set to 0 since this is non\-critical extension name\-list: comma separated list of names
.PP
* Add CRL Number extension:
.PP
The CRL number is a non\-critical CRL extension which conveys a monotonically increasing sequence number for a given CRL scope and CRL issuer\&. This extension allows users to easily determine when a particular CRL supersedes another CRL
.PP
crlNumber non\-critical number
.PP
Where:
.PP
crlNumber: identifies the name of an extension critical: should be set to 0 since this is non\-critical extension number: value of long which identifies the sequential number of a CRL\&.
.PP
* Add Revocation Reason Code extension:
.PP
The reasonCode is a non\-critical CRL entry extension that identifies the reason for the certificate revocation\&.
.PP
reasonCode non\-critical code
.PP
Where:
.PP
reasonCode: identifies the name of an extension non\-critical: should be set to 0 since this is non\-critical extension code: the following codes are available:
.PP
unspecified (0), keyCompromise (1), cACompromise (2), affiliationChanged (3), superseded (4), cessationOfOperation (5), certificateHold (6), removeFromCRL (8), privilegeWithdrawn (9), aACompromise (10)
.PP
* Add Invalidity Date extension:
.PP
The invalidity date is a non\-critical CRL entry extension that provides the date on which it is known or suspected that the private key was compromised or that the certificate otherwise became invalid\&.
.PP
invalidityDate non\-critical date
.PP
Where:
.PP
crlNumber: identifies the name of an extension non\-critical: should be set to 0 since this is non\-critical extension date: invalidity date of a cert\&. Date should be represented in GeneralizedTime format (YYYYMMDDhhmmssZ)\&.
.SH "USAGE"
.PP
The Certificate Revocation List Management Tool\*(Aqs capabilities are grouped as follows, using these combinations of options and arguments\&. Options and arguments in square brackets are optional, those without square brackets are required\&.
.PP
See "Implemented extensions" for more information regarding extensions and their parameters\&.
.PP
* Creating or modifying a CRL:
.sp
.if n \{\
.RS 4
.\}
.nf
crlutil \-G|\-M \-c crl\-gen\-file \-n nickname [\-i crl] [\-u url] [\-d keydir] [\-P dbprefix] [\-l alg] [\-a] [\-B] 
      
.fi
.if n \{\
.RE
.\}
.PP
* Listing all CRls or a named CRL:
.sp
.if n \{\
.RS 4
.\}
.nf
	crlutil \-L [\-n crl\-name] [\-d krydir] 
      
.fi
.if n \{\
.RE
.\}
.PP
* Deleting CRL from db:
.sp
.if n \{\
.RS 4
.\}
.nf
	crlutil \-D \-n nickname [\-d keydir] [\-P dbprefix] 
      
.fi
.if n \{\
.RE
.\}
.PP
* Erasing CRLs from db:
.sp
.if n \{\
.RS 4
.\}
.nf
	crlutil \-E [\-d keydir] [\-P dbprefix] 
      
.fi
.if n \{\
.RE
.\}
.PP
* Deleting CRL from db:
.sp
.if n \{\
.RS 4
.\}
.nf
          crlutil \-D \-n nickname [\-d keydir] [\-P dbprefix]
    
.fi
.if n \{\
.RE
.\}
.PP
* Erasing CRLs from db:
.sp
.if n \{\
.RS 4
.\}
.nf
          crlutil \-E [\-d keydir] [\-P dbprefix] 
    
.fi
.if n \{\
.RE
.\}
.PP
* Import CRL from file:
.sp
.if n \{\
.RS 4
.\}
.nf
          crlutil \-I \-i crl [\-t crlType] [\-u url] [\-d keydir] [\-P dbprefix] [\-B] 
    
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.PP
certutil(1)
.SH "ADDITIONAL RESOURCES"
.PP
For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at
\m[blue]\fBhttp://www\&.mozilla\&.org/projects/security/pki/nss/\fR\m[]\&. The NSS site relates directly to NSS code changes and releases\&.
.PP
Mailing lists: https://lists\&.mozilla\&.org/listinfo/dev\-tech\-crypto
.PP
IRC: Freenode at #dogtag\-pki
.SH "AUTHORS"
.PP
The NSS tools were written and maintained by developers with Netscape, Red Hat, Sun, Oracle, Mozilla, and Google\&.
.PP
Authors: Elio Maldonado <emaldona@redhat\&.com>, Deon Lackey <dlackey@redhat\&.com>\&.
.SH "LICENSE"
.PP
Licensed under the Mozilla Public License, v\&. 2\&.0\&. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla\&.org/MPL/2\&.0/\&.
.SH "NOTES"
.IP " 1." 4
Mozilla NSS bug 836477
.RS 4
\%https://bugzilla.mozilla.org/show_bug.cgi?id=836477
.RE
