Readme for sample security exit programs

Websphere MQ Integrator 2.1 provides the capability for the user to write
two security exits programs to enable security for the MQ connection between the
Control Center and the configuration manager queue manager.
Details of this function are given in the Websphere MQ Integrator Administration Guide,
Chapter 6 Setting up Security, in the section Securing Control Center Connections
and it is recommended you read this section first.

Two sample exit programs have been provided here to give an example
of how the exit programs can be written to retrieve password information
from the Control Center user and verify this with the NT operating system.
The programs also give examples of:


The two exit programs are:


The following table gives a brief overview of the exchanges between the two exit programs showing ExitResponses when
userid/password are successfully verified
 
 
Exit program at Control Center - pwCCSecExit.java  Exit program at queue mananger - pwQMSecExit.c
Invoked with MQXR_INIT 
Responds with MQXCC_OK
Invoked with MQXR_INIT 
Reponds with MQXCC_OK
Invoked with MQXR_INIT_SEC 
(sends client userid in agent buffer) 
Responds with MQXCC_SEND_AND_REQUEST_SEC_MSG 
Invoked with MQXR_SEC_MSG 
(Saves userid in ExitUserArea and sends confirmation message in agent buffer)
Responds with MQXCC_SEND_AND_REQUEST_SEC_MSG
Invoked with MQXR_SEC_MSG 
(checks confirmation message matches expected message
and prompts user for password. Sends password in agent buffer)
 Responds with MQXCC_SEND_SEC_MSG
Invoked with MQXR_SEC_MSG 
(Queries NT to verify userid and password. If they are verified then checks MCAUserIdentifier field and if field not set exit will set MCAUserIdentifier to Control Center client userid ) 
Responds with MQXCC_OK(if userid/password verified)

 

Setup required to run these programs:


Additional Notes:

Note: In this sample  the password is sent from the Control Center exit program to the Queue Manager exit program
in the agent buffer in the clear. For additional security you should encrypt the password before sending it in the agent buffer

Note: Both programs issue error messages for debug purposes: