Files
CASA/ClientPasswordManager

/***********************************************************************

 *  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)