/*********************************************************************** * 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=/ [--enable-debug] ( 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/ [--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 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)