mozilla-history/security/svrcore
richm%stanfordalumni.org 145b082757 Resolves: bug 299995
Description: Use PK11_TokenKeyGenWithFlags instead of PK11_KeyGen
Fix Description: Use the new function and pass in CKF_ENCRYPT|CKF_DECRYPT
as the keygen flags.
2006-12-14 17:09:17 +00:00
..
m4 Resolves: bug 363168 2006-12-14 17:07:32 +00:00
src Resolves: bug 299995 2006-12-14 17:09:17 +00:00
AUTHORS Resolves: bug 363168 2006-12-14 17:07:32 +00:00
COPYING Resolves: bug 363168 2006-12-14 17:07:32 +00:00
ChangeLog Resolves: bug 363168 2006-12-14 17:07:32 +00:00
INSTALL Resolves: bug 363168 2006-12-14 17:07:32 +00:00
INSTALL.win Resolves: bug 363168 2006-12-14 17:07:32 +00:00
LICENSE Resolves: bug 363168 2006-12-14 17:07:32 +00:00
Makefile.am Resolves: bug 363168 2006-12-14 17:07:32 +00:00
Makefile.in Resolves: bug 363168 2006-12-14 17:07:32 +00:00
NEWS Resolves: bug 363168 2006-12-14 17:07:32 +00:00
README Resolves: bug 363168 2006-12-14 17:07:32 +00:00
TODO Resolves: bug 363168 2006-12-14 17:07:32 +00:00
aclocal.m4 Resolves: bug 363168 2006-12-14 17:07:32 +00:00
autogen.sh Resolves: bug 363168 2006-12-14 17:07:32 +00:00
build_svrcore-devel_rpm Bump spec rev to 3 2006-07-13 18:10:21 +00:00
compile Resolves: bug 363168 2006-12-14 17:07:32 +00:00
config.guess Resolves: bug 363168 2006-12-14 17:07:32 +00:00
config.h.in Resolves: bug 363168 2006-12-14 17:07:32 +00:00
config.sub Resolves: bug 363168 2006-12-14 17:07:32 +00:00
configure Resolves: bug 363168 2006-12-14 17:07:32 +00:00
configure.ac Resolves: bug 363168 2006-12-14 17:07:32 +00:00
depcomp Resolves: bug 363168 2006-12-14 17:07:32 +00:00
install-sh Resolves: bug 363168 2006-12-14 17:07:32 +00:00
ltmain.sh Resolves: bug 363168 2006-12-14 17:07:32 +00:00
missing Resolves: bug 363168 2006-12-14 17:07:32 +00:00
svrcore.pc.in Resolves: bug 363168 2006-12-14 17:07:32 +00:00
svrcore.spec Resolves: bug 363168 2006-12-14 17:07:32 +00:00

README

The Netscape svrcore library

Terry Hayes wrote the Netscape svrcore library in 1998.
Valerie Chu wrote the ntgetpin.c and related files.

svrcore used to contain two major parts.

The first part is what we released on mozilla.  It is a kind of
object-oriented package for handling PIN requests from NSS. The
idea was to provide a standard way for servers to allow PIN input
from a file or from the terminal.  There is also a PIN handler
that caches the PIN in memory after encrypting it with a key on
a device (such as a Fortezza card). This allowed a server to
restart without having to reenter the PIN. However since the PIN
is encrypted, a core dump would not expose it.  In addition,
removing the device would also make the PIN inaccessible.

The files are:

svrcore.h - API definition
alt.c - allows two possible PIN request methods to be used (say
        file and then terminal)
cache.c - caches the result from another PIN request method
errors.c - error text
file.c - reads the PIN from a specified file
ntgetpin.c - Windows version of a user prompt for PIN
ntgetpin.rc - Windows resource script for ntgetpin.c
ntresource.h - a generated include file used by ntgetpin.rc
key.ico - an icon used by ntgetpin.rc
logo.ico - an icon used by ntgetpin.rc
pin.c - functions to register a PIN request object with NSS
pk11.c - implementation of the encrypted in-memory caching
std.c - a "standard" PIN object that satisfies requests from a
        file or the terminal and allows caching if desired.
user.c - prompts the user for the PIN

Note: the pk11.c file (secure PIN store) is a pretty good example
of how to encrypt/decrypt with NSS.

There was a second component of svrcore that handled export policy
configuration.  It allowed patching of a single executable (single
program build) to create the export and domestic versions of a
server.  This code was discontinued after the export policy changes.

The LDAP C SDK tools use svrcore.  They also implemented their
own PIN object to allow command line PIN entry.  The directory
server also implemented its own PIN object to allow a watchdog
process to cache the PIN and restart the server.

See INSTALL for build instructions
See INSTALL.win for Windows build instructions