194 lines
5.7 KiB
Plaintext
194 lines
5.7 KiB
Plaintext
/***********************************************************************
|
|
* 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)
|
|
|