User development, A new message was posted in the thread "Possible to define client truststore on server when using sslsocket transport?":
http://community.jboss.org/message/528080#528080 Author : Ben Schofield Profile : http://community.jboss.org/people/dbschofield Message: -------------------------------------------------------------- I am using JBoss Remoting 2.5.2 with JBoss EAP 5.0. When using the sslsocket transport, is it possible to configure the location of the truststore used by the remoting client during the ssl handshake? From what I have demonstrated to myself already the client will use the cacerts file or the truststore specified by the system property javax.net.ssl.trustStore. Instead of using either of these truststores I would like to define on the server side which truststore (and truststore password) the client should use. Is this possible? I have configured both the socketFactory and serverSocketFactory properties of the Connector (xml bean configuration below). I anticipated that the client would honor the socketFacotory setting but this doesn't seem to be the case. Did some research and found the following in the remoting guide pdf. 5.7.4. Client side configuration from the JBoss Application Server As described in sections Declarative configuration: MBeans and Declarative configuration: POJOs, the declarative xml files used by the Application Server can be used to configure the client by way of the parameters included in the InvokerLocator. However, a peculiarity in the way socket factories are created on the client restricts the parameters taken into consideration to those passed in the configuration map passed to the org.jboss.remoting.Client constructor. The following two parameters, introduced in releases 2.4.0.SP1 and 2.5.2, respectively, eliminate that restriction. org.jboss.remoting.Remoting.SOCKET_FACTORY_NAME (actual value is 'socketFactory') - key for giving the name of the socket factory class to be used by clients. org.jboss.remoting.Remoting.USE_ALL_SOCKET_FACTORY_PARAMS (actual value is 'useAllSocketFactoryParams') - key for indicating that all socket factory parameters in the InvokerLocator should be used by clients. Note that the parameter org.jboss.remoting.Remoting.CONFIG_OVERRIDES_LOCATOR (actual value "configOverridesLocator"), described in section org.jboss.remoting.Remoting, is also relevant. I am not 100% these settings are what I need but would like to try them out. Unfortunately I am not sure how to set these in a JBoss MicroContainer bean xml file. Any insight on how to do this would be appreciated. <deployment xmlns="urn:jboss:bean-deployer:2.0"> <!-- We don't want the AOPDependencyBuilder --> <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation> <!-- JBoss Remoting Connector Note: Bean Name "org.jboss.ejb3.RemotingConnector" is used as a lookup value; alter only after checking java references to this key. --> <bean name="org.jboss.ejb3.RemotingConnector" class="org.jboss.remoting.transport.Connector"> <property name="invokerLocator"> <value-factory bean="ServiceBindingManager" method="getStringBinding"> <parameter> jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3 </parameter> <parameter> <null /> </parameter> <parameter>sslsocket://${jboss.bind.address}:${port}</parameter> <parameter> <null /> </parameter> <parameter>3873</parameter> </value-factory> </property> <property name="serverConfiguration"> <inject bean="ServerConfiguration" /> </property> <property name="serverSocketFactory"> <inject bean="sslServerSocketFactory" /> </property> <property name="socketFactory"> <inject bean="sslSocketFactory" /> </property> </bean> <bean name="sslServerSocketFactory" class="org.jboss.security.ssl.DomainServerSocketFactory"> <constructor> <!-- defines the keystore to use --> <parameter><inject bean="jboss.security:service=JAAS-Security-Domain"/></parameter> </constructor> </bean> <bean name="sslSocketFactory" class="org.jboss.security.ssl.DomainSocketFactory"> <constructor> <!-- hopefully defines the truststore configured in the injected JaasSecurityDomain to be used by the client --> <parameter><inject bean="jboss.security:service=JAAS-Security-Domain"/></parameter> </constructor> </bean> <!-- Remoting Server Configuration --> <bean name="ServerConfiguration" class="org.jboss.remoting.ServerConfiguration"> <property name="invocationHandlers"> <map keyClass="java.lang.String" valueClass="java.lang.String"> <entry> <key>AOP</key> <value> org.jboss.aspects.remoting.AOPRemotingInvocationHandler </value> </entry> </map> </property> </bean> </deployment> -------------------------------------------------------------- To reply to this message visit the message page: http://community.jboss.org/message/528080#528080
_______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user