MQ Everyplace Password Store Installation and Setup
Installing MQ Everyplace(R) Password Store
MQ Everyplace Password Store (MQe Password Store) provides the function
necessary to store user passwords into IBM(R) WebSphere(R) MQ
Everyplace and transfer user passwords from MQ Everyplace to IBM Directory
Integrator. The MQe Password Store package was created to support a
growing number of IBM Directory Integrator plug-ins which intercept password
changes on various product/platforms.
The following password synchronization plug-ins are available to intercept
a user's password change request:
- IBM Directory Integrator Password Synchronizer for Windows(R)
- Intercepts the Windows login password change.
- IBM Directory Integrator Password Synchronizer for IBM Directory Server
- Intercepts IBM Directory Server password changes.
- IBM Directory Integrator Password Synchronizer for Sun ONE Directory Server
- Intercepts Sun ONE Directory Server password changes.
These plug-ins can utilize the MQe Password Store function which
facilitates the secure propagation of the change to the
IBM Directory Integrator where it can be manipulated by an IBM Directory
Integrator AssemblyLine.
The MQe Password Store package consists of two components:
- Storage Component
- Installed on the machine where the password synchronizer is installed and
the password synchronizer is configured to use the Storage Component.
For each intercepted password update, the Storage Component constructs a
message containing the password data and sends it to MQe.
- MQe Password Store Connector
- Installed into the IBM Directory Integrator as a standard
Connector. The MQe Password Store Connector is used to connect to MQe, retrieve
and parse password update messages and feed an IBM Directory Integrator
AssemblyLine.
MQe is actually embedded into the MQe Password Store components. The
Storage Component contains an MQe QueueManager and the MQe Password Store Connector contains
an MQe QueueManager. A remote connection between the two MQe
QueueManagers transfers messages from the machine where the password
synchronizer operates to the machine where the IBM Directory Integrator and
the MQe Password Store Connector are run.
Authenticated MQe Access
TDI MQe components can be depoyed to take advantage of MQe Mini-Certificate authenticated access. To use these MQe features, it is necessary to download and install Websphere MQ Everyplace version 2.0.1.7 and WebSphere MQ Everyplace Server Support ES06. Use of certificate authenticated access prevents an anonymous MQe client Queue Manager and/or application submitting a change password request to the MQe Password Store Connector.
Download Websphere
MQ EveryPlace Version 2.0.
Download WebSphere
MQ Everyplace Server Support ES06.
The Storage Component of the MQe Password Store is installed when you choose
WebSphere MQ Everyplace as a store method from the Password Synchronizers
installer.
- mqepwstore.jar
- Contains the Storage Component of the MQe Password Store.
- mqeconfig.jar
- Component for automatic creation and configuration of the MQe
QueueManagers.
- mqeconfig.props
- Properties file for the Configuration Component.
- ibmjms.jar
- Version 1.1 of IBM's interface definition for the
JMS classes.
- MQeBase.jar
- Contains MQ Everyplace base classes, version MQe
2.0.1.7
- MQeJMS.jar
- Contains MQ Everyplace JMS support classes, version MQe
2.0.1.7
- MQeSecurity.jar
- Contains MQ Everyplace secure queue access classes, version MQe
2.0.1.7
- idipwcrypto.jar
- Contains the asymmetric encryption support for the MQe Password Store.
- ibmjcefw.jar
- Used by the asymmetric encryption support.
- ibmjceprovider.jar
- Used by the asymmetric encryption support.
- ibmpkcs.jar
- Used by the asymmetric encryption support.
- ibmpkcs11.jar
- Used by the asymmetric encryption support.
- local_policy.jar
- Used by the asymmetric encryption support.
- US_export_policy.jar
- Used by the asymmetric encryption support.
- idicryptokeys.bat
- Utility bat file that creates a test/demo keystore file.
- idicryptokeys.sh
- Utility shell script file that creates a test/demo keystore file.
Installation of MQ Everyplace is not necessary. The two MQe
components (MQeBase.jar and MQeJMS.jar) deployed by the installer are all that is
needed to instantiate and use MQ Everyplace.
However, if authenticated Queue Manager and queue deployments are required, separate installation of MQe version
2.0.1.7 and MQe
Server Support ES06 is required.
Assume that the MQe Password Store is integrated with the IBM
Directory Server Password Synchronizer (the process for integration with the
other password synchronizers is analogous).
The install folder of the IBM Directory Server Password Synchronizer is
referred to as <install_directory>.
If authenticated access is required for the MQe runtime and TDI components, complete the configuration and startup of the MQe
Mini-Certificate server before continuing with the steps described in this section. Ensure that certificates associated with "PWStoreClient" and "PWStoreServer+passwords" are available for issue.
- Create and configure the MQe QueueManager.
The file mqeconfig.jar placed in <install_directory>
contains a utility program (MQe Configuration Component) that
automatically creates and configures the MQe QueueManager that is used
by the Storage Component.
- Before running the MQe Configuration Component, open its
properties file mqeconfig.props and set values for the following
properties:
- clientRootFolder
- The folder where you want to place the MQe QueueManager (for
example, C:\\Program Files\\IBM\DiPlugins\\IDS\\MQePWStore).
- Note:
- When specifying Windows(R) filepaths in the property
files, the backslash file separator ( \ ) must be escaped with a
second backslash ( \\ ).
- serverIP
- This is the machine name or IP address of the machine where the IBM Directory
Integrator and the MQe Password Store Connector are deployed.
- communicationPort
- The TCP/IP port that is used for communication between the two
MQe QueueManagers.
- clientRegistryType
- Optional. Required for authenticated MQe access deployments only. If used, value must be set to "PrivateRegistry". The Private Registry stores the certificates issued by the MQe Mini-Certificate server.
- clientRegistryPin
- Optional. Required for authenticated MQe access deployments only. If used, this value represents the "PIN" access code used by the TDI MQe Password Store to access the PrivateRegistry. This value will be stored as plain text in the result MQe ".ini" file produced by step "b" below.
- clientKeyRingPassword
- Optional. Required for authenticated MQe access deployments only. This value is used when requesting a certificate from the MQe Mini-Certificate server It is the seed value for certificate generation. This value will be stored as plain text in the result MQe ".ini" file produced by step "b" below.
- certServerReqPin
- Optional. Required for authenticated MQe access deployments only. This value is used as a one time authentication PIN by this Queue Manager when requesting certificates from the MQe Mini-Certificate server. This value must match the "Request PIN" value from Mini-Certificate server setup steps 4 and 6.
- certServerIPAndPort
- Optional. Required for authenticated MQe access deployments only. This value is used as the destination address for MQe Mini-Certificate server requests. The format of the value is "FastNetwork:<host>:<port>", where host must be the machine name or TCP IP address where the MQe Mini-Certificate server is running, and port value must match the "Port" value from Mini-Certificate server setup step 3 .
- debug
- Specify true or false to correspondingly turn debug
information on or off.
The following is a sample mqeconfig.props configuration file:
clientRootFolder=C:\\Program Files\\IBM\\DiPlugins\\IDS\\MQePWStore
serverIP=127.0.0.1
communicationPort=41001
##
## Uncomment the following lines if authenticated MQe access is required
##
#clientRegistryType=PrivateRegistry
#clientRegistryPin=<Private client registry access PIN>
#clientKeyRingPassword=<Seed value for certificate generation>
#certServerReqPin=<One time certificate request PIN>
#certServerIPAndPort=FastNetwork:<Mini-Certificate server hostname or IP>:<port>
debug=true
- Note:
- When specifying Windows filepaths in the property files, the
backslash file separator ( \ ) must be escaped with a second
backslash ( \\ ).
- To create and automatically configure MQe QueueManager for the
Storage Component, open a command prompt in the <install_directory>
and enter the following command:
_jvm\jre\bin\java -cp "./mqeconfig.jar" com.ibm.di.plugin.mqe.config.MQeConfig mqeconfig.props create client
The log of this command is displayed on the console. After
successful completion, the message Client MQe configuration
successfully completed displays.
If the mqeconfig.props file contains the optional parameters for MQe authenticated access, this step will automatically request the necessary certificates from the MQe Mini-Certificate server.
Tip: If attempting to perform an MQe certificate authenticated access deployment, it is important to remember that certificates may be requested once only per authenticatable entity. If an exception message similar to the one below is reported during configuration, it may be necessary to re-enable certificate issue for that entity using the Mini-Certificate server GUI.
[MQeConfig] [28/07/05 10:10:01]: Action failed:
Code=351;com.ibm.mqe.MQeExceptio
n: Registration exception = com.ibm.mqe.MQeException: certificate
request failed
[PWStoreClient 4] (code=8)[PWStoreClient 8] (code=351)
[MQeConfig] [28/07/05 10:10:01]: Error: Server MQe configiration
failed; excepti
on: java.lang.Exception: Code=351;com.ibm.mqe.MQeException:
Registration excepti
on = com.ibm.mqe.MQeException: certificate request
failed[PWStoreClient 4] (code
=8)[PWStoreClient 8] (code=351)
- Note:
- If you need to change the configuration of the QueueManager, you
have two options:
- Delete the QueueManager from the disk and create it again
following the previous procedure.
- Install an MQ Everyplace admin tool compatible with MQ
Everyplace 2.0.0.4 QueueManagers (for example, MQe Explorer) and use
it to change the QueueManager settings.
- Configure the Storage Component.
The configuration file of the Storage Component is called
mqepwstore.props and must be placed in a folder that is on the
CLASSPATH of the Password Synchronizer (the classpath of the IBM
Directory Server Password Synchronizer is specified through the jvmClassPath
property in the IBM Directory Server Password Synchronizer
configuration file). Store the mqepwstore.props file in the <install_directory>.
- Use the following command from the <install_directory>
to generate a partial properties file with some basic settings:
_jvm\jre\bin\java com.ibm.di.plugin.mqe.store.MQeGenConfigFile <encryptKeyStoreFilePassword>
where <encryptKeyStoreFilePassword> is the unencoded
password for client keystore used for encrypting passwords (for
example, secret).
The file mqepwstore.props is generated with the following content:
#MQe Password Store Properties (with encoded passwords)
#Thu Apr 03 14:32:02 EEST 2003
debug=false
logFile=
encryptKeyStoreFilePassword=0c0bf0e3146b
encryptKeyStoreCertificate=
encryptKeyStoreFilePath=
notificationPort=41002
qmIniFileName=
encrypt=true
- This utility does not set all the required properties. It sets the
encrypted password and some default property values, but you must set
most of the properties:
- qmIniFileName
- The path to the .ini file of the generated MQe QueueManager
(usually C:\\Program
Files\\IBM\\DiPlugins\\IDS\\MQePWStore\\pwstore_client.ini).
- notificationPort
- The TCP/IP port that is used when the MQe Password Store
Connector sends notifications to the Storage Component. Default value
is 41002.
- logFile
- The file path of the Storage Component log file. For example,
C:\\Program Files\\IBM\\DiPlugins\\IDS\\mqestore.log.
- encrypt
- Specify true or false to correspondingly turn the
encryption of passwords on or off.
- encryptKeyStoreFilePath
- The path of the JKS file that is used to encrypt passwords (only
taken into account when encrypt is set to true).
- encryptKeyStoreFilePassword
- The encrypted password of the JKS file (only taken into account
when encrypt is set to true). This maps to the
-storepass parameter for keytool -genkey option (see
idicryptokeys.bat or idicryptokeys.sh).
- encryptKeyStoreCertificate
- The alias of the key from JKS file.
- debug
- Specify true or false to correspondingly turn debug
information on or off.
- When you choose to store the passwords in encrypted format (encrypt
set to true), password data is encrypted and decrypted using
the RSA key algorithm. You can use the provided idicryptokeys.bat (or
idicryptokeys.sh) to help build a test keystore for testing. If you
use the idicryptokeys.bat to create a test keystore, your values in
the properties file are as follows:
- encryptKeyStoreFilePath=<anypath>/idicryptotest.jks
where <anypath> is the location where you keep the the
jks file created by idicryptokeys.bat (see -keystore parameter
setting in idicryptokeys.bat)
- encryptKeyStoreFilePassword=<encrypted value of
secret> (see -storepass parameter setting in
idicryptokeys.bat)
- encryptKeyStoreCertifcate=idicryptotest (see -alias
parameter setting in idicryptokeys.bat)
To learn more about keystores and keytools, information is available
from the following sites:
- http://www-3.ibm.com/software/webservers/appserv/doc/v40/aes/infocenter/was/05050603.html
- http://java.sun.com/j2se/1.3/docs/tooldocs/win32/keytool.html
- If you choose to code the mqepwstore.props properties file, or
wish to later change the encryptKeyStoreFilePassword
property, you can use a second utility which encodes your new
password, so you can copy it into the properties file. To obtain an
encoded version of your password issue the following command from the
<install_directory>:
_jvm\jre\bin\java com.ibm.di.plugin.idipwsync.EncodePW <password>
where <password> is your ascii password. For example:
_jvm\jre\bin\java com.ibm.di.plugin.idipwsync.EncodePW secret
returns
0c0bf0e3146b
The following is an example of a completed mqepwstore.props file:
#MQe Password Store Properties (with encoded passwords)
#Thu Apr 03 14:32:02 EEST 2003
qmIniFileName=C:\\Program Files\\IBM\\DiPlugins\\IDS\\MQePWStore\\pwstore_client.ini
notificationPort=41002
logFile=C:\\Program Files\\IBM\\DiPlugins\\IDS\\mqestore.log
encrypt=true
encryptKeyStoreFilePassword=0c0bf0e3146b
encryptKeyStoreFilePath=C:\\Program Files\\IBM\\DiPlugins\\IDS\\idicryptotest.jks
encryptKeyStoreCertificate=idicryptotest
debug=true
The MQe Password Store Connector is automatically installed with the installation of the
IBM Directory Integrator.
The install folder of the IBM Directory Integrator is referred to as
<IBM_Directory_Integrator_root>.
- <IBM_Directory_Integrator_root>\jars\connectors\MQePasswordStoreConnector.jar
- The MQe Password Store Connector package.
- <IBM_Directory_Integrator_root>\jars\plugins\mqeconfig.jar
- Component for automatic creation and configuration of the MQe
QueueManagers.
- <IBM_Directory_Integrator_root>\jars\plugins\mqeconfig.props
- Properties file for the configuration component.
- <IBM_Directory_Integrator_root>\jars\plugins\mqeconfig.bat
- Utility bat file for the configuration component that sets the classpath
to the IBM Directory Integrator directory structure.
- <IBM_Directory_Integrator_root>/jars/plugins/mqeconfig.sh
- Utility shell script file for the configuration component that sets the
classpath to the IBM Directory Integrator directory structure.
- <IBM_Directory_Integrator_root>\jars\ibmjms.jar
- Version 1.1 of IBM's interface definition for the
JMS classes.
- <IBM_Directory_Integrator_root>\jars\MQeBase.jar
- Contains MQ Everyplace base classes, version MQe
2.0.1.7
- <IBM_Directory_Integrator_root>\jars\MQeJMS.jar
- Contains MQ Everyplace JMS support classes, version MQe
2.0.1.7
- <IBM_Directory_Integrator_root>\jars\MQeSecurity.jar
- Contains MQ Everyplace security classes, version MQe
2.0.1.7
- Create and configure the MQe QueueManager.
The file mqeconfig.jar placed in
<IBM_Directory_Integrator_root>\jars\plugins contains a utility program
(MQe Configuration Component) that automatically creates and configures the
MQe QueueManager that is used by the MQe Password Store Connector.
If authenticated access is required for the MQe runtime and TDI
components, complete the configuration and
startup of the MQe Mini-Certificate server before continuing with
the steps described in this section. Ensure that certificates
associated with "PWStoreServer" and
"PWStoreServer+passwords" are available for issue.
Before running the MQe Configuration Component, open the properties file
<IBM_Directory_Integrator_root>\jars\plugins\mqeconfig.props and
set values for the following properties:
- serverRootFolder
- The folder where you want to place the MQe QueueManager (for example,
C:\\Program Files\\IBM\\IBMDirectoryIntegrator\\MQePWStore).
- communicationPort
- The TCP/IP port that is used for communication between the two MQe
QueueManagers (make sure to specify the same port that was used to configure
the Storage Component MQe QueueManager).
- serverRegistryType
- Optional. Required for authenticated MQe access deployments only. If used, value must be set to "PrivateRegistry". The Private Registry stores the certificates issued by the MQe Mini-Certificate server.
- serverRegistryPin
- Optional. Required for authenticated MQe access deployments only. If used, this value represents the "PIN" access code used by the TDI MQe Password Connector to access the PrivateRegistry. This value will be stored as plain text in the result MQe ".ini" file produced by step "b" below.
- serverKeyRingPassword
- Optional. Required for authenticated MQe access deployments only. This value is used when requesting a certificate from the MQe Mini-Certificate server. It is the seed value for certificate generation. This value will be stored as plain text in the result MQe ".ini" file produced by step "b" below.
- certServerReqPin
- Optional. Required for authenticated MQe access deployments only. This value is used as a one time authentication PIN by this Queue Manager when requesting certificates from the MQe Mini-Certificate server. This value must match the "Request PIN" value from Mini-Certificate server setup steps 4 and 6.
- certServerIPAndPort
- Optional. Required for authenticated MQe access deployments only. This value is used as the destination address for MQe Mini-Certificate server requests. The format of the value is "FastNetwork:<host>:<port>", where host must be the machine name or TCP IP address where the MQe Mini-Certificate server is running, and port value must match the "Port" value from Mini-Certificate server setup step 3 .
- debug
- Specify true or false to correspondingly turn debug information
on or off.
The following is a sample mqeconfig.props configuration file:
serverRootFolder=C:\\Program Files\\IBM\\IBMDirectoryIntegrator\\MQePWStore
communicationPort=41001
##
## Uncomment the following lines if authenticated MQe access is required
##
#serverRegistryType=PrivateRegistry
#serverRegistryPin=<Private Registry access PIN>
#serverKeyRingPassword=<Private Registry key>
#certServerReqPin=<certificate request PIN>
#certServerIPAndPort=FastNetwork:<host>:<port>
debug=true
To create and automatically configure MQe QueueManager for the MQe
Password Store Connector, open a command prompt in the
<IBM_Directory_Integrator_root>\jars\plugins folder and execute the
following command:
mqeconfig.bat mqeconfig.props create server
The log of this command is displayed on the console. After
successful completion, the message Server MQe configuration successfully
completed is displayed.
If the mqeconfig.props file contains the optional parameters for MQe
authenticated access, this step will automatically request the
necessary certificates from the MQe Mini-Certificate server.
Tip: If attempting to perform an MQe certificate authenticated access deployment, it is important to remember that certificates may be requested once only per authenticatable entity. If an exception message similar to the one below is reported during configuration, it may be necessary to re-enable certificate issue for that entity using the Mini-Certificate server GUI.
[MQeConfig] [28/07/05 10:10:01]: Action failed:
Code=351;com.ibm.mqe.MQeExceptio
n: Registration exception = com.ibm.mqe.MQeException: certificate
request failed
[PWStoreServer 4] (code=8)[PWStoreServer 8] (code=351)
[MQeConfig] [28/07/05 10:10:01]: Error: Server MQe configiration
failed; excepti
on: java.lang.Exception: Code=351;com.ibm.mqe.MQeException:
Registration excepti
on = com.ibm.mqe.MQeException: certificate request failed[PWStoreserver
4] (code
=8)[PWStoreServer 8] (code=351)
- Note:
- If for some reason you need to change the configuration of the QueueManager,
you have two options:
- Delete the QueueManager from the disk and create it again following the
previous procedure.
- Install an MQ Everyplace admin tool (for example, MQe Explorer) compatible
with MQ Everyplace 2.0.0.4 QueueManagers and use it to
change the QueueManager settings.
- Configure the MQe Password Store Connector.
The MQe Password Store Connector is configured through the IBM Directory Integrator
as a standard IBM Directory Integrator Connector.
The following parameters are available:
- QueueManager ini file
- The path to the ini file of the generated MQe QueueManager. Usually
C:\Program
Files\IBM\IBMDirectoryIntegrator\MQePWStore\pwstore_server.ini.
- GetNext Timeout
- Specify the number of milliseconds the Connector waits for a new password
update message to appear in the QueueManager queue. Specify
-1 to wait forever, and 0 to return immediately if no
message is available.
- Storage notification server
- Specify in a <host>:<port>
format the Storage Component server that listens for notifications from the
MQe Password Store Connector. The default value for the port is 41002 and the host
must be the IP address of the machine where the Password Synchronizer and the
Storage Component are deployed.
- Decrypt messages
- Check this field if the Storage Component encrypts the password update
messages and they need to be decrypted by the MQe Password Store Connector.
- Key Store File
- The path of the JKS file used to decrypt password data (only taken into
account when the Decrypt messages field is selected).
- Key Store File Password
- The password of the JKS file (only taken into account when the
Decrypt messages field is selected).
- Key Store Certificate Alias
- The alias of the key from JKS file (only taken into account when the
Decrypt messages field is selected).
- Key Store Certificate Password
- The password used to retrieve the private key. If not specified the
value of the Key Store File Password parameter is used to retrieve the
private key (only taken into account when the Decrypt messages field is
selected).
- Detailed Log
- Check this field for more detailed log messages.
When the MQe Password Store Connector is configured to decrypt password data (the
Decrypt messages field is selected), use the JKS file generated for
the Storage Component and specify the corresponding values for the
Key Store File Password, Key Store Certificate Alias
and Key Store Certificate Password parameters.
- MQe Password Store Connector schema.
The MQe Password Store Connector supports the Iterator mode only. It retrieves password
update messages from MQe, parses them and constructs Entry objects using a
fixed schema of Attributes and Properties.
Each Entry delivered by the MQe Password Store Connector is populated with the
following Attributes and Properties:
- UserId (attribute)
- Contains the ID of the user (entry) for which the password has been
updated. In the case of LDAP Password Synchronizers (IBM Directory
Server and Sun ONE Directory Server), this attribute specifies the distinguished
name of the LDAP user entry.
- UpdateType (attribute)
- Contains one of the following values:
- replace
- Specifies that the entry's list of passwords has been replaced with
the values specified by the Passwords attribute.
- add
- Specifies that the values of the Passwords attribute have been added to
the entry's list of passwords.
- delete
- Specifies that the values of the Passwords attribute have been removed
from the entry's list of password.
- Passwords (attribute)
- A multivalued attribute containing the changed password values.
This attribute is always present in the Entry object, even when the number of
password values is zero.
- PasswordCount (property)
- Specifies the number of password values contained in the Passwords
attribute. The same meta-information can be retrieved through the
Passwords attribute object.
- Note:
- This is a Property object which is not mapped in the AssemblyLine Attribute
Mapping process. You can access this Property through the
conn Connector object only.
The MQe Configuration Component delivered in mqeconfig.jar can be
run in test mode to verify the installation of the two MQe QueueManagers and
test the communication channel between them.
To run the test, do the following:
- Open a command prompt on the IBM Directory Integrator machine, in the
<IBM_Directory_Integrator_root>\jars\plugins folder. Enter the
following command:
mqeconfig.{bat|sh} mqeconfig.props test server
The message Press Enter to receive test message
... is displayed on the console. Do not
press anything.
- Open a command prompt on the Storage Component machine, in the
<install_directory>. Enter the following command:
_jvm\jre\bin\java -cp "./mqeconfig.jar" com.ibm.di.plugin.mqe.config.MQeConfig mqeconfig.props test client
- The message Press Enter to send test message
... is displayed on the console. Press
Enter.
-
The message Test message sent. is displayed, followed by
a message Press Enter to close ....
Press Enter again.
The message QueueManager terminated. indicates clean
termination of the QueueManager and the application exits.
- Go back to the first console, on the IBM Directory Integrator
machine.
- Press Enter. A message Success: test MQe
message successfully received. indicates that the two
QueueManagers are properly installed and configured to communicate with each
other. A message starting with Test failed: indicates
that the QueueManagers are not properly installed or configured.
- When the message Press Enter to close ...
displays, press Enter. A message QueueManager
terminated. indicates clean termination of the QueueManager and
the application exits.
If secure authenticated access is required for the MQe runtime and TDI MQe components, then it will be necessary to install and configure the MQe Mini-Certificate Server. This MQe component is available in MQe
Server Support ES06, and must be downloaded separately. The Mini-Certificate server must be running on a machine within the target network, and be accessible by both the TDI MQe Storage Component and TDI MQe Password Connector machines. Accessiblity is required during setup of the MQe Queue Manager for each of these TDI components, and is not necessary at runtime. Use of MQe Mini-Certificates prevents anonymous MQe applications from submitting or processing change password MQe messages.
The role of the Mini-Certificate server is to issue certificates to each of the MQe Queue Managers associated with the TDI Storage Component and TDI MQe Password Connector. During configuration, the Queue Manager request certificates from the MQe Mini-Certificate server. The Mini-Certificate server issues certificates to the Queue Managers only when the Queue Manager sends the correct request "PIN" value. The Queue Managers securely store the certificates in their local Private Registries. At runtime, the certificates are presented and verified before change password requests are submitted and received by the TDI MQe components.
Setup
MQe Server Support ES06 provides detailed overview
and instructions related to the Mini-Certificate server in the file named MQe_MiniCertServer.pdf which ships and installs with ES06. Please refer to this maunal for specific detailed instructions.
The goal of configuring the Mini-Certificate server is to create the "authenticatable entities" permitted to use the MQe runtime and associated certificates. Authenticatable entities will be created for the TDI MQe client Queue Manager, TDI server Queue Manager, and the primary queue which tranfers the password change notification messages.
A summary specific to TDI is supplied below:
- Install the MQe Server Support ES06 kit on machine in the target network. The machine must accessible from the machine running the TDI MQe components. It is possible to install ES06 on one of the TDI component host machines if desired.
- Open the MQe Mini-Certificate GUI.
- Create a new profile. On the note pane window that results, configure the following:
- General
- Name
- The name of the profile. For example "TDIMiniCertificateServer"
- Passphrase/Confirm PP
- The password to protect access and modification to this profile.
- Comms
- Port
- The TCP port that the Mini-Certificate server will listen for incoming certificate issue requests from the TDI Queue Managers
- Adapter
- Set value to "FastNetwork".
-
Storage
- Adapter
- Set value to "RegistryAdapter"
- Path
- The directory path root below which, MQe will create the Mini-Certificate server registry structure.
- Create the TDI MQe Client Queue Manager entity. With the new profile created, it is now possible to create the required authenticatable entites. Right click on the "MQe root" node and select "New Entity". On the note pane window that results, configure the following:
- General
- QMgr
- Set the value to "PWStoreClient".
- Enable Issue
- Check the box
- Request PIN
- The PIN used by the TDI Storage Component Queue Manager to request certificates. This value must match the value set for "certServerReqPin" in the mqeconfig.props file.
- Create the TDI MQe Server Queue Manager entity. Right click on the "MQe root" node and select "New Entity". On the note pane window that results, configure the following:
- General
- QMgr
- Set the value to "PWStoreServer".
- Enable Issue
- Check the box
- Request PIN
- The PIN used by the TDI Storage Component Queue Manager to
request certificates. This value must match the value set for
"certServerReqPin" in the mqeconfig.props
file.
- Create the password queue entity. Right click on the "PWStoreServer" node and select "New Entity". On the note pane window that results, configure the following:
- General
- QMgr
- Set the value to "PWStoreServer".
- Queue
- Set the value to "passwords".
- Enable Issue
- Check the box
- Request PIN
- The PIN used by the TDI Storage Component Queue Manager to
request certificates. This value must match the value set for
"certServerReqPin" in the mqeconfig.props
file, and the same as that used in steps 4 and 5 above.
- Start the server.
In some deployments, it may be necessary to configure mulitple TDI MQe Password Store components. For example, if password change plugins have been configured for mulitple Windows Domain Controllers. In this case, then it is likely that there will separate instances of MQe client side Queue Managers with the name "PWStoreClient". Additionally, for each of the client Queue Managers, there will be a remote queue proxy connection to the MQe server side Queue Manager queue used by the TDI MQe Password Connector. The remote queue proxy name is "PWStoreServer+passwords". When this type of deployment scenario is used, the authentication certificates associated with these two MQe entities (i.e. "PWStoreClient", "PWStoreServer+passwords") will be requested and issued multiple times. This happens each time the mqeconfig utility is exectued as described in Storage Component Installation and Setup . Before executing the second and each subsequent instances of the mqeconfig utility, it will necessary to re-enable certificate issue for each of the MQe entities mentioned above. The steps for this are described below:
- Open the MQe Mini-Certificate GUI
- Select the TDI MQe Client Queue Manager entity. Right click on the "PWStoreClient" node
and select "Properties". On the note pane window that
results, configure the following:
- General
- Enable Issue
- Check the box
- Request PIN
- The PIN used by the TDI Storage Component Queue Manager to
request certificate. This value must match the value for "certServerReqPin" in the mqeconfig.props file where the mqeconfig utility will execute.
- Select the "passwords" queue entity. If the steps above have been followed, the "passwords" entity should appear as a child of the "PWStoreServer" entity. Right click on the "passwords" node and select "Properties". On the note pane window that
results, configure the following:
- General
- Enable Issue
- Check the box
- Request PIN
- The PIN used by the TDI Storage Component Queue Manager to
request certificate. This value must match the value for
"certServerReqPin" in the mqeconfig.props file where the
mqeconfig utility will execute.
For some deployments, it may be preferable to configure the TDI MQe Password Connector, such that it supports a particular high availablity requirement. It is expected that an implementation supporting this type of requirement would employ mulitple instances of the TDI MQe Password Connector, each with its own associated MQe Queue Manager configuration. In this case mulitple identical MQe server side configurations would be deployed allowing a network load balancer to route requests from the TDI MQe Password Store client to an available server instance. Each MQe Queue Manager on the server side will be configured using the mqeconfig utility. When this utility executes it will automatically request authentication certificates from the MQe Mini-Certificate server for the entities named "PWStoreServer" and "PWStoreServer+passwords". These represent the Queue Manager and Queue names respectively. Before executing the second and each subsequent instance of the mqeconfig utility, it will necessary to re-enable certificate issue for the two MQe entities mentioned above. The steps for this are described below:
- Open the MQe Mini-Certificate GUI
- Select the TDI MQe Client Queue Manager entity. Right click on the "PWStoreServer" node
and select "Properties". On the note pane window that
results, configure the following:
- General
- Enable Issue
- Check the box
- Request PIN
- The PIN used by the TDI Storage Component Queue Manager to
request certificate. This value must match the value for
"certServerReqPin" in the mqeconfig.props file where the
mqeconfig utility will execute.
-
Select the "passwords" queue entity. If the steps above have been followed, the "passwords" entity should appear as a child of the "PWStoreServer" entity. Right click on the "passwords" node and select "Properties". On the note pane window that
results, configure the following:
- General
- Enable Issue
- Check the box
- Request PIN
- The PIN used by the TDI Storage Component Queue Manager to
request certificate. This value must match the value for
"certServerReqPin" in the mqeconfig.props file where the
mqeconfig utility will execute.
The certificates issued by the MQe Mini-Certificate server have a configurable validity period. The default validity period is 12 months. The MQe documentation states that issued certificates should be renewed before the period expires. To enable this, the mqeconfig utility includes an option to renew certificates for each authenticatable entity. The authenticable entity names requiring certificate renewal are as follows:
- TDI MQe Password Store Client side
- "PWStoreClient" (Client side Queue Manager)
- "PWStoreServer+passwords" (Remote queue proxy on the client side)
- TDI MQe Password Connector Server side
- "PWStoreServer" (Server side Queue Manager)
- "PWStoreServer+passwords" (Real queue on the server side)
For each instance of TDI MQe configurations, the following steps may be performed and repeated as required in order to renew previously issued authentication certificates. The MQe Mini-Certificate server that issued the original certificates must be running.
TDI Password Store Client Side
- Open the MQe Mini-Certificate GUI
- Right click on the MQe authenticatable entity for which certificate renewal is required, e.g. "PWStoreServer+passwords". On the note pane window that results, configure the following:
- General
- Enable Issue
- Check the box
- Request PIN
- The PIN used by the TDI Storage Component Queue Manager to
request certificate. This value must match the value for
"certServerReqPin" in the mqeconfig.props file where the
mqeconfig utility will execute.
- Use a text editor to set the following properties of the <tdi_install_directory>/mqeconfig.props files
- clientRootFolder - The directory where MQe configuration instance is located.
- certServerReqPin - This value is used as a one time authentication PIN for the given authenticatable entity when requesting certificate renewal from the MQe Mini-Certificate server. This value must match the "Request PIN" value from step 2 above.
- certServerIPAndPort - This value is used as the destination address for MQe Mini-Certificate server requests. The format of the value is "FastNetwork:<host>:<port>", where host must be the machine name or TCP IP address or hostname where the MQe Mini-Certificate server is running.
- certRenewalEntityName - The MQe authenticatable entity name (see above) requiring certificate renewal.
- Open a
command prompt in the <tdi_install_directory> of the
Password Synchronizer, and enter the following command:
_jvm\jre\bin\java -cp "./mqeconfig.jar" com.ibm.di.plugin.mqe.config.MQeConfig mqeconfig.props renewcert client
TDI Password Connector Server Side
- Open the MQe Mini-Certificate GUI
- Right click on the MQe authenticatable entity for which certificate renewal is required, e.g. "PWStoreServer+passwords". On the note pane window that results, configure the following:
- General
- Enable Issue
- Check the box
- Request PIN
- The PIN used by the TDI Storage Component Queue Manager to
request certificate. This value must match the value for
"certServerReqPin" in the mqeconfig.props file where the
mqeconfig utility will execute.
- Use a text editor to set the following properties of the <tdi_install_directory>/mqeconfig.props files
- serverRootFolder - The directory where MQe configuration
instance is located.
- certServerReqPin - This value is used as a one time
authentication PIN for the given authenticatable entity when
requesting certificate renewal from the MQe Mini-Certificate server.
This value must match the "Request PIN" value from step 2
above.
- certServerIPAndPort - This value is used as the destination
address for MQe Mini-Certificate server requests. The format of the
value is "FastNetwork:<host>:<port>", where host
must be the machine name or TCP IP address or hostname where the MQe
Mini-Certificate server is running.
- certRenewalEntityName - The MQe authenticatable entity name
(see above) requiring certificate renewal.
- Open a
command prompt in the <tdi_install_directory>/plugins/jars of the
MQe Password Connector, and enter the following command:
mqeconfig.{bat|sh} mqeconfig.props renewcert server