<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY date SYSTEM "date.xml">
<!ENTITY version SYSTEM "version.xml">
]>

<refentry id="modutil">

  <refentryinfo>
    <date>&date;</date>
    <title>NSS Security Tools</title>
    <productname>nss-tools</productname>
    <productnumber>&version;</productnumber>
  </refentryinfo>

  <refmeta>
    <refentrytitle>MODUTIL</refentrytitle>
    <manvolnum>1</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>modutil</refname>
    <refpurpose>Manage PKCS #11 module information within the security module database.</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>modutil</command>
      <arg><replaceable>options</replaceable></arg>
      <arg>[<replaceable>arguments</replaceable>]</arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsection>
    <title>STATUS</title>
    <para>This documentation is still work in progress. Please contribute to the initial review in <ulink url="https://bugzilla.mozilla.org/show_bug.cgi?id=836477">Mozilla NSS bug 836477</ulink>
    </para>
  </refsection>

  <refsection id="description">
    <title>Description</title>
    <para>The Security Module Database Tool, <command>modutil</command>, is a command-line utility for managing PKCS #11 module information both within <filename>secmod.db</filename> files and within hardware tokens. <command>modutil</command> can add and delete PKCS #11 modules, change passwords on security databases, set defaults, list module contents, enable or disable slots, enable or disable FIPS 140-2 compliance, and assign default providers for cryptographic operations. This tool can also create certificate, key, and module security database files.</para>

	<para>The tasks associated with security module database management are part of a process that typically also involves managing key databases and certificate databases.</para>
  </refsection>
  
  <refsection id="options">
    <title>Options</title>
	<para>
		Running <command>modutil</command> always requires one (and only one) option to specify the type of module operation. Each option may take arguments, anywhere from none to multiple arguments.
	</para>
   	<para><command>Options</command></para> 

	<variablelist>

      <varlistentry>
        <term>-add modulename</term>
	  <listitem><para>Add the named PKCS #11 module to the database. Use this option with the <option>-libfile</option>, <option>-ciphers</option>, and <option>-mechanisms</option> arguments.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-changepw tokenname</term>
	  <listitem><para>Change the password on the named token. If the token has not been initialized, this option initializes the password. Use this option with the <option>-pwfile</option> and <option>-newpwfile</option> arguments. A <emphasis>password</emphasis> is equivalent to a personal identification number (PIN).</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-chkfips</term>
	  <listitem><para>Verify whether the module is in the given FIPS mode. <command>true</command> means to verify that the module is in FIPS mode, while <command>false</command> means to verify that the module is not in FIPS mode.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-create</term>
	<listitem><para>Create new certificate, key, and module databases. Use the <option>-dbdir</option> directory argument to specify a directory. If any of these databases already exist in a specified directory, <command>modutil</command> returns an error message.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-default modulename</term>
	  <listitem><para>Specify the security mechanisms for which the named module will be a default provider. The security mechanisms are specified with the <option>-mechanisms</option> argument.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-delete modulename</term>
	  <listitem><para>Delete the named module. The default NSS PKCS #11 module cannot be deleted.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-disable modulename</term>
	  <listitem><para>Disable all slots on the named module. Use the <option>-slot</option> argument to disable a specific slot.</para><para>The internal NSS PKCS #11 module cannot be disabled.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-enable modulename</term>
	  <listitem><para>Enable all slots on the named module. Use the <option>-slot</option> argument to enable a specific slot.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-fips [true | false]</term>
	  <listitem><para>Enable (true) or disable (false) FIPS 140-2 compliance for the default NSS module.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-force</term>
	  <listitem><para>Disable <command>modutil</command>'s interactive prompts so it can be run from a script. Use this option only after manually testing each planned operation to check for warnings and to ensure that bypassing the prompts will cause no security lapses or loss of database integrity.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-jar JAR-file</term>
	  <listitem><para>Add a new PKCS #11 module to the database using the named JAR file. Use this command with the <option>-installdir</option> and <option>-tempdir</option> arguments. The JAR file uses the NSS PKCS #11 JAR format to identify all the files to be installed, the module's name, the mechanism flags, and the cipher flags, as well as any files to be installed on the target machine, including the PKCS #11 module library file and other files such as documentation. This is covered in the JAR installation file section in the man page, which details the special script needed to perform an installation through a server or with <command>modutil</command>. </para></listitem>
      </varlistentry>

      <varlistentry>
          <term>-list [modulename]</term>
	  <listitem><para>Display basic information about the contents of the <filename>secmod.db</filename> file. Specifying a <emphasis>modulename</emphasis> displays detailed information about a particular module and its slots and tokens.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-rawadd</term>
	  <listitem><para>Add the module spec string to the <filename>secmod.db</filename> database.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-rawlist</term>
	  <listitem><para>Display the module specs for a specified module or for all loadable modules.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-undefault modulename</term>
	  <listitem><para>Specify the security mechanisms for which the named module will not be a default provider. The security mechanisms are specified with the <option>-mechanisms</option> argument.</para></listitem>
      </varlistentry>
	</variablelist>

	<para><command>Arguments</command></para>
    <variablelist>

      <varlistentry>
        <term>MODULE</term>
	  <listitem><para>Give the security module to access.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>MODULESPEC</term>
	  <listitem><para>Give the security module spec to load into the security database.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-ciphers cipher-enable-list</term>
	  <listitem><para>Enable specific ciphers in a module that is being added to the database. The <emphasis>cipher-enable-list</emphasis> is a colon-delimited list of cipher names. Enclose this list in quotation marks if it contains spaces.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-dbdir directory</term>
	  <listitem><para>Specify the database directory in which to access or create security module database files.</para>
	<para><command>modutil</command> supports two types of databases: the legacy security databases (<filename>cert8.db</filename>, <filename>key3.db</filename>, and <filename>secmod.db</filename>) and SQLite databases (<filename>cert9.db</filename>, <filename>key4.db</filename>, and <filename>pkcs11.txt</filename>). If the prefix <command>dbm:</command> is not used, then the tool assumes that the given databases are in SQLite format.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>--dbprefix prefix</term>
	  <listitem><para>Specify the prefix used on the database files, such as <filename>my_</filename> for <filename>my_cert9.db</filename>. This option is provided as a special case. Changing the names of the certificate and key databases is not recommended.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-installdir root-installation-directory</term>
	  <listitem><para>Specify the root installation directory relative to which files will be installed by the <option>-jar</option> option. This directory should be one below which it is appropriate to store dynamic library files, such as a server's root directory.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-libfile library-file</term>
	  <listitem><para>Specify a path to a library file containing the implementation of the PKCS #11 interface module that is being added to the database.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-mechanisms mechanism-list</term>
	  <listitem><para>Specify the security mechanisms for which a particular module will be flagged as a default provider. The <emphasis>mechanism-list</emphasis> is a colon-delimited list of mechanism names. Enclose this list in quotation marks if it contains spaces.</para>
	<para>The module becomes a default provider for the listed mechanisms when those mechanisms are enabled. If more than one module claims to be a particular mechanism's default provider, that mechanism's default provider is undefined.</para>
	<para><command>modutil</command> supports several mechanisms: RSA, DSA, RC2, RC4, RC5, AES, DES, DH, SHA1, SHA256, SHA512, SSL, TLS, MD5, MD2, RANDOM (for random number generation), and FRIENDLY (meaning certificates are publicly readable).</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-newpwfile new-password-file</term>
	  <listitem><para>Specify a text file containing a token's new or replacement password so that a password can be entered automatically with the <option>-changepw</option> option.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-nocertdb</term>
	  <listitem><para>Do not open the certificate or key databases. This has several effects:</para>
		<itemizedlist>
		<listitem>
          <para>With the <option>-create</option> command, only a module security file is created; certificate and key databases are not created.</para>
		</listitem>
		<listitem>
          <para>With the <option>-jar</option> command, signatures on the JAR file are not checked.</para>
		</listitem>
		<listitem>
          <para>With the <option>-changepw</option> command, the password on the NSS internal module cannot be set or changed, since this password is stored in the key database.</para></listitem>
		</itemizedlist>
		</listitem>
      </varlistentry>

      <varlistentry>
        <term>-pwfile old-password-file</term>
	  <listitem><para>Specify a text file containing a token's existing password so that a password can be entered automatically when the <option>-changepw</option> option is used to change passwords.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-secmod secmodname</term>
	  <listitem><para>Give the name of the security module database (like <filename>secmod.db</filename>) to load.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-slot slotname</term>
	  <listitem><para>Specify a particular slot to be enabled or disabled with the <option>-enable</option> or <option>-disable</option> options.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-string CONFIG_STRING</term>
	  <listitem><para>Pass a configuration string for the module being added to the database.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term>-tempdir temporary-directory</term>
	  <listitem><para>Give a directory location where temporary files are created during the installation by the <option>-jar</option> option. If no temporary directory is specified, the current directory is used.</para></listitem>
      </varlistentry>
    </variablelist>
  </refsection>

  <refsection id="usage-and-examples">
    <title>Usage and Examples</title>

    <para><command>Creating Database Files</command></para>
    <para>Before any operations can be performed, there must be a set of security databases available. <command>modutil</command> can be used to create these files. The only required argument is the database that where the databases will be located.</para>
<programlisting>modutil -create -dbdir directory</programlisting>

	<para><command>Adding a Cryptographic Module</command></para>
	<para>Adding a PKCS #11 module means submitting a supporting library file, enabling its ciphers, and setting default provider status for various security mechanisms. This can be done by supplying all of the information through <command>modutil</command> directly or by running a JAR file and install script. For the most basic case, simply upload the library:</para>
<programlisting>modutil -add modulename -libfile library-file [-ciphers cipher-enable-list] [-mechanisms mechanism-list] </programlisting>
	<para>For example:
<programlisting>modutil -dbdir /home/my/sharednssdb -add "Example PKCS #11 Module" -libfile "/tmp/crypto.so" -mechanisms RSA:DSA:RC2:RANDOM 

Using database directory ... 
Module "Example PKCS #11 Module" added to database.</programlisting>
        </para>


	<para><command>Installing a Cryptographic Module from a JAR File</command></para>
	<para>PKCS #11 modules can also be loaded using a JAR file, which contains all of the required libraries and an installation script that describes how to install the module. The JAR install script is described in more detail in <xref linkend="jar-install-file" />.</para>
	<para>The JAR installation script defines the setup information for each platform that the module can be installed on. For example:</para>
<programlisting>Platforms { 
   Linux:5.4.08:x86 { 
      ModuleName { "Example PKCS #11 Module" } 
      ModuleFile { crypto.so } 
      DefaultMechanismFlags{0x0000} 
      CipherEnableFlags{0x0000} 
      Files { 
         crypto.so { 
            Path{ /tmp/crypto.so } 
         } 
         setup.sh { 
            Executable 
            Path{ /tmp/setup.sh } 
         } 
      } 
   } 
   Linux:6.0.0:x86 { 
      EquivalentPlatform { Linux:5.4.08:x86 } 
   } 
} </programlisting>
	<para>Both the install script and the required libraries must be bundled in a JAR file, which is specified with the <option>-jar</option> argument.</para>

<programlisting>modutil -dbdir /home/mt"jar-install-filey/sharednssdb -jar install.jar -installdir /home/my/sharednssdb

This installation JAR file was signed by: 
---------------------------------------------- 

**SUBJECT NAME** 

C=US, ST=California, L=Mountain View, CN=Cryptorific Inc., OU=Digital ID
Class 3 - Netscape Object Signing, OU="www.verisign.com/repository/CPS
Incorp. by Ref.,LIAB.LTD(c)9 6", OU=www.verisign.com/CPS Incorp.by Ref
. LIABILITY LTD.(c)97 VeriSign, OU=VeriSign Object Signing CA - Class 3
Organization, OU="VeriSign, Inc.", O=VeriSign Trust Network **ISSUER
NAME**, OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97
VeriSign, OU=VeriSign Object Signing CA - Class 3 Organization,
OU="VeriSign, Inc.", O=VeriSign Trust Network 
---------------------------------------------- 

Do you wish to continue this installation? (y/n) y 
Using installer script "installer_script" 
Successfully parsed installation script 
Current platform is Linux:5.4.08:x86 
Using installation parameters for platform Linux:5.4.08:x86 
Installed file crypto.so to /tmp/crypto.so
Installed file setup.sh to ./pk11inst.dir/setup.sh 
Executing "./pk11inst.dir/setup.sh"... 
"./pk11inst.dir/setup.sh" executed successfully 
Installed module "Example PKCS #11 Module" into module database 

Installation completed successfully </programlisting>

	<para><command>Adding Module Spec</command></para>
	<para>Each module has information stored in the security database about its configuration and parameters. These can be added or edited using the <option>-rawadd</option> command. For the current settings or to see the format of the module spec in the database, use the <option>-rawlist</option> option.</para>
<programlisting>modutil -rawadd modulespec</programlisting>


	<para><command>Deleting a Module</command></para>
    <para>A specific PKCS #11 module can be deleted from the <filename>secmod.db</filename> database:</para>
<programlisting>modutil -delete modulename -dbdir directory </programlisting>

	<para><command>Displaying Module Information</command></para>
	<para>The <filename>secmod.db</filename> database contains information about the PKCS #11 modules that are available to an application or server to use. The list of all modules, information about specific modules, and database configuration specs for modules can all be viewed. </para>
    <para>To simply get a list of modules in the database, use the <option>-list</option> command.</para>
<programlisting>modutil -list [modulename] -dbdir directory </programlisting>
	<para>Listing the modules shows the module name, their status, and other associated security databases for certificates and keys. For example:</para>
   
<programlisting>modutil -list -dbdir /home/my/sharednssdb 

Listing of PKCS #11 Modules
-----------------------------------------------------------
  1. NSS Internal PKCS #11 Module
         slots: 2 slots attached
        status: loaded

         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

         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
-----------------------------------------------------------</programlisting>
	<para>Passing a specific module name with the <option>-list</option> returns details information about the module itself, like supported cipher mechanisms, version numbers, serial numbers, and other information about the module and the token it is loaded on. For example:</para>
<programlisting> modutil -list "NSS Internal PKCS #11 Module" -dbdir /home/my/sharednssdb

-----------------------------------------------------------
Name: NSS Internal PKCS #11 Module
Library file: **Internal ONLY module**
Manufacturer: Mozilla Foundation              
Description: NSS Internal Crypto Services    
PKCS #11 Version 2.20
Library Version: 3.11
Cipher Enable Flags: None
Default Mechanism Flags: RSA:RC2:RC4:DES:DH:SHA1:MD5:MD2:SSL:TLS:AES

  Slot: NSS Internal Cryptographic Services                            
  Slot Mechanism Flags: RSA:RC2:RC4:DES:DH:SHA1:MD5:MD2:SSL:TLS:AES
  Manufacturer: Mozilla Foundation              
  Type: Software
  Version Number: 3.11
  Firmware Version: 0.0
  Status: Enabled
  Token Name: NSS Generic Crypto Services     
  Token Manufacturer: Mozilla Foundation              
  Token Model: NSS 3           
  Token Serial Number: 0000000000000000
  Token Version: 4.0
  Token Firmware Version: 0.0
  Access: Write Protected
  Login Type: Public (no login required)
  User Pin: NOT Initialized

  Slot: NSS User Private Key and Certificate Services                  
  Slot Mechanism Flags: None
  Manufacturer: Mozilla Foundation              
  Type: Software
  Version Number: 3.11
  Firmware Version: 0.0
  Status: Enabled
  Token Name: NSS Certificate DB              
  Token Manufacturer: Mozilla Foundation              
  Token Model: NSS 3           
  Token Serial Number: 0000000000000000
  Token Version: 8.3
  Token Firmware Version: 0.0
  Access: NOT Write Protected
  Login Type: Login required
  User Pin: Initialized</programlisting>
	<para>A related command, <option>-rawlist</option> returns information about the database configuration for the modules. (This information can be edited by loading new specs using the <option>-rawadd</option> command.)</para>
<programlisting> modutil -rawlist -dbdir /home/my/sharednssdb
 name="NSS Internal PKCS #11 Module" parameters="configdir=. certPrefix= keyPrefix= secmod=secmod.db flags=readOnly " NSS="trustOrder=75 cipherOrder=100 slotParams={0x00000001=[slotFlags=RSA,RC4,RC2,DES,DH,SHA1,MD5,MD2,SSL,TLS,AES,RANDOM askpw=any timeout=30 ] }  Flags=internal,critical"</programlisting>

	<para><command>Setting a Default Provider for Security Mechanisms</command></para>
	<para>Multiple security modules may provide support for the same security mechanisms. It is possible to set a specific security module as the default provider for a specific security mechanism (or, conversely, to prohibit a provider from supplying those mechanisms).</para>
<programlisting>modutil -default modulename -mechanisms mechanism-list </programlisting>
	<para>To set a module as the default provider for mechanisms, use the <option>-default</option> command with a colon-separated list of mechanisms. The available mechanisms depend on the module; NSS supplies almost all common mechanisms. For example:</para>
<programlisting>modutil -default "NSS Internal PKCS #11 Module" -dbdir -mechanisms RSA:DSA:RC2 

Using database directory c:\databases...

Successfully changed defaults.</programlisting>

    <para>Clearing the default provider has the same format:</para>
<programlisting>modutil -undefault "NSS Internal PKCS #11 Module" -dbdir -mechanisms MD2:MD5</programlisting>

	<para><command>Enabling and Disabling Modules and Slots</command></para>
	<para>Modules, and specific slots on modules, can be selectively enabled or disabled using <command>modutil</command>. Both commands have the same format:</para>
<programlisting>modutil -enable|-disable modulename [-slot slotname] </programlisting>

    <para>For example:</para>
<programlisting>modutil -enable "NSS Internal PKCS #11 Module" -slot "NSS Internal Cryptographic Services                            " -dbdir .

Slot "NSS Internal Cryptographic Services                            " enabled.</programlisting>
	<para>Be sure that the appropriate amount of trailing whitespace is after the slot name. Some slot names have a significant amount of whitespace that must be included, or the operation will fail.</para>

	<para><command>Enabling and Verifying FIPS Compliance</command></para>
	<para>The NSS modules can have FIPS 140-2 compliance enabled or disabled using <command>modutil</command> with the <option>-fips</option> option. For example:</para>
<programlisting>modutil -fips true -dbdir /home/my/sharednssdb/

FIPS mode enabled.</programlisting>
	<para>To verify that status of FIPS mode, run the <option>-chkfips</option> command with either a true or false flag (it doesn't matter which). The tool returns the current FIPS setting.</para>
<programlisting>modutil -chkfips false -dbdir /home/my/sharednssdb/

FIPS mode enabled.</programlisting>

	<para><command>Changing the Password on a Token</command></para>

    <para>Initializing or changing a token's password:</para>
<programlisting>modutil -changepw tokenname [-pwfile old-password-file] [-newpwfile new-password-file] </programlisting>
<programlisting>modutil -dbdir /home/my/sharednssdb -changepw "NSS Certificate DB" 

Enter old password: 
Incorrect password, try again... 
Enter old password: 
Enter new password: 
Re-enter new password: 
Token "Communicator Certificate DB" password changed successfully.</programlisting>
  </refsection>

  <refsection id="jar-install-file"><title>JAR Installation File Format</title>
     <para>When a JAR file is run by a server, by <command>modutil</command>, or by any program that does not interpret JavaScript, a special information file must be included to install the libraries. There are several things to keep in mind with this file:</para>
	<itemizedlist>
		<listitem>
			<para>
				It must be declared in the JAR archive's manifest file. 
			</para>
		</listitem>
		<listitem>
			<para>
				The script can have any name. 
			</para>
		</listitem>
		<listitem>
			<para>
				The metainfo tag for this is <command>Pkcs11_install_script</command>. To declare meta-information in the manifest file, put it in a file that is passed to <command>signtool</command>.</para>
		</listitem>
	</itemizedlist>

	<para><command>Sample Script</command></para>
	<para>For example, the PKCS #11 installer script could be in the file pk11install. If so, the metainfo file for <command>signtool</command> includes a line such as this:</para>
<programlisting>+ Pkcs11_install_script: pk11install</programlisting>

	<para>The script must define the platform and version number, the module name and file, and any optional information like supported ciphers and mechanisms. Multiple platforms can be defined in a single install file.</para>
<programlisting>ForwardCompatible { IRIX:6.2:mips SUNOS:5.5.1:sparc }
Platforms {
   WINNT::x86 {
      ModuleName { "Example Module" }
      ModuleFile { win32/fort32.dll }
      DefaultMechanismFlags{0x0001}
      DefaultCipherFlags{0x0001}
      Files {
         win32/setup.exe {
            Executable
            RelativePath { %temp%/setup.exe }
         }
         win32/setup.hlp {
            RelativePath { %temp%/setup.hlp }
         }
         win32/setup.cab {
            RelativePath { %temp%/setup.cab }
         }
      }
   }
   WIN95::x86 {
      EquivalentPlatform {WINNT::x86}
   }
   SUNOS:5.5.1:sparc {
      ModuleName { "Example UNIX Module" }
      ModuleFile { unix/fort.so }
      DefaultMechanismFlags{0x0001}
      CipherEnableFlags{0x0001}
      Files {
         unix/fort.so {
            RelativePath{%root%/lib/fort.so}
            AbsolutePath{/usr/local/netscape/lib/fort.so}
            FilePermissions{555}
         }
         xplat/instr.html {
            RelativePath{%root%/docs/inst.html}
            AbsolutePath{/usr/local/netscape/docs/inst.html}
            FilePermissions{555}
         }
      }
   }
   IRIX:6.2:mips {
      EquivalentPlatform { SUNOS:5.5.1:sparc }
   }
}</programlisting>

	<para><command>Script Grammar</command></para>
	<para>The script is basic Java, allowing lists, key-value pairs, strings, and combinations of all of them.</para>
<programlisting>--> valuelist

valuelist --> value valuelist
               &lt;null>

value ---> key_value_pair
            string

key_value_pair --> key { valuelist }

key --> string

string --> simple_string
            "complex_string"

simple_string --> [^ \t\n\""{""}"]+ 

complex_string --> ([^\"\\\r\n]|(\\\")|(\\\\))+ </programlisting>

	<para>Quotes and backslashes must be escaped with a backslash. A complex string must not include newlines or carriage returns.Outside of complex strings, all white space (for example, spaces, tabs, and carriage returns) is considered equal and is used only to delimit tokens.</para>

	<para><command>Keys</command></para>
	<para>The Java install file uses keys to define the platform and module information.</para>
	<para><command>ForwardCompatible</command> gives a list of platforms that are forward compatible. If the current platform cannot be found in the list of supported platforms, then the <command>ForwardCompatible</command> list is checked for any platforms that have the same OS and architecture in an earlier version. If one is found, its attributes are used for the current platform. </para>
	<para><command>Platforms</command> (required) Gives a list of platforms. Each entry in the list is itself a key-value pair: the key is the name of the platform and the value list contains various attributes of the platform. The platform string is in the format <emphasis>system name:OS release:architecture</emphasis>. The installer obtains these values from NSPR. OS release is an empty string on non-Unix operating systems. NSPR supports these platforms:</para>
	<itemizedlist>
	<listitem>
	<para>AIX (rs6000)</para>
	</listitem>
	<listitem>
	<para>BSDI (x86)</para>
	</listitem>
	<listitem>
	<para>FREEBSD (x86)</para>
	</listitem>
	<listitem>
	<para>HPUX (hppa1.1)</para>
	</listitem>
	<listitem>
	<para>IRIX (mips)</para>
	</listitem>
	<listitem>
	<para>LINUX (ppc, alpha, x86)</para>
	</listitem>
	<listitem>
	<para>MacOS (PowerPC)</para>
	</listitem>
	<listitem>
	<para>NCR (x86)</para>
	</listitem>
	<listitem>
	<para>NEC (mips)</para>
	</listitem>
	<listitem>
	<para>OS2 (x86)</para>
	</listitem>
	<listitem>
	<para>OSF (alpha)</para>
	</listitem>
	<listitem>
	<para>ReliantUNIX (mips)</para>
	</listitem>
	<listitem>
	<para>SCO (x86)</para>
	</listitem>
	<listitem>
	<para>SOLARIS (sparc)</para>
	</listitem>
	<listitem>
	<para>SONY (mips)</para>
	</listitem>
	<listitem>
	<para>SUNOS (sparc)</para>
	</listitem>
	<listitem>
	<para>UnixWare (x86)</para>
	</listitem>
	<listitem>
	<para>WIN16 (x86)</para>
	</listitem>
	<listitem>
	<para>WIN95 (x86)</para>
	</listitem>
	<listitem>
	<para>WINNT (x86)</para>
	</listitem>
	</itemizedlist>

	<para>For example:</para>
<programlisting>IRIX:6.2:mips
SUNOS:5.5.1:sparc
Linux:2.0.32:x86
WIN95::x86</programlisting>
	<para>The module information is defined independently for each platform in the <command>ModuleName</command>, <command>ModuleFile</command>, and <command>Files</command> attributes. These attributes must be given unless an <command>EquivalentPlatform</command> attribute is specified. </para>

	<para><command>Per-Platform Keys</command></para>
	<para>Per-platform keys have meaning only within the value list of an entry in the <command>Platforms</command> list.</para>
	<para><command>ModuleName</command> (required) gives the common name for the module. This name is used to reference the module by servers and by the <command>modutil</command> tool. </para>
	<para><command>ModuleFile</command> (required) names the PKCS #11 module file for this platform. The name is given as the relative path of the file within the JAR archive. </para>
	<para><command>Files</command> (required) lists the files that need to be installed for this module. Each entry in the file list is a key-value pair. The key is the path of the file in the JAR archive, and the value list contains attributes of the file. At least <command>RelativePath</command> or <command>AbsolutePath</command> must be specified for each file.</para>
	<para><command>DefaultMechanismFlags</command> specifies mechanisms for which this module is the default provider; this is equivalent to the <option>-mechanism</option> option with the <option>-add</option> command. This key-value pair is a bitstring specified in hexadecimal (0x) format. It is constructed as a bitwise OR. If the DefaultMechanismFlags entry is omitted, the value defaults to 0x0.</para>

<programlisting>RSA:                   0x00000001
DSA:                   0x00000002
RC2:                   0x00000004
RC4:                   0x00000008
DES:                   0x00000010
DH:                    0x00000020
FORTEZZA:              0x00000040
RC5:                   0x00000080
SHA1:                  0x00000100
MD5:                   0x00000200
MD2:                   0x00000400
RANDOM:                0x08000000
FRIENDLY:              0x10000000
OWN_PW_DEFAULTS:       0x20000000
DISABLE:               0x40000000</programlisting>

	<para><command>CipherEnableFlags</command> specifies ciphers that this module provides that NSS does not provide (so that the module enables those ciphers for NSS). This is equivalent to the <option>-cipher</option> argument with the <option>-add</option> command. This key is a bitstring specified in hexadecimal (0x) format. It is constructed as a bitwise OR. If the <command>CipherEnableFlags</command> entry is omitted, the value defaults to 0x0.</para>

	<para><command>EquivalentPlatform</command> specifies that the attributes of the named platform should also be used for the current platform. This makes it easier when more than one platform uses the same settings.</para>

	<para><command>Per-File Keys</command></para>
	<para>Some keys have meaning only within the value list of an entry in a <command>Files</command> list.</para>
	<para>Each file requires a path key the identifies where the file is. Either <command>RelativePath</command> or <command>AbsolutePath</command> must be specified. If both are specified, the relative path is tried first, and the absolute path is used only if no relative root directory is provided by the installer program.</para>
	<para><command>RelativePath</command> specifies the destination directory of the file, relative to some directory decided at install time. Two variables can be used in the relative path: <command>%root%</command> and <command>%temp%</command>. <command>%root%</command> is replaced at run time with the directory relative to which files should be installed; for example, it may be the server's root directory. The <command>%temp%</command> directory is created at the beginning of the installation and destroyed at the end. The purpose of <command>%temp%</command> is to hold executable files (such as setup programs) or files that are used by these programs. Files destined for the temporary directory are guaranteed to be in place before any executable file is run; they are not deleted until all executable files have finished.</para>
	<para><command>AbsolutePath</command> specifies the destination directory of the file as an absolute path. </para>
	<para><command>Executable</command> specifies that the file is to be executed during the course of the installation. Typically, this string is used for a setup program provided by a module vendor, such as a self-extracting setup executable. More than one file can be specified as executable, in which case the files are run in the order in which they are specified in the script file.</para>
	<para><command>FilePermissions</command> sets permissions on any referenced files in a string of octal digits, according to the standard Unix format. This string is a bitwise OR.</para>

<programlisting>
user read:                0400
user write:               0200
user execute:             0100
group read:               0040
group write:              0020
group execute:            0010
other read:               0004
other write:              0002
other execute:            0001
</programlisting>

<para>Some platforms may not understand these permissions. They are applied only insofar as they make sense for the current platform. If this attribute is omitted, a default of 777 is assumed.</para>
  </refsection>

<refsection id="databases"><title>NSS Database Types</title>
<para>NSS originally used BerkeleyDB databases to store security information. 
The last versions of these <emphasis>legacy</emphasis> databases are:</para>
<itemizedlist>
	<listitem>
		<para>
			cert8.db for certificates
		</para>
	</listitem>
	<listitem>
		<para>
			key3.db for keys
		</para>
	</listitem>
	<listitem>
		<para>
			secmod.db for PKCS #11 module information
		</para>
	</listitem>
</itemizedlist>

<para>BerkeleyDB has performance limitations, though, which prevent it from being easily used by multiple applications simultaneously. NSS has 
some flexibility that allows applications to use their own, independent database engine while keeping a shared database and working around the access issues. Still, NSS
requires more flexibility to provide a truly shared security database.</para>

<para>In 2009, NSS introduced a new set of databases that are SQLite databases rather than 
BerkleyDB. These new databases provide more accessibility and performance:</para>
<itemizedlist>
	<listitem>
		<para>
			cert9.db for certificates
		</para>
	</listitem>
	<listitem>
		<para>
			key4.db for keys
		</para>
	</listitem>
	<listitem>
		<para>
			pkcs11.txt, which is listing of all of the PKCS #11 modules contained in a new subdirectory in the security databases directory
		</para>
	</listitem>
</itemizedlist>

<para>Because the SQLite databases are designed to be shared, these are the <emphasis>shared</emphasis> database type. The shared database type is preferred; the legacy format is included for backward compatibility.</para>

<para>By default, the tools (<command>certutil</command>, <command>pk12util</command>, <command>modutil</command>) assume that the given security databases use the SQLite type.
Using the legacy databases must be manually specified by using the <command>dbm:</command> prefix with the given security directory. For example:</para>

<programlisting>modutil -create -dbdir dbm:/home/my/sharednssdb</programlisting>

<para>To set the legacy database type as the default type for the tools, set the <envar>NSS_DEFAULT_DB_TYPE</envar> environment variable to <envar>dbm</envar>:</para>
<programlisting>export NSS_DEFAULT_DB_TYPE="dbm"</programlisting>

<para>This line can be added to the <filename>~/.bashrc</filename> file to make the change permanent for the user.</para>

<itemizedlist>
	<listitem>
		<para>
			https://wiki.mozilla.org/NSS_Shared_DB_Howto</para>
	</listitem>
</itemizedlist>
<para>For an engineering draft on the changes in the shared NSS databases, see the NSS project wiki:</para>
<itemizedlist>
	<listitem>
		<para>
			https://wiki.mozilla.org/NSS_Shared_DB
		</para>
	</listitem>
</itemizedlist>
</refsection>

  <refsection id="seealso">
    <title>See Also</title>
    <para>certutil (1)</para>
    <para>pk12util (1)</para>
    <para>signtool (1)</para>

	<para>The NSS wiki has information on the new database design and how to configure applications to use it.</para>
<itemizedlist>
	<listitem>
		<para>
			https://wiki.mozilla.org/NSS_Shared_DB_Howto</para>
	</listitem>
	<listitem>
		<para>
			https://wiki.mozilla.org/NSS_Shared_DB
		</para>
	</listitem>
</itemizedlist>
  </refsection>

<!-- don't change -->
  <refsection id="resources">
    <title>Additional Resources</title>
	<para>For information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at <ulink url="http://www.mozilla.org/projects/security/pki/nss/">http://www.mozilla.org/projects/security/pki/nss/</ulink>. The NSS site relates directly to NSS code changes and releases.</para>
	<para>Mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto</para>
	<para>IRC: Freenode at #dogtag-pki</para>
  </refsection>

<!-- fill in your name first; keep the other names for reference -->
  <refsection id="authors">
    <title>Authors</title>
    <para>The NSS tools were written and maintained by developers with Netscape, Red Hat,  Sun, Oracle, Mozilla, and Google.</para>
    <para>
	Authors: Elio Maldonado &lt;emaldona@redhat.com>, Deon Lackey &lt;dlackey@redhat.com>.
    </para>
  </refsection>

<!-- don't change -->
  <refsection id="license">
    <title>LICENSE</title>
    <para>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/.
    </para>
  </refsection>

</refentry>
