diff -r 000000000000 -r 6474c204b198 security/nss/cmd/modutil/pk11jar.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/security/nss/cmd/modutil/pk11jar.html Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,279 @@ + + +
+PKCS #11 modules can be packaged into JAR files that support automatic +installation onto the filesystem and into the security module database. +The JAR file should contain: +
If the +JAR file is to be run by a server, modutil, or any other program that +doesn't interpret Javascript, a special information file must be included +in the format described in this document. + +
Pkcs11_install_script
. Meta-information is put in the manifest
+file by putting it in a file which is passed to
+Signtool. For example,
+suppose the PKCS #11 installer script is in the file pk11install
.
+In Signtool's metainfo file, you would have a line like this:
++ +++ Pkcs11_install_script: pk11install +
+ ++ForwardCompatible { IRIX:6.2:mips Solaris:5.5.1:sparc } +Platforms { + WINNT::x86 { + ModuleName { "Fortezza 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} + } + Solaris:5.5.1:sparc { + ModuleName { "Fortezza 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 { Solaris:5.5.1:sparc } + } +} +
+Outside of complex strings, all whitespace (space, tab, newline) is considered +equal and is used only to delimit tokens. + ++--> valuelist + +valuelist --> value valuelist + <null> + +value --> key_value_pair + string + +key_value_pair --> key { valuelist } + +key --> string + +string --> simple_string + "complex_string" + +simple_string --> [^ \t\n\""{""}"]+ (no whitespace, quotes, or braces) + +complex_string --> ([^\"\\\r\n]|(\\\")|(\\\\))+ (quotes and backslashes must be escaped with a backslash, no newlines or carriage returns are allowed in the string) +
ForwardCompatible
+Platforms
(required)
+
+
+- AIX (rs6000)
+
- BSDI (x86)
+
- FREEBSD (x86)
+
- HPUX (hppa1.1)
+
- IRIX (mips)
+
- LINUX (ppc, alpha, x86)
+
- MacOS (PowerPC)
(Note: NSPR actually defines the OS as
+"Mac OS
". The
+space makes the name unsuitable for being embedded in identifiers. Until
+NSPR changes, you will have to add some special code to deal with this case.
+)
+- NCR (x86)
+
- NEC (mips)
+
- OS2 (x86)
+
- OSF (alpha)
+
- ReliantUNIX (mips)
+
- SCO (x86)
+
- SOLARIS (sparc)
+
- SONY (mips)
+
- SUNOS (sparc)
+
- UnixWare (x86)
+
- WIN95 (x86)
+
- WINNT (x86)
+
+
+Examples of valid platform strings: IRIX:6.2:mips, Solaris:5.5.1:sparc,
+Linux:2.0.32:x86, WIN95::x86
.
+Platforms
list.
+ModuleName
(required)
+ModuleFile
(required)
+Files
(required)
+DefaultMechanismFlags
+DefaultMechanismFlags
+entry is omitted, the value will default to 0x0.
+++RSA: 0x0000 0001 +DSA: 0x0000 0002 +RC2: 0x0000 0004 +RC4: 0x0000 0008 +DES: 0x0000 0010 +DH: 0x0000 0020 +FORTEZZA: 0x0000 0040 +RC5: 0x0000 0080 +SHA1: 0x0000 0100 +MD5: 0x0000 0200 +MD2: 0x0000 0400 +RANDOM: 0x0800 0000 +FRIENDLY: 0x1000 0000 +OWN_PW_DEFAULTS: 0x2000 0000 +DISABLE: 0x4000 0000 +
CipherEnableFlags
+CipherEnableFlags
entry is omitted, the
+value will default to 0x0.
+++FORTEZZA: 0x0000 0001 +
EquivalentPlatform
+Files
list. At least one of RelativePath
and
+AbsolutePath
must be specified. If both are specified, the
+relative path will be tried first and the absolute path used only if no
+relative root directory is provided by the installer program.
+RelativePath
+setup.exe
installation program, a help file, and a .cab file
+containing compressed information. All these files could be installed into the
+temporary directory. Files destined for the temporary directory are guaranteed
+to be in place before any executable file is run, and will not be deleted
+until all executable files have finished.
+AbsoluteDir
+Executable
+setup.exe
.
+More than one file can be specified as executable, in which case they will
+be run in the order they are specified in the script file.
+FilePermissions
++Some platforms may not understand these permissions. They will only be +applied insofar as makes sense for the current platform. If this attribute +is omitted, a default of 777 is assumed. + + ++user read: 400 +user write: 200 +user execute: 100 +group read: 040 +group write: 020 +group execute: 010 +other read: 004 +other write: 002 +other execute: 001 +