################################################################################# ## 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 $