
#################################################################################
##  How to build & set up the ACME Agent Example (ACME_EXAMPLE_DOI_ACME.C)	#
#################################################################################

>> Build (Compile & Link) the ACME Agent Example along with the messages file
>> (ACME_EXAMPLE_DOI_MSG.MSG)
   (This command creates VMS$ACME_EXAMPLE_DOI_ACMESHR.EXE)

	$ @ACME_EXAMPLE_DOI_BUILD.COM

>> Copy the ACME Agent Example Image to SYS$LIBRARY

	$ COPY VMS$ACME_EXAMPLE_DOI_ACMESHR.EXE SYS$LIBRARY


#################################################################################
##  How to build & set up the Persona Extension Example (ACME_PERSONA_EXT.C)	#
#################################################################################

>> Build (Compile & Link) the Persona Extension Example
   (This command creates P1_EXT.EXE)

	$ @ACME_PERSONA_BUILD.COM

>> On ***OpenVMS ALPHA*** System you can
>> Test the Persona Extension Example Image with SYS$ETC:CHECK_SECTIONS.COM

	$ @SYS$ETC:CHECK_SECTIONS.COM P1_EXT.EXE

>> Copy the Persona Extension Example Image to SYS$LOADABLE_IMAGES

	$ COPY P1_EXT.EXE SYS$LOADABLE_IMAGES

>> Install the Persona Extension Example Image 
   (the image is P1_EXT.EXE, and the product name is ACMETEST)

	$ MCR SYSMAN
	SYSMAN> SYS_LOADABLE ADD/LOG ACMETEST P1_EXT

	$ @SYS$UPDATE:VMS$SYSTEM_IMAGES.COM

>> Reboot the system

	$ @SYS$SYSTEM:SHUTDOWN

!! During reboot, an error message appears if the Persona Extension Image is not
!! loaded.  If you don't see the error message, the image should be loaded properly.

#################################################################################
##  How to set up the ACME Agent & Persona Extension after the reboot 		#
#################################################################################

>> If the ACME server is already started, stop it

	$ set server acme/exit/wait

>> Ensure that the ACME_SERVER process is not running

	$ show system /process=ACME_SERVER

>> Start the ACME server

	$ set server acme/start/log

>> Load VMS ACME Agent (this agent is must be always loaded)

	$ set server acme/configure=(name=vms,credential=vms)

>> Load the example agent with the example persona extension (P1)

	$ set server acme/configure=(name=acme_example_doi,credential=P1)

>> Enable the agents (the order is the example agent is second)

	$ set server acme/enable=name=(vms,acme_example_doi)

>> Ensure that both the VMS and the example agent are loaded and are in active state

	$ show server acme/full

#################################################################################
## How to test the Example agent                                                #
#################################################################################

>> Create a test user account say "SAMPLE_USER" in SYSUAF.DAT

	$ @sys$examples:adduser.com

>> Provide the extauth flag and optionally the vmsauth flag

	$
	$ set def sys$system
	$ mc authorize
	UAF> modify SAMPLE_USER /flags=(extauth,vmsauth)
	%UAF-I-MDFYMSG, user record(s) updated
	UAF> show SAMPLE_USER

	Username: SAMPLE_USER                      Owner:
	Account:  TEST                             UIC:    [3000,3005] ([TESTACC,SAMPLE_USER])
	CLI:      DCL                              Tables: DCLTABLES
	Default:  SYS$SYSDEVICE:[SAMPLE_USER]
	LGICMD:
	Flags:  ExtAuth VMSAuth
	Primary days:   Mon Tue Wed Thu Fri
	Secondary days:                     Sat Sun
	No access restrictions
	Expiration:            (none)    Pwdminimum:  6   Login Fails:     0
	Pwdlifetime:         90 00:00    Pwdchange:      (pre-expired)
	Last Login:            (none) (interactive),            (none) (non-interactive)
	Maxjobs:         0  Fillm:       128  Bytlm:       128000
	Maxacctjobs:     0  Shrfillm:      0  Pbytlm:           0
	Maxdetach:       0  BIOlm:       150  JTquota:       4096
	Prclm:           8  DIOlm:       150  WSdef:         4096
	Prio:            4  ASTlm:       300  WSquo:         8192
	Queprio:         4  TQElm:       100  WSextent:     16384
	CPU:        (none)  Enqlm:      4000  Pgflquo:     256000
	Authorized Privileges:
	  NETMBX       TMPMBX
	Default Privileges:
	  NETMBX       TMPMBX
	UAF> exit
	%UAF-I-DONEMSG, system authorization file modified
	%UAF-I-NAFNOMODS, no modifications made to network proxy database
	%UAF-I-RDBNOMODS, no modifications made to rights database
	$


>> Test the example agent from the ACMEUTIL client program (in SYS$EXAMPLES)
   (You will need to
	- build the ACMEUTIL.EXE using ACMEUTIL.COM and
	- Register the acmeutil DCL verb using ACMEUTIL_SETUP.COM
    For more information about this program, see ACMEUTIL_SETUP.COM & ACMEUTIL.COM
    in SYS$EXAMPLES.)

>> Authentication
>> The ACME Agent Example takes any password starting with letter 'a' as a valid
>> password and do not check the password in sysuaf.dat file.

	$ acmeutil auth /persona/dialogue=(input,noecho)/domain=acme_example_doi

#################################################################################
>> A sample output is below:


	$ acmeutil auth /persona/dialogue=(input,noecho)/domain=acme_example_doi

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_initialize

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_system_password

	 Welcome to HP OpenVMS Industry Standard 64 Operating System, Version V8.3-1H1


		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_announce

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_autologon
	Username: sample_user

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_principal_name

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_accept_principal

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_map_principal

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_validate_mapping

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_ancillary_mech_1
	>> Password (for ACME_EXAMPLE_DOI ACME) >> asomepassword

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_password_1

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_ancillary_mech_2

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_password_2

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_ancillary_mech_3

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_authenticate

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_messages

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_authorize
	   HP OpenVMS Industry Standard 64 Operating System, Version V8.3-1H1 on node OPNVMS

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_notices
	    Last interactive login on Friday,  5-FEB-2010 16:08:05.69
	**** Logon Message from ACME_EXAMPLE_DOI ACME Agent ****

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_logon_information

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_new_password_1

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_qualify_password_1

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_new_password_2

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_qualify_password_2

		(ACME_EXAMPLE_DOI) Phase transistion event - acme$co_credentials
	    OpenVMS password has been synchronized with external password
	Persona Id = 2
	 ...User Name                  SAMPLE_USER
	 ...Account                    TEST
	 ...UIC                        [3000,3005]
	 ...Extension 1
	 ......Extension Name          VMS
	 ......DOI                     00028001
	 ......Principal Name          SAMPLE_USER
	 ......Domain                  OPNVMS
	 ......User Name               SAMPLE_USER
	 ...Extension 3
	 ......Extension Name          P1
	 ......DOI                     00028002
	 ......Principal Name          ACME_EXAMPLE PRINCIPAL
	 ......Domain                  ACME_EXAMPLE DOMAIN
	 ......User Name               ACME_EXAMPLE USERNAME

	$


