`
steeven
  • 浏览: 316695 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JBoss EJB 3.0 第十章:传输通信加密

阅读更多
JBoss EJB3.0 RC6 -PFD
http://www.jboss.org/jbossejb3/docs/reference/build/reference/en/html/index.html

10 传输
这张解释了客户端怎样和EJB3容器之间通讯, 怎样设置替换的传输方式。传输方式基于JBoss Remoting, 更深层次的例子请参见其文档。

10.1 缺省传输
基于socket的调用层,端口3878. 参见deploy/ejb3.deployer/META-INF/jboss-service.xml。实用设置:
   <mbean code="org.jboss.remoting.transport.Connector"
          xmbean-dd="org/jboss/remoting/transport/Connector.xml"
          name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3">
      <depends>jboss.aop:service=AspectDeployer</depends>
      <attribute name="InvokerLocator">socket://0.0.0.0:3873</attribute>
      <attribute name="Configuration">
         <handlers>
            <handler subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler>
         </handlers>
      </attribute>
   </mbean>

InvokerLocator决定了协议、IP和端口。0.0.0.0表示所有网卡。

Configuration属性指定到了EJB容器的入口: AOPRemotingInvocationHandler.

10.2 加密传输
有时候 你可能希望SSL来加密传输(太需要了)。先生成个keystore吧

10.2.1 生成keystore和 truststore
先 来个公钥私钥对:
cd $JBOSS_HOME/server/default/conf/
keytool -genkey -alias ejb3-ssl -keypass opensource -keystore localhost.keystore
别名ejb3-ssl, 密码opensource, 文件名localhost.keystore

导出证书:
keytool -export -alias ejb3-ssl -file mycert.cer -keystore localhost.keystore

给客户端导入:
keytool -import -alias ejb3-ssl -file mycert.cer -keystore localhost.truststore

10.2.2 设置SSL传输
最简单的方法是定义一个新的Remoting connector:
   <mbean code="org.jboss.remoting.transport.Connector"
      xmbean-dd="org/jboss/remoting/transport/Connector.xml"
      name="jboss.remoting:type=Connector,transport=socket3843,handler=ejb3">
      <depends>jboss.aop:service=AspectDeployer</depends>
      <attribute name="InvokerLocator">sslsocket://0.0.0.0:3843</attribute>
      <attribute name="Configuration">
         <handlers>
            <handler subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler>
         </handlers>
      </attribute>
   </mbean>


keystore和密码系统Properties传入jboss:
run -Djavax.net.ssl.keyStore=../server/default/conf/localhost.keystore -Djavax.net.ssl.keyStorePassword=opensource

10.2.3 配置EJB实用SSL
缺省连接时socket://0.0.0.0:3873. 使用@org.jboss.annotation.ejb.RemoteBinding来指定SSL:
   @RemoteBinding(clientBindUrl="sslsocket://0.0.0.0:3843", jndiBinding="StatefulSSL"),
   @Remote(BusinessInterface.class)
   public class StatefulBean implements BusinessInterface
   {
      ...
   }

还能指定不同的通讯方式:
   @RemoteBindings({
      @RemoteBinding(clientBindUrl="sslsocket://0.0.0.0:3843", jndiBinding="StatefulSSL"),
      @RemoteBinding(jndiBinding="StatefulNormal")
   })
   @Remote(BusinessInterface.class)
   public class StatefulBean implements BusinessInterface
   {
      ...
   }


10.2.4 设定客户端实用truststore
如果你的证书不是授信机构签名的, 你需要用System Properties来制定store和密码:
java -Djavax.net.ssl.trustStore=${resources}/test/ssl/localhost.truststore -Djavax.net.ssl.trustStorePassword=opensource com.acme.RunClient
分享到:
评论

相关推荐

    JBoss EJB3.0实例教程

    **JBoss EJB3.0实例教程** JBoss EJB3.0实例教程是一本针对企业级Java开发者的宝贵资源,特别适合初学者入门。EJB(Enterprise JavaBeans)是JavaEE(Java Platform, Enterprise Edition)平台的核心组件之一,它为...

    jboss EJB3.0实例教程

    1. **注解驱动**:EJB3.0大量使用了Java注解(Annotation),如`@Entity`, `@Stateless`, `@PersistenceContext`等,使得开发者无需编写大量的XML配置文件,代码更简洁。 2. **持久化框架**:EJB3.0引入了JPA(Java...

    JBoss EJB 3.0 Tutorial

    JBoss EJB 3.0 Tutorial

    jboss EJB 3.0 实例教程

    jboss EJB 3.0 实例教程 (黎活明 著) (pdf书籍) 及 (代码).......

    EJB3.0+JBOSS+MyEclipse初体验(完整代码和过程)

    在"**EJB3.0+JBOSS+MyEclipse初体验(完整代码和过程).txt**"文件中,你将找到一个完整的示例,涵盖了上述所有步骤,包括具体的代码片段和执行过程,这对于初学者来说是一个很好的起点,可以快速理解并实践EJB 3.0在...

    Jboss 7 + EJB 3.0 + Eclipse环境配置

    Jboss 7 + EJB 3.0 + Eclipse环境配置

    JBoss下EJB3.0实例教程(黎活明)

    - 配置EJB3.0:在JBoss中,EJB3.0的部署通常只需要提供包含bean的jar文件,无需额外的XML部署描述符。 3. EJB3.0类型: - 无状态会话bean(@Stateless):不保留任何客户会话信息,适用于执行单次业务操作。 - ...

    ejb3.0入门图文教程

    EJB 3.0是EJB规范的一个重大改革,它极大地简化了EJB的开发过程,使得Java开发者能够更加容易地利用EJB的强大功能。本教程将深入讲解EJB 3.0的基础知识,帮助初学者快速入门。 首先,我们来看《EJB3.0开发Entity....

    ejb3.0+Weblogic+Jboss安装配置及入门例子

    1. 注解驱动:EJB3.0引入了注解,如`@Entity`, `@Stateless`, `@Stateful`, `@MessageDriven`等,使得开发者可以直接在类或方法上声明其角色,减少了XML配置文件的使用。 2. 持久化:通过`@Entity`注解,EJB3.0提供...

    (sshproject)tomcat调用jboss上的ejb3.0

    在本项目中,SSHLibrary可能是提供与Jboss EJB 3.0通信的组件,但由于文件列表中未包含此库的下载链接,我们将假设你已经有了所需的SSH配置和Jboss 5.0的客户端包。 1. **配置Tomcat集成Jboss**: - 首先,你需要...

    JBOSS7+EJB3.0

    3. **依赖注入(Dependency Injection, DI)**:EJB3.0通过CDI(Contexts and Dependency Injection)提供依赖注入,允许组件自动获取所需的服务或对象,减少了代码间的耦合。 4. **JPA与实体管理**:通过`@Entity`...

    EJB3.0__EJB3.0

    - **JBoss应用服务器**:EJB3.0需要JBoss4.0或更高版本作为运行环境。 - **Java EE版本**:至少需要Java EE5.0或更高版本来支持EJB3.0规范。 - **开发工具集成**:配置JBoss到IDE(如Eclipse)中,便于开发和调试。 ...

    ejb 3.0 jar 包 很全 part2

    在EJB 3.0中,它可能用于保护敏感数据的传输和存储,确保企业应用的安全性。 这些JAR文件共同构成了EJB 3.0开发和运行环境的基础,涵盖了从Web服务到日志记录,再到数据持久化和安全管理的各个方面。通过这些库,...

Global site tag (gtag.js) - Google Analytics