/***********************************************************************
* File: README
*
* Copyright (C) 2004 Novell, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
***********************************************************************/
INTRODUCTION
The ClientPasswordManager provides a set of libraries to allow applications
to share user name and password credentials. The ClientPasswordManager also
provides dialog components that can be leveraged by applications to prompt
users for credentials.
The goal of the ClientPasswordManager is to minimize the number of prompts
that users experience when accessing applications that require the user's
name and password to authenticate to backend systems.
A secondary goal of the ClientPasswordManager is to normalize the prompts
for credentials that are seen by the user.
FEATURES
The ClientPasswordManager consists of APIs for obtaining/setting user password
credentials as well as a set of dialogs that can be used to prompt the user
for its credentials.
The ClientPasswordManager leverages the services of the SecretStore Client Wallet
Service for the secure storage of user credentials and for controlling access to
the credentials. Usage of the ClientPasswordManager instead of writting to the
SecretStore Wallet API directly free applications from having to agree on a
standard on how credentials need to be stored in the wallet.
The ClientPasswordManager will try to make its services available to native, .NET,
and Java applications.
CONTENTS
c-sharp-net-credential - This folder contains an implemtation of the .NET ICredentials
interface called the NetCredential class. NetCredential objects leverage the contents
of the wallet when queried for user credentials.
c-sharp-password-dialog - This folder contains a dialog class that can be used by .NET
applications to query the user for its password.
c-sharp-username-dialog - This folder contains a dialog class that can be used by .NET
applications to query the user for its user name.
c-sharp-utilities - This folder contains .NET utilities leveraged by ClientPAsswordManager
.NET components.
package - This folder contains the files necessary to build the software packages
under windows and under linux.
REQUIREMENTS FOR BUILDING THE SOFTWARE PACKAGE ON WINDOWS
- Install Visual Studio .NET 2003
- Install Cygwin - See instructions below.
Download and start cygwin install:
Browse to http://sources.redhat.com/cygwin/
Click on "Install or update now!" or "Install Cygwin now"
Cygwin Setup:
Next
Cygwin Setup - Choose Installation Type:
Install from Internet
Next
Cygwin Setup - Choose Installation Directory:
Root Directory: C:\cygwin
Install For: "All Users"
Default Text File Type: DOS
Cygwin Setup - Select Local Package Directory:
Local Package Directory: C:\cygwin-packages
Cygwin Setup - Select Connection Type:
Direct Connection
Choose A Download Site:
ftp://ftp.nas.nasa.gov
Cywin Setup - Select Packages:
Base:
defaults
Devel:
autoconf
automake
libtool
make
pkgconfig
cvs
gcc
gcc-g++
Editors:
vim (optional)
Net:
openssh
openssl
Text:
more
Utils:
clear (optional)
Cygwin Setup - Create Icons:
Finish
Edit cygwin.bat (c:\cygwin\cygwin.bat) to add a call to
%VS71COMNTOOLS%\vsvars32.bat (see example below). This sets up the
Visual Studio tools in Cygwin.
Sample cygwin.bat:
@echo off
call "%VS71COMNTOOLS%\vsvars32.bat" > NUL
C:
chdir C:\cygwin\bin
bash --login -i
REQUIREMENTS FOR BUILDING THE SOFTWARE PACKAGE ON LINUX
Install latest mono and mono-devel RPM - Obtain RPMs from
www.go-mono.org.
BUILDING THE SOFTWARE PACKAGE
Windows: Start at Step 1.
Linux: Skip to Step 2.
1. Run cygwin.bat to start up Cygwin.
2. Generate autotools files:
./autogen.sh --prefix=/<install_dir> [--enable-debug]
(<install_dir> is some writable directory where 'make install' will
install files for testing.
3. To reconfigure later, or to configure software that came from a source
distribution (.tar.gz) file, use configure.
./configure --prefix/<install_dir> [--enable-debug]
(run ./configure --help for more options)
4. Select your make target, here are a few interesting ones:
make [all] - build product files (package files not included)
make clean - clean up files built by 'make all'
make package - build product and package files
make package-clean - clean up package files
make install - install product files to <install_dir> specified by
--prefix during configure
make uninstall - undo 'make install'
make dist - build a source distribution tarball.
make distclean - removes files to return state back to same as the
source distribution (configure, Makefile.in files, and other distributed
autotools files are not removed)
make maintainer-clean - removes files to return state back to same as
the CVS checkout (you will need to run ./autogen.sh again before running
make again)