|   | 
	 
  
    | 
RSS Feed - WebSphere MQ Support
 | 
RSS Feed - Message Broker Support
 |   
 
  
	     | 
	 | 
   
 
  
	|  Need the Source code for Base Java MQ classes and SSL | 
	« View previous topic :: View next topic »  | 
   
  
  	
	  
		
		
		  | Author | 
		  Message
		 |  
		
		  | manojkpradhan | 
		  
		    
			  
				 Posted: Fri May 13, 2005 1:38 am    Post subject: Need the Source code for Base Java MQ classes and SSL | 
				     | 
			   
			 
		   | 
		 
		
		   Apprentice
 
 Joined: 15 Nov 2004 Posts: 25
  
  | 
		  
		    
			  
				Hi All, 
 
 
Can anyone send the source code and procedure how to implement the Base MQ java classes and SSL. Because I have tried the SSL between server to server communication.But I don't know how to do the SSL between client and server communication. 
 
 
Thanks, 
 
Manoj | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | jefflowrey | 
		  
		    
			  
				 Posted: Fri May 13, 2005 3:39 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		   Grand Poobah
 
 Joined: 16 Oct 2002 Posts: 19981
  
  | 
		  
		    
			  
				The search button will send you this information. _________________ I am *not* the model of the modern major general. | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | manojkpradhan | 
		  
		    
			  
				 Posted: Mon May 16, 2005 12:51 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		   Apprentice
 
 Joined: 15 Nov 2004 Posts: 25
  
  | 
		  
		    
			  
				Hi All,
 
I  am trying to connection my SSL Enable MQ Series 5.3 using java class, the following java code.But I am getting the error as MQRC 2397, which means MQRC_JSSE_ERROR.
 
 
Can any one give me the proper way to resolve this problem.
 
 
Source Code:
 
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
 
import com.ibm.mq.*; 
 
import com.ibm.jms.JMSTextMessage; 
 
import java.security.cert.*; 
 
import java.util.Collection; 
 
import java.util.HashMap; 
 
 
public class MQMessgSend 
 
{ 
 
	private MQQueueManager mqmanager; 
 
	
 
	public MQMessgSend()
 
	{ 
 
		try
 
		{ 
 
			MQEnvironment.hostname ="192.168.1.26"; 
 
			MQEnvironment.port=1616; 
 
			MQEnvironment.channel="SSL.SVRCONN"; 
 
			
 
			MQEnvironment.CCSID = 437; 
 
			MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,MQC.TRANSPORT_MQSERIES_CLIENT);
 
			MQEnvironment.properties.put(MQC.SSL_PEER_NAME_PROPERTY,MQC.TRANSPORT_MQSERIES_CLIENT);
 
			MQEnvironment.sslCipherSuite = "SSL_RSA_EXPORT_WITH_RC4_40_MD5";
 
			MQEnvironment.sslPeerName = "CN = DEMO CA A6 OU = DST Demo Certificate O = Digital Signature Trust Co. C = US"; 
 
 
			MQEnvironment.enableTracing(5); 
 
 
			HashMap h1 = new HashMap(); 
 
			h1.put("javax.net.ssl.keyStore", "E:/SSL/mycert"); 
 
			h1.put("javax.net.ssl.keyStorePassword", "passwd"); 
 
			h1.put("javax.net.ssl.trustStore","E:/SSL/mycert"); 
 
			h1.put("javax.net.ssl.trustStorePassword", "passwd"); 
 
			
 
			Collection c = h1.entrySet(); 
 
			MQEnvironment.sslCertStores = c ;
 
								
 
			mqmanager = new MQQueueManager("QM2"); 
 
 
			int openOptions = MQC.MQOO_OUTPUT ; 
 
 
 
			
 
			MQQueue outQueue = mqmanager.accessQueue("LQ2", openOptions); 
 
 
			MQMessage hello_world = new MQMessage(); 
 
									
 
			String myssltestmessg = "SSL Test Messgae"; 
 
			hello_world.writeUTF(myssltestmessg); 
 
 
			MQPutMessageOptions pmo = new MQPutMessageOptions(); 
 
			outQueue.put(hello_world, pmo); 
 
			System.out.println("Message sent success"); 
 
 
			outQueue.close(); 
 
			mqmanager.disconnect(); 
 
		} 
 
		catch (MQException ex) 
 
		{ 
 
			ex.getCause(); 
 
			System.out.println("WebSphere MQ error occurred : Completion code " + ex.completionCode + " Reason code " + ex.reasonCode + " Cause " + ex.getCause()); 
 
		} 
 
		catch (java.io.IOException ex) 
 
		{ 
 
			ex.printStackTrace(); 
 
			System.out.println("An error occurred while writing to the message buffer: "+ ex); 
 
		}
 
		catch (Exception e)
 
		{ 
 
			e.printStackTrace(); 
 
		}
 
		catch(Throwable th) 
 
		{ 
 
			th.printStackTrace(); 
 
		} 
 
		
 
	} 
 
 
	public static void main(String args[])
 
	{ 
 
		new MQMessgSend(); 
 
	} 
 
} 
 
 
 
Error was:
 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
 
 
02:18:49 [1116233329093] Thread: main, Object: com.ibm.mq.MQQueueManager@13c5982 ==> MQManagedObject construct
 
or() entry
 
  02:18:49 [1116233329125] Thread: main, Object: com.ibm.mq.MQQueueManager@13c5982 @(#) common/javabase/com/ib
 
m/mq/MQManagedObject.java, java, j530, j530-L020820  02/08/20 12:25:48
 
02:18:49 [1116233329140] Thread: main, Object: com.ibm.mq.MQQueueManager@13c5982 <== MQManagedObject construct
 
or() exit
 
02:18:49 [1116233329140] Thread: main, Object: com.ibm.mq.MQQueueManager@13c5982 ==> MQQueueManager constructo
 
r() entry
 
  02:18:49 [1116233329140] Thread: main, Object: com.ibm.mq.MQQueueManager@13c5982 common/javabase/com/ibm/mq/
 
MQQueueManager.java, java, j530, j530-L021003 02/10/01 15:03:42 @(#) 1.56.2.2
 
  02:18:49 [1116233329140] Thread: main Class: *** BuildInfo *** WebSphere MQ classes for Java (5.300)
 
  02:18:49 [1116233329140] Thread: main Class: *** BuildInfo *** j530-L021008 (Production)
 
  02:18:49 [1116233329140] Thread: main, Object: com.ibm.mq.MQQueueManager@13c5982 ==> construct() entry
 
    02:18:49 [1116233329140] Thread: main ==> MQQueueManager::obtainBaseMQQueueManager (Java 1.1 version() ent
 
ry
 
      02:18:49 [1116233329140] Thread: main ==> MQEnvironment::getDefaultProperty - transport() entry
 
      02:18:49 [1116233329140] Thread: main <== MQEnvironment::getDefaultProperty - transport() exit
 
      02:18:49 [1116233329156] Thread: main, Object: com.ibm.mq.MQClientManagedConnectionFactoryJ11@186d4c1 ==
 
> MQClientManagedConnectionFactoryJ11 constructor() entry
 
        02:18:49 [1116233329171] Thread: main ==> MQEnvironment::getDefaultProperty - hostname() entry
 
        02:18:49 [1116233329171] Thread: main <== MQEnvironment::getDefaultProperty - hostname() exit
 
        02:18:49 [1116233329171] Thread: main ==> MQEnvironment::getDefaultProperty - port() entry
 
        02:18:49 [1116233329171] Thread: main <== MQEnvironment::getDefaultProperty - port() exit
 
        02:18:49 [1116233329171] Thread: main ==> MQEnvironment::getDefaultProperty - channel() entry
 
        02:18:49 [1116233329171] Thread: main <== MQEnvironment::getDefaultProperty - channel() exit
 
        02:18:49 [1116233329171] Thread: main ==> MQEnvironment::getDefaultProperty - CCSID() entry
 
        02:18:49 [1116233329171] Thread: main <== MQEnvironment::getDefaultProperty - CCSID() exit
 
      02:18:49 [1116233329187] Thread: main, Object: com.ibm.mq.MQClientManagedConnectionFactoryJ11@186d4c1 <=
 
= MQClientManagedConnectionFactoryJ11 constructor() exit
 
      02:18:49 [1116233329187] Thread: main ==> Uninitialized object::ClientConnectionRequestInfo constructor(
 
) entry
 
        02:18:49 [1116233329187] Thread: main ==> MQEnvironment::getDefaultProperty - connectOptions() entry
 
        02:18:49 [1116233329187] Thread: main <== MQEnvironment::getDefaultProperty - connectOptions() exit
 
        02:18:49 [1116233329187] Thread: main ==> MQEnvironment::getDefaultProperty - securityExit() entry
 
        02:18:49 [1116233329187] Thread: main <== MQEnvironment::getDefaultProperty - securityExit() exit
 
        02:18:49 [1116233329187] Thread: main ==> MQEnvironment::getDefaultProperty - receiveExit() entry
 
        02:18:49 [1116233329187] Thread: main <== MQEnvironment::getDefaultProperty - receiveExit() exit
 
        02:18:49 [1116233329187] Thread: main ==> MQEnvironment::getDefaultProperty - sendExit() entry
 
        02:18:49 [1116233329203] Thread: main <== MQEnvironment::getDefaultProperty - sendExit() exit
 
        02:18:49 [1116233329203] Thread: main ==> MQEnvironment::getDefaultProperty - userID() entry
 
        02:18:49 [1116233329203] Thread: main <== MQEnvironment::getDefaultProperty - userID() exit
 
        02:18:49 [1116233329203] Thread: main ==> MQEnvironment::getDefaultProperty - password() entry
 
        02:18:49 [1116233329203] Thread: main <== MQEnvironment::getDefaultProperty - password() exit
 
        02:18:49 [1116233329203] Thread: main ==> MQEnvironment::getDefaultProperty - SPI() entry
 
        02:18:49 [1116233329203] Thread: main <== MQEnvironment::getDefaultProperty - SPI() exit
 
        02:18:49 [1116233329218] Thread: main ==> MQEnvironment::getDefaultProperty - SSL Cipher Suite() entry
 
 
        02:18:49 [1116233329218] Thread: main <== MQEnvironment::getDefaultProperty - SSL Cipher Suite() exit
 
        02:18:49 [1116233329234] Thread: main ==> MQEnvironment::getDefaultProperty - SSL Peer Name() entry
 
        02:18:49 [1116233329234] Thread: main <== MQEnvironment::getDefaultProperty - SSL Peer Name() exit
 
        02:18:49 [1116233329250] Thread: main ==> MQEnvironment::getDefaultProperty - SSL CertStores() entry
 
        02:18:49 [1116233329250] Thread: main <== MQEnvironment::getDefaultProperty - SSL CertStores() exit
 
        02:18:49 [1116233329250] Thread: main ==> MQEnvironment::getDefaultProperty - SSL Socket Factory() ent
 
ry
 
        02:18:49 [1116233329265] Thread: main <== MQEnvironment::getDefaultProperty - SSL Socket Factory() exi
 
t
 
      02:18:49 [1116233329281] Thread: main, Object: com.ibm.mq.ClientConnectionRequestInfo@a822a7e9 <== Clien
 
tConnectionRequestInfo constructor() exit
 
      02:18:49 [1116233329296] Thread: main, Object: com.ibm.mq.MQSimpleConnectionManager@422ede ==> allocateC
 
onnection() entry
 
        02:18:49 [1116233329312] Thread: main, Object: com.ibm.mq.ManagedConnectionStore@112f614 ==> chooseOne
 
() entry
 
        02:18:49 [1116233329328] Thread: main, Object: com.ibm.mq.ManagedConnectionStore@112f614 <== chooseOne
 
() exit
 
        02:18:49 [1116233329343] Thread: main, Object: com.ibm.mq.StoredManagedConnection@111a3ac ==> StoredMa
 
nagedConnection constructor() entry
 
          02:18:49 [1116233329343] Thread: main, Object: com.ibm.mq.MQClientManagedConnectionFactoryJ11@186d4c
 
1 ==> _createManagedConnection() entry
 
            02:18:49 [1116233329359] Thread: main, Object: com.ibm.mq.MQManagedConnectionJ11@dd20f6 ==> MQMana
 
gedConnection constructor() entry
 
              02:18:49 [1116233329406] Thread: main, Object: com.ibm.mq.MQSESSIONClient@1d1acd3 ==> setThreadA
 
ccess() entry
 
                02:18:49 [1116233329406] Thread: main, Object: com.ibm.mq.MQSESSIONClient@1d1acd3 Default mult
 
i-thread access will be used.
 
              02:18:49 [1116233329406] Thread: main, Object: com.ibm.mq.MQSESSIONClient@1d1acd3 <== setThreadA
 
ccess() exit
 
              02:18:49 [1116233329406] Thread: main ==> MQSESSIONClient::MQCONN() entry
 
                02:18:49 [1116233329421] Thread: main Class: MQSESSIONClient common/javabase/com/ibm/mq/MQSESS
 
IONClient.java, java, j530, j530-L021003 02/10/01 16:52:34 @(#) 1.46.1.4
 
                02:18:49 [1116233329421] Thread: main Class: MQSESSIONClient Queue Manager = 'QM2'
 
                02:18:49 [1116233329437] Thread: main ==> MQSESSION::setStringToLength() entry
 
                02:18:49 [1116233329437] Thread: main <== MQSESSION::setStringToLength() exit
 
                02:18:49 [1116233329468] Thread: main, Object: com.ibm.mq.MQInternalCommunications@e83912 ==>
 
Constructor() entry
 
                  02:18:49 [1116233329468] Thread: main, Object: com.ibm.mq.MQInternalCommunications@e83912 co
 
mmon/javabase/com/ibm/mq/MQInternalCommunications.java, java, j530, j530-L021003  02/09/30 17:08:19 @(#) 1.56.
 
2.3
 
                  02:18:49 [1116233329484] Thread: main ==> MQSESSION::setStringToLength() entry
 
                  02:18:49 [1116233329484] Thread: main <== MQSESSION::setStringToLength() exit
 
                  02:18:49 [1116233329484] Thread: main ==> MQSESSION::setStringToLength() entry
 
                  02:18:49 [1116233329500] Thread: main <== MQSESSION::setStringToLength() exit
 
                  02:18:49 [1116233329500] Thread: main ==> MQSESSION::setStringToLength() entry
 
                  02:18:49 [1116233329515] Thread: main <== MQSESSION::setStringToLength() exit
 
                  02:18:49 [1116233329515] Thread: main ==> MQSESSION::setStringToLength() entry
 
                  02:18:49 [1116233329515] Thread: main <== MQSESSION::setStringToLength() exit
 
                  02:18:49 [1116233329531] Thread: main, Object: com.ibm.mq.MQInternalCommunications@e83912 us
 
erID = '            '
 
                  02:18:49 [1116233329546] Thread: main, Object: com.ibm.mq.MQInternalCommunications@e83912 lo
 
ngUserID = '                                                                '
 
                  02:18:49 [1116233329546] Thread: main, Object: com.ibm.mq.MQInternalCommunications@e83912 Qu
 
eue Manager = 'QM2                                             '
 
                  02:18:49 [1116233329562] Thread: main, Object: com.ibm.mq.MQInternalCommunications@e83912 Co
 
nnection handle = 5
 
                  02:18:49 [1116233329578] Thread: main, Object: com.ibm.mq.MQInternalCommunications@e83912 CC
 
SID = 437
 
                  02:18:49 [1116233329593] Thread: main, Object: com.ibm.mq.MQInternalCommunications@e83912 ==
 
> createSocketConnection() entry
 
                    02:18:49 [1116233329609] Thread: main, Object: com.ibm.mq.MQInternalCommunications@e83912
 
Connecting to 192.168.1.26 on port 1616
 
                    02:18:49 [1116233329625] Thread: main ==> SSLHelper::createSSLSocket() entry
 
                      02:18:49 [1116233329625] Thread: main Class: SSLHelper peername = 'MQSeries Client'
 
                      02:18:49 [1116233329625] Thread: main Class: SSLHelper certStores = [javax.net.ssl.trust
 
StorePassword=passwd, javax.net.ssl.keyStorePassword=passwd, javax.net.ssl.trustStore=E:/SSL/mycert, javax.net
 
.ssl.keyStore=E:/SSL/mycert]
 
                      02:18:49 [1116233329640] Thread: main Class: SSLHelper sslSocketFactory = null
 
                      02:18:49 [1116233329656] Thread: main Class: SSLHelper using default SSLSocketFactory
 
                      02:18:50 [1116233330265] Thread: main Class: SSLHelper creating SSL socket
 
                      02:18:50 [1116233330296] Thread: main Class: SSLHelper setting enabled cipher suites to
 
'SSL_RSA_EXPORT_WITH_RC4_40_MD5'
 
                      02:18:50 [1116233330296] Thread: main Class: SSLHelper calling startHandshake
 
                      02:18:50 [1116233330484] Thread: main, Object: com.ibm.mq.MQException: MQJE001: An MQExc
 
eption occurred: Completion Code 2, Reason 2397
 
MQJE056: Initial negotiation failure ==> MQException constructor(cc, rc, source, msgid)() entry
 
                        02:18:50 [1116233330484] Thread: main, Object: com.ibm.mq.MQException: MQJE001: An MQE
 
xception occurred: Completion Code 2, Reason 2397
 
MQJE056: Initial negotiation failure common/javabase/com/ibm/mq/MQException.java, java, j530, j530-L020820  02
 
/08/09 13:29:42 @(#) 1.39
 
                        02:18:50 [1116233330484] Thread: main, Object: com.ibm.mq.MQException: MQJE001: An MQE
 
xception occurred: Completion Code 2, Reason 2397
 
MQJE056: Initial negotiation failure cc     = 2
 
                        02:18:50 [1116233330484] Thread: main, Object: com.ibm.mq.MQException: MQJE001: An MQE
 
xception occurred: Completion Code 2, Reason 2397
 
MQJE056: Initial negotiation failure rc     = 2397
 
                        02:18:50 [1116233330500] Thread: main, Object: com.ibm.mq.MQException: MQJE001: An MQE
 
xception occurred: Completion Code 2, Reason 2397
 
MQJE056: Initial negotiation failure source = static method in SSL code
 
                        02:18:50 [1116233330500] Thread: main, Object: com.ibm.mq.MQException: MQJE001: An MQE
 
xception occurred: Completion Code 2, Reason 2397
 
MQJE056: Initial negotiation failure msgId  = 98
 
MQJE001: An MQException occurred: Completion Code 2, Reason 2397
 
MQJE056: Initial negotiation failure
 
                        02:18:50 [1116233330500] Thread: main, Object: com.ibm.mq.MQException: MQJE001: An MQE
 
xception occurred: Completion Code 2, Reason 2397
 
MQJE056: Initial negotiation failure Explanation is 'MQJE001: An MQException occurred: Completion Code 2, Reas
 
on 2397
 
MQJE056: Initial negotiation failure'
 
                      02:18:50 [1116233330500] Thread: main, Object: com.ibm.mq.MQException: MQJE001: An MQExc
 
eption occurred: Completion Code 2, Reason 2397
 
MQJE056: Initial negotiation failure <== MQException constructor() exit
 
                      02:18:50 [1116233330500] Thread: main Class: MQSESSIONClient MQException occurred whilst
 
 connecting
 
                    02:18:50 [1116233330500] Thread: main <== MQSESSIONClient::MQCONN() exit
 
                  02:18:50 [1116233330687] Thread: main, Object: com.ibm.mq.MQManagedConnectionJ11@dd20f6 <==
 
MQManagedConnection constructor (via exception)() exit
 
                  02:18:50 [1116233330687] Thread: main, Object: com.ibm.mq.MQException: MQJE001: Completion C
 
ode 2, Reason 2397 ==> MQException constructor(cc, rc, source)() entry
 
                    02:18:50 [1116233330687] Thread: main, Object: com.ibm.mq.MQException: MQJE001: Completion
 
 Code 2, Reason 2397 common/javabase/com/ibm/mq/MQException.java, java, j530, j530-L020820  02/08/09 13:29:42
 
@(#) 1.39
 
                    02:18:50 [1116233330718] Thread: main, Object: com.ibm.mq.MQException: MQJE001: Completion
 
 Code 2, Reason 2397 cc     = 2
 
                    02:18:50 [1116233330718] Thread: main, Object: com.ibm.mq.MQException: MQJE001: Completion
 
 Code 2, Reason 2397 rc     = 2397
 
                    02:18:50 [1116233330718] Thread: main, Object: com.ibm.mq.MQException: MQJE001: Completion
 
 Code 2, Reason 2397 source = com.ibm.mq.MQManagedConnectionJ11@dd20f6
 
MQJE001: Completion Code 2, Reason 2397
 
                  02:18:50 [1116233330718] Thread: main, Object: com.ibm.mq.MQException: MQJE001: Completion C
 
ode 2, Reason 2397 <== MQException constructor() exit
 
                  02:18:50 [1116233330781] Thread: main ==> ReasonCodeInfo::getResourceExceptionClass() entry
 
                  02:18:50 [1116233330781] Thread: main <== ReasonCodeInfo::getResourceExceptionClass() exit
 
                02:18:50 [1116233330781] Thread: main, Object: com.ibm.mq.MQClientManagedConnectionFactoryJ11@
 
186d4c1 <== _createManagedConnection (via exception)() exit
 
WebSphere MQ error occurred : Completion code 2 Reason code 2397 Cause javax.net.ssl.SSLHandshakeException: su
 
n.security.validator.ValidatorException: No trusted certificate found | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | 
		    
		   | 
		 
	   
	 | 
   
 
  
	     | 
	 | 
	Page 1 of 1 | 
   
 
 
 
  
  	
	  
		
		  
 
  | 
		  You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
  | 
  		 
	   
	 | 
   
 
  	 | 
	  |