Java 使用SSL设置安全JMS队列连接

Java 使用SSL设置安全JMS队列连接,java,ssl,jms,jndi,Java,Ssl,Jms,Jndi,我正在尝试使用WebSphere Application Server为JMS瘦客户端设置SSL连接 这是当前的现有代码: try { env.put("java.naming.factory.initial", intialFactory); env.put("java.naming.provider.url", "corbaloc:iiop:"+host+":"+port);

我正在尝试使用WebSphere Application Server为JMS瘦客户端设置SSL连接

这是当前的现有代码:

try {
        env.put("java.naming.factory.initial", intialFactory);
        env.put("java.naming.provider.url", "corbaloc:iiop:"+host+":"+port);
        env.put("com.ibm.CORBA.ORBInit", "com.ibm.ws.sib.client.ORB");
        if (GatewayPropMgr.getInstance().getSSLEnabled()) {
            env.put("java.naming.security.protocol", "ssl");
            env.put( "java.naming.ldap.factory.socket", ThreadLocalSocketFactory.class.getName() );
            ThreadLocalSocketFactory.set(sslSocketFactory);
            env.put("javax.net.ssl.keyStore", "/home/user/SwaKeystore.jks");
            env.put("javax.net.ssl.keyStoreType", "JKS");
            env.put("javax.net.ssl.keyStorePassword", keystorepass);
            env.put("javax.net.ssl.trustStore", "/home/user/SwaTruststore.jks");
            env.put("javax.net.ssl.trustStoreType", "JKS");
            env.put("javax.net.ssl.trustStorePassword", truststorepass);
        }
        InitialContext context = new InitialContext(env);
        QueueConnectionFactory qcf = (QueueConnectionFactory)context.lookup(queueConnectFactory);

        QueueConnection mConn = qcf.createQueueConnection();
        mConn.setExceptionListener(new SibQExceptionListener());
    
        QueueSession session = mConn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
}
但是,我仍然收到此错误:

SIBQ CWSIA0241E: An exception was received during the call to the method JmsManagedConnectionFactoryImpl.createConnection: com.ibm.websphere.sib.exception.SIResourceException: CWSIT0006E: It was not possible to contact any of the specified bootstrap servers. Please see the linked exception for further details. Bootstrap connections were attempted to: [git-lapp101:49013:BootstrapSecureMessaging]
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.generateException(TrmSICoreConnectionFactoryImpl.java:951)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.remoteBootstrap(TrmSICoreConnectionFactoryImpl.java:646)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.createConnection(TrmSICoreConnectionFactoryImpl.java:307)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.createConnection(TrmSICoreConnectionFactoryImpl.java:222)
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:711)
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:647)
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createConnection(JmsJcaConnectionFactoryImpl.java:376)
    at com.ibm.ws.sib.api.jms.impl.JmsManagedConnectionFactoryImpl.createConnection(JmsManagedConnectionFactoryImpl.java:165)
    at com.ibm.ws.sib.api.jms.impl.JmsQueueConnectionFactoryImpl.createQueueConnection(JmsQueueConnectionFactoryImpl.java:86)
    at com.ibm.ws.sib.api.jms.impl.JmsQueueConnectionFactoryImpl.createQueueConnection(JmsQueueConnectionFactoryImpl.java:75)
    at com.stee.gateway.sibq.SibQManager.connect(SibQManager.java:152)
    at com.stee.gateway.sibq.SibQManager.init(SibQManager.java:100)
    at com.stee.gateway.storm.spout.SibQSpout.nextTuple(SibQSpout.java:99)
    at backtype.storm.daemon.executor$fn__5638$fn__5653$fn__5684.invoke(executor.clj:610)
    at backtype.storm.util$async_loop$fn__545.invoke(util.clj:479)
    at clojure.lang.AFn.run(AFn.java:22)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.ibm.websphere.sib.exception.SIResourceException: CWSIT0007W: It is not possible to contact the bootstrap server at git-lapp101:49013:BootstrapSecureMessaging because of exception: com.ibm.websphere.sib.exception.SIErrorException: CWSIJ0064E: An internal error occurred..
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.contactBootstrapService(TrmSICoreConnectionFactoryImpl.java:761)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.remoteBootstrap(TrmSICoreConnectionFactoryImpl.java:589)
    ... 15 more
Caused by: com.ibm.websphere.sib.exception.SIErrorException: CWSIJ0064E: An internal error occurred.
    at com.ibm.ws.sib.jfapchannel.impl.octracker.OutboundConnectionTracker.connect(OutboundConnectionTracker.java:555)
    at com.ibm.ws.sib.jfapchannel.impl.ClientConnectionManagerImpl.connect(ClientConnectionManagerImpl.java:132)
    at com.ibm.ws.sib.comms.client.ClientSideConnection.connect(ClientSideConnection.java:234)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.contactBootstrapService(TrmSICoreConnectionFactoryImpl.java:691)
    ... 16 more
.
javax.jms.JMSException: CWSIA0241E: An exception was received during the call to the method JmsManagedConnectionFactoryImpl.createConnection: com.ibm.websphere.sib.exception.SIResourceException: CWSIT0006E: It was not possible to contact any of the specified bootstrap servers. Please see the linked exception for further details. Bootstrap connections were attempted to: [git-lapp101:49013:BootstrapSecureMessaging]
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.generateException(TrmSICoreConnectionFactoryImpl.java:951)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.remoteBootstrap(TrmSICoreConnectionFactoryImpl.java:646)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.createConnection(TrmSICoreConnectionFactoryImpl.java:307)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.createConnection(TrmSICoreConnectionFactoryImpl.java:222)
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:711)
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:647)
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createConnection(JmsJcaConnectionFactoryImpl.java:376)
    at com.ibm.ws.sib.api.jms.impl.JmsManagedConnectionFactoryImpl.createConnection(JmsManagedConnectionFactoryImpl.java:165)
    at com.ibm.ws.sib.api.jms.impl.JmsQueueConnectionFactoryImpl.createQueueConnection(JmsQueueConnectionFactoryImpl.java:86)
    at com.ibm.ws.sib.api.jms.impl.JmsQueueConnectionFactoryImpl.createQueueConnection(JmsQueueConnectionFactoryImpl.java:75)
    at com.stee.gateway.sibq.SibQManager.connect(SibQManager.java:152)
    at com.stee.gateway.sibq.SibQManager.init(SibQManager.java:100)
    at com.stee.gateway.storm.spout.SibQSpout.nextTuple(SibQSpout.java:99)
    at backtype.storm.daemon.executor$fn__5638$fn__5653$fn__5684.invoke(executor.clj:610)
    at backtype.storm.util$async_loop$fn__545.invoke(util.clj:479)
    at clojure.lang.AFn.run(AFn.java:22)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.ibm.websphere.sib.exception.SIResourceException: CWSIT0007W: It is not possible to contact the bootstrap server at git-lapp101:49013:BootstrapSecureMessaging because of exception: com.ibm.websphere.sib.exception.SIErrorException: CWSIJ0064E: An internal error occurred..
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.contactBootstrapService(TrmSICoreConnectionFactoryImpl.java:761)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.remoteBootstrap(TrmSICoreConnectionFactoryImpl.java:589)
    ... 15 more
Caused by: com.ibm.websphere.sib.exception.SIErrorException: CWSIJ0064E: An internal error occurred.
    at com.ibm.ws.sib.jfapchannel.impl.octracker.OutboundConnectionTracker.connect(OutboundConnectionTracker.java:555)
    at com.ibm.ws.sib.jfapchannel.impl.ClientConnectionManagerImpl.connect(ClientConnectionManagerImpl.java:132)
    at com.ibm.ws.sib.comms.client.ClientSideConnection.connect(ClientSideConnection.java:234)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.contactBootstrapService(TrmSICoreConnectionFactoryImpl.java:691)
    ... 16 more
.
    at com.ibm.ws.sib.api.jms.impl.JmsManagedConnectionFactoryImpl.createConnection(JmsManagedConnectionFactoryImpl.java:198) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jms.impl.JmsQueueConnectionFactoryImpl.createQueueConnection(JmsQueueConnectionFactoryImpl.java:86) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jms.impl.JmsQueueConnectionFactoryImpl.createQueueConnection(JmsQueueConnectionFactoryImpl.java:75) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.stee.gateway.sibq.SibQManager.connect(SibQManager.java:152) [stormjar.jar:?]
    at com.stee.gateway.sibq.SibQManager.init(SibQManager.java:100) [stormjar.jar:?]
    at com.stee.gateway.storm.spout.SibQSpout.nextTuple(SibQSpout.java:99) [stormjar.jar:?]
    at backtype.storm.daemon.executor$fn__5638$fn__5653$fn__5684.invoke(executor.clj:610) [storm-core-0.10.2.jar:0.10.2]
    at backtype.storm.util$async_loop$fn__545.invoke(util.clj:479) [storm-core-0.10.2.jar:0.10.2]
    at clojure.lang.AFn.run(AFn.java:22) [clojure-1.6.0.jar:?]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202]
Caused by: com.ibm.websphere.sib.exception.SIResourceException: CWSIT0006E: It was not possible to contact any of the specified bootstrap servers. Please see the linked exception for further details. Bootstrap connections were attempted to: [git-lapp101:49013:BootstrapSecureMessaging]
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.generateException(TrmSICoreConnectionFactoryImpl.java:951) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.remoteBootstrap(TrmSICoreConnectionFactoryImpl.java:646) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.createConnection(TrmSICoreConnectionFactoryImpl.java:307) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.createConnection(TrmSICoreConnectionFactoryImpl.java:222) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:711) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:647) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createConnection(JmsJcaConnectionFactoryImpl.java:376) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jms.impl.JmsManagedConnectionFactoryImpl.createConnection(JmsManagedConnectionFactoryImpl.java:165) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    ... 9 more
Caused by: com.ibm.websphere.sib.exception.SIResourceException: CWSIT0007W: It is not possible to contact the bootstrap server at git-lapp101:49013:BootstrapSecureMessaging because of exception: com.ibm.websphere.sib.exception.SIErrorException: CWSIJ0064E: An internal error occurred..
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.contactBootstrapService(TrmSICoreConnectionFactoryImpl.java:761) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.remoteBootstrap(TrmSICoreConnectionFactoryImpl.java:589) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.createConnection(TrmSICoreConnectionFactoryImpl.java:307) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.createConnection(TrmSICoreConnectionFactoryImpl.java:222) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:711) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:647) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createConnection(JmsJcaConnectionFactoryImpl.java:376) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jms.impl.JmsManagedConnectionFactoryImpl.createConnection(JmsManagedConnectionFactoryImpl.java:165) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    ... 9 more
Caused by: com.ibm.websphere.sib.exception.SIErrorException: CWSIJ0064E: An internal error occurred.
    at com.ibm.ws.sib.jfapchannel.impl.octracker.OutboundConnectionTracker.connect(OutboundConnectionTracker.java:555) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.jfapchannel.impl.ClientConnectionManagerImpl.connect(ClientConnectionManagerImpl.java:132) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.comms.client.ClientSideConnection.connect(ClientSideConnection.java:234) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.contactBootstrapService(TrmSICoreConnectionFactoryImpl.java:691) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.remoteBootstrap(TrmSICoreConnectionFactoryImpl.java:589) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.createConnection(TrmSICoreConnectionFactoryImpl.java:307) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl.createConnection(TrmSICoreConnectionFactoryImpl.java:222) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:711) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:647) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createConnection(JmsJcaConnectionFactoryImpl.java:376) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    at com.ibm.ws.sib.api.jms.impl.JmsManagedConnectionFactoryImpl.createConnection(JmsManagedConnectionFactoryImpl.java:165) ~[com.ibm.ws.sib.client.thin.jms_8.5.0.jar:WAS855.IM [cf111649.01]]
    ... 9 more
到目前为止,我已经尝试设置系统属性并创建了一个ssl.properties文件,而且因为我在java程序中使用了ApacheStorm,所以我还尝试在storm.yaml中的nimbus.childopts、supervisor.childopts、worker.childopts和topology.worker.childopts下设置属性,如下所示:

-Djavax.net.debug=ssl:handshake 
-Djavax.net.ssl.protocol=TLSv1.2 
-Dcom.ibm.CORBA.ConfigURL=file://home/user/ssl.properties 
-Dcom.ibm.SSL.ConfigURL=file://home/user/ssl.properties 
-Djavax.net.ssl.keyStore=/home/user/SwaKeystore.jks 
-Djavax.net.ssl.keyStorePassword=keystorepass
-Djavax.net.ssl.keyStoreType=JKS 
-Djavax.net.ssl.trustStore=/home/user/SwaTruststore.jks 
-Djavax.net.ssl.trustStorePassword=truststorepass
-Djavax.net.ssl.trustStoreType=JKS