Websphere MQ Everyplace

com.ibm.mqe.attributes
Class MQeMTrustAttribute

java.lang.Object
  |
  +--com.ibm.mqe.MQe
        |
        +--com.ibm.mqe.MQeAttribute
              |
              +--com.ibm.mqe.attributes.MQeMTrustAttribute
All Implemented Interfaces:
MQeExceptionCodes

public class MQeMTrustAttribute
extends MQeAttribute

This class is used to create an attribute object enabling message-level protection of message objects in such a way that :

This class is a descendant of MQeAttribute.


Field Summary
 
Fields inherited from class com.ibm.mqe.MQe
Admin_Queue_Name, Admin_Reply_Queue_Name, copyright, DeadLetter_Queue_Name, Event_Activate, Event_Attribute, Event_Authenticate, Event_Close, Event_Logoff, Event_Logon, Event_MiniCert_Validate, Event_Queue, Event_QueueManager, Event_UserBase, JMS_Version, MQ_Headers, MQe_Log_Audit_Failure, MQe_Log_Audit_Success, MQe_Log_Error, MQe_Log_Information, MQe_Log_Success, MQe_Log_Warning, Msg_BackoutCount, Msg_CorrelID, Msg_ExpireTime, Msg_LockID, Msg_MsgID, Msg_OriginQMgr, Msg_Priority, Msg_ReplyToQ, Msg_ReplyToQMgr, Msg_Resend, Msg_Style, Msg_Style_Datagram, Msg_Style_Reply, Msg_Style_Request, Msg_Time, Msg_WrapMsg, sccsid, System_Default_Queue_Name, version
 
Fields inherited from interface com.ibm.mqe.MQeExceptionCodes
Except_Active, Except_AdapterException, Except_AdapterMissingRemoteAddress, Except_Admin_ActionNotSupported, Except_Admin_InvalidField, Except_Admin_NotAdminMsg, Except_AdminAction, Except_Authenticate, Except_BadRequest, Except_BridgeListener, Except_Chnl_Attributes, Except_Chnl_ID, Except_Chnl_Limit, Except_Chnl_Overrun, Except_Closed, Except_Con_AdapterRequired, Except_Con_AliasAlreadyExists, Except_Con_AlreadyExists, Except_Con_InvalidName, Except_Connect_Failure, Except_ConnectonType, Except_Cryptor, Except_Data, Except_Duplicate, Except_JmxProperties, Except_Listener, Except_MessageStore, Except_MiniCertReg_ActivateFailed, Except_MiniCertReg_BadPIN, Except_MiniCertReg_NotOpen, Except_NotActive, Except_NotAllowed, Except_NotFound, Except_NotSupported, Except_PrivateReg_ActivateFailed, Except_PrivateReg_BadPIN, Except_PrivateReg_NotOpen, Except_PublicReg_ActivateFailed, Except_PublicReg_InvalidAddress, Except_PublicReg_InvalidRequest, Except_Q_Full, Except_Q_InvalidName, Except_Q_InvalidPriority, Except_Q_MsgTooLarge, Except_Q_NoMatchingMsg, Except_Q_TargetRegistryRequired, Except_QMgr_Activated, Except_QMgr_AlreadyExists, Except_QMgr_InvalidQMgrName, Except_QMgr_InvalidQName, Except_QMgr_NotActive, Except_QMgr_NotBridgeEnabled, Except_QMgr_NotConfigured, Except_QMgr_QDoesNotExist, Except_QMgr_QExists, Except_QMgr_QNotEmpty, Except_QMgr_RegistryDataVersion, Except_QMgr_UnknownQMgr, Except_QMgr_WrongQType, Except_Reg_AddFailed, Except_Reg_AlreadyExists, Except_Reg_AlreadyOpen, Except_Reg_CRTKeyDecFailed, Except_Reg_CRTKeySignFailed, Except_Reg_DeleteFailed, Except_Reg_DeleteRegistryFailed, Except_Reg_DoesNotExist, Except_Reg_InvalidSession, Except_Reg_ListFailed, Except_Reg_NotDefined, Except_Reg_NotSecure, Except_Reg_NullName, Except_Reg_OpenFailed, Except_Reg_ReadFailed, Except_Reg_RenameFailed, Except_Reg_ResetPINFailed, Except_Reg_SearchFailed, Except_Reg_UpdateFailed, Except_RemoteException, Except_Rule, Except_S_BadIntegrity, Except_S_BadSubject, Except_S_CertificateExpired, Except_S_Cipher, Except_S_InvalidAttribute, Except_S_InvalidSignature, Except_S_MiniCertNotAvailable, Except_S_MissingSection, Except_S_NoPresetKeyAvailable, Except_S_RegistryNotAvailable, Except_Stopped, Except_Syntax, Except_TimeOut, Except_Transporter, Except_TriggerTransmission, Except_Trnsport_QMgr, Except_Trnsport_Request, Except_Type, Except_UdpipAdapterStateException, Except_UdpipAdapterTimeOut, Except_UdpipAdapterUnableToConfirmSuccess, Except_UnCoded, Except_Uncontactable_DontTransmit
 
Constructor Summary
MQeMTrustAttribute(MQeAuthenticator auth, MQeCryptor crypt, MQeCompressor compr)
          Constructs an MQeMTrustAttribute object.
 
Method Summary
 void setHomeServer(java.lang.String addrPort, java.lang.String adapter)
          Sets address of home-server/alternative WebSphere MQ Everyplace node.
 void setPrivateRegistry(MQePrivateRegistry thisRegistry)
          Sets active private registry.
 void setPublicRegistry(MQePublicRegistry thisRegistry)
          Sets active public registry.
 void setTarget(java.lang.String target)
          Set attribute target entity.
 
Methods inherited from class com.ibm.mqe.MQeAttribute
activate, authenticatedID, close, getAuthenticator, getCompressor, getCryptor, getRule, isAcceptable, setAuthenticator, setCompressor, setCryptor, setKey
 
Methods inherited from class com.ibm.mqe.MQe
abbreviate, alias, asciiToByte, byteToAscii, byteToHex, byteToHex, byteToInt, byteToLong, byteToShort, byteToUnicode, fileSeparator, getEventLogHandler, hexToAscii, hexToByte, intToByte, isCLDC, loadClass, loadObject, log, setEventLogHandler, setLoader, sliceByteArray, type, unicodeToByte, uniqueValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MQeMTrustAttribute

public MQeMTrustAttribute(MQeAuthenticator auth,
                          MQeCryptor crypt,
                          MQeCompressor compr)
                   throws MQeException

Constructs an MQeMTrustAttribute object.

Parameters:
auth - null , not used.
crypt - An object reference to a symmetric MQeCryptor object (MQeDESCryptor, MQe3DESCryptor, MQeRC4Cryptor, MQeRC6Cryptor or MQeMARSCryptor)
compr - null , not used.
Throws:
MQeException - Except_Not Supported : "invalid cryptor"
See Also:
MQePrivateRegistry, MQePublicRegistry
Example:
 public void ConstructorExample() throws Exception { {
         // application on initiating QueueManager:
         // use MQeMTrustAttribute to protect a message between
         // pre-reg'd initiator 'Bruce1'and recipient 'Bruce8'
         // assume initiator's QueueManager initQM started
         // setup MTrustAttribute
 
 
         MQeMARSCryptor mars = new MQeMARSCryptor();
         MQeMTrustAttribute msgA = new MQeMTrustAttribute(null, mars, null);
 
         // setup instantiate &activate sender (Bruce1)PrivReg
         String EntityName = "Bruce1";
         String EntityPIN = "12345678";
         Object KeyRingPassword = "It_is_a_secret";
         MQePrivateRegistry sendreg = new MQePrivateRegistry();
 
         sendreg.activate(EntityName, ".//MQeNode_PrivateRegistry",
             EntityPIN, KeyRingPassword, null, null);
 
         // set target entity's registry name into attribute
         msgA.setTarget("Bruce8");
 
         // set MTrustAttribute s PrivateRegistry =sendreg
         msgA.setPrivateRegistry(sendreg);
 
         // instantiate and activate Public Registry which has
         // (or gets)MiniCert of intended recipient (Bruce8)
 
         MQePublicRegistry pr = new MQePublicRegistry();
 
         pr.activate("MQeNode_PublicRegistry", ".//");
 
         // set MTrustAttribute's PublicRegistry &HomeServer
         msgA.setPublicRegistry(pr);
         msgA.setHomeServer(MyHomeServerName + ":8082", "Network");
 
         // create message object and add some test data
         MQeMsgObject msgObj = new MQeMsgObject();
 
         msgObj.putArrayOfByte("TestData",
             MQe.asciiToByte("0123456789abcdef...."));
 
         // protect with MQeMTrustAttribute and PutMessage
         msgObj.setAttribute(msgA);
         initQM.putMessage(targetQMgrName, targetQName, msgObj, null, 0);
     } {
         // application on recipient QueueManager:
         // use MQeMTrustAttribute to recover the message from
         // pre-registered initiator 'Bruce1'and recipient 'Bruce8'
         // assume recipient's QueueManager recipQM started
 
         // setup MQeMTrustAttribute
         MQeMARSCryptor marsCryp = new MQeMARSCryptor();
         MQeMTrustAttribute msgA
             = new MQeMTrustAttribute(null, marsCryp, null);
 
         // setup recipient's Private Registry
         String EntityName = "Bruce8";
         String EntityPIN = "12345678";
         Object KeyRingPassword = "It_is_a_secret";
 
         // instantiate and activate recipient's Private Registry
         MQePrivateRegistry recipreg = new MQePrivateRegistry();
 
         recipreg.activate(EntityName, ".//MQeNode_PrivateRegistry",
             EntityPIN, KeyRingPassword, null, null);
 
         // set MTrustAttribute PrivateRegistry =recipreg
         msgA.setPrivateRegistry(recipreg);
 
         // instantiate and activate Public Registry which has
         // (or gets)MiniCert of originator (Bruce1)
         MQePublicRegistry pr = new MQePublicRegistry();
 
         pr.activate("MQeNode_PublicRegistry", ".//");
 
         // set MTrustAttribute's PublicRegistry &HomeServer
         msgA.setPublicRegistry(pr);
         msgA.setHomeServer(MyHomeServerName + ":8082", "Network");
 
         // use MQeMTrustAttribute with GetMessage to recover msg
         MQeMsgObject MsgObj = initQM.getMessage(targetQMgrName,
                 targetQName, null, msgA, 0);
 
         System.out.println("Data restored from MTrustAttr protected Msg ="
             + MQe.byteToAscii(MsgObj.getArrayOfByte("TestData")));
 
     }
 
     }
 
Method Detail

setPublicRegistry

public void setPublicRegistry(MQePublicRegistry thisRegistry)
                       throws MQeException

Sets active public registry.

Called to set an MQeMTrustAttribute’s active public registry. When used to protect a message this is a public registry that has (or gets) the mini-certificate of the intended recipient, and when recovering a message this is a public registry that has (or gets) the mini-certificate of the sender.

Returns:
void
Throws:
MQeException - Except_NotAllowed : "illegal SetPublicRegistry"

setPrivateRegistry

public void setPrivateRegistry(MQePrivateRegistry thisRegistry)
                        throws MQeException

Sets active private registry.

Called to set an MQeMTrustAttribute’s active private registry. When used to protect a message this is the private registry of the sender and when recovering a message this is the private registry of the recipient.

Returns:
void
Throws:
MQeException - Except_NotAllowed : "illegal SetPrivateRegistry"

setHomeServer

public void setHomeServer(java.lang.String addrPort,
                          java.lang.String adapter)

Sets address of home-server/alternative WebSphere MQ Everyplace node.

Called to set an MQeMTrustAttributes home-server address. When used to protect a message, encodeData() attempts to get the intended recipient’s mini-certificate from its active public registry. If not found but the home-server address is set, it requests the mini-certificate from the home-server, and saves it for subsequent use in the active public registry. When used to recover a message, decodeData() attempts to gets the initiator’s mini-certificate from its active public registry. If not found but the home-server address is set, it requests the mini-certificate from the home-server and saves it for subsequent use in its active public registry.

Parameters:
adapter - The adapter class name or alias of the target queue manager.
Returns:
void

setTarget

public void setTarget(java.lang.String target)
               throws MQeException

Set attribute target entity.

Once it has been set, it cannot be re-set.

Parameters:
target - The target name.
Throws:
MQeException - Except_NotAllowed : "illegal SetTarget"

Websphere MQ Everyplace