jboss ejb_使用JBoss AS 7进行SSL加密的EJB调用

jboss ejb

加密客户端和服务器之间的通信可为您的系统提供改进的安全性和隐私保护。 这可能是客户的一项重要要求,尤其是在客户端或服务器需要在不受保护的网络中工作时。

本文向您展示了如何在JBoss AS 7中设置SSL加密的EJB调用。

服务器

在服务器端只需完成两件事:

  1. 使用专用/公用密钥对创建密钥库以进行加密和
  2. 在服务器配置中引用密钥库。

无论是否加密,应用程序的源代码都保持不变。

创建密钥

Java提供了工具keytool ,我们将使用它来管理密钥库和创建​​私钥/公钥对。 下面的示例使用RSA算法创建一对1024位密钥,并将它们添加到密钥存储server.keystore中 。 如果密钥库不存在,则将创建它。

keytool -genkey -alias jboss -keyalg RSA -keysize 1024 -keystore server.keystore -validity 365 -keypass 123456 -storepass 123456 -dname "CN=localhost, O=thoughts-on-java.org"

我们将需要将此密钥存储提供给JBoss应用服务器。 因此,我更喜欢将其存储在JBoss配置目录中。 但是,只要JBoss服务器可以访问它,就可以将其存储在所需的任何位置。

服务器配置

现在,我们必须在JBoss配置中引用密钥库。 因此,我们在应用程序领域的安全领域配置中添加了一个服务器标识元素。

以下代码片段显示了使用标准ApplicationRealm配置和位于JBoss配置目录中的server.keystore文件的示例配置:

<management><security-realms><security-realm name="ManagementRealm"><authentication><properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/></authentication></security-realm><security-realm name="ApplicationRealm"><server-identities><ssl><keystore path="server.keystore" relative-to="jboss.server.config.dir" password="123456"/></ssl></server-identities><authentication><properties path="application-users.properties" relative-to="jboss.server.config.dir"/></authentication></security-realm></security-realms>...

这就是需要在服务器端完成的所有工作。

客户

在客户端,我们需要执行以下操作:

  1. 将服务器的公钥导入客户端密钥库,
  2. 在EJBClientProperties中定义SSL加密,并
  3. 提供带有公用密钥JVM参数的密钥存储区的位置和密码。

导入密钥

首先,我们需要导出添加到服务器密钥库中的密钥对的公钥。 也可以使用keytool来完成:

keytool -export -keystore server.keystore -alias jboss -file server.cer -keypass 123456 -storepass 123456

如果密钥库不存在,则将创建它。

好的,现在我们可以将密钥添加到客户端密钥库中:

keytool -import -trustcacerts -alias jboss -file server.cer -keystore client.keystore -keypass 123456 -storepass 123456

EJBClientProperties

EJBClientProperties中没有太大的区别。 需要将属性remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLEDremote.connection.default.connect.options.org.xnio.Options.SSL_STARTTLS设置为true 。 其余的保持不变。

以下代码段显示了到服务器的SSL加密连接的创建以及SLSB的查找。

// define EJB client properties
final Properties props = new Properties();
// define SSL encryption
props.put("remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED","true");
props.put("remote.connection.default.connect.options.org.xnio.Options.SSL_STARTTLS","true");
// connection properties
props.put("remote.connections", "default");
props.put("remote.connection.default.host", "localhost");
props.put("remote.connection.default.port", "4447");
// user credentials
props.put("remote.connection.default.username", "test");
props.put("remote.connection.default.password", "1234");props.put("remote.connection.default.connect.options.org.xnio.Options.SASL_DISALLOWED_MECHANISMS","JBOSS-LOCAL-USER");
props.put("remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT","false");
props.put("remote.connection.default.connect.options.org.jboss.remoting3.RemotingOptions.HEARTBEAT_INTERVAL","600000");// create EJB client configuration
final EJBClientConfiguration clientConfiguration = new PropertiesBasedEJBClientConfiguration(props);// create and set a context selector
final ContextSelector<EJBClientContext> contextSelector = new ConfigBasedEJBClientContextSelector(clientConfiguration);
EJBClientContext.setSelector(contextSelector);// create InitialContext
final Hashtable<Object, Object> contextProperties = new Hashtable<>();
ejbURLContextFactory.class.getName();
contextProperties.put(Context.URL_PKG_PREFIXES,"org.jboss.ejb.client.naming");
InitialContext initialContext = new InitialContext(contextProperties);// lookup SLSB
GreeterRemote greeter = (GreeterRemote) initialContext.lookup("ejb:/test/Greeter!blog.thoughts.on.java.ssl.remote.GreeterRemote");
Assert.assertEquals("Hello World!", greeter.greet("World"));

JVM参数

好的,现在我们快完成了。 唯一缺少的是对客户端密钥存储的引用。 可以使用JVM参数javax.net.ssl.trustStore作为位置,并使用javax.net.ssl.trustStorePassword作为密钥存储区的密码来完成,例如:

-Djavax.net.ssl.trustStore=src\test\resources\client.keystore -Djavax.net.ssl.trustStorePassword=123456

使用JBoss AS 7设置SSL加密的EJB调用需要完成所有这些工作。

故障排除

如果存在任何通信问题,则可以设置-Djavax.net.debug = true以启用调试消息。

结论

在本文中,我们研究了使用JBoss AS 7设置加密的EJB调用的配置和代码更改,这可以在几分钟内完成,并为您的通信提供了改进的安全性和隐私保护。

翻译自: https://www.javacodegeeks.com/2014/05/ssl-encrypted-ejb-calls-with-jboss-as-7.html

jboss ejb

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[渝粤教育] 江西财经大学 中国会计准则(全英文) 参考 资料

教育 -中国会计准则&#xff08;全英文&#xff09;-章节资料考试资料-江西财经大学【】 1.1 QUIZ 1、【单选题】Who issues Chinese accounting standards? A、Ministry of Finance B、IASB C、FASB D、SEC 参考资料【 】 2、【判断题】Accounting standards are the basic p…

反射选择器表达式

Java :: Geci是在单元测试期间运行的代码生成器。 如果生成的代码适合源代码的实际版本&#xff0c;则测试不会失败。 如果需要进行任何修改&#xff0c;则测试会修改源代码并失败。 例如&#xff0c;有一个新的字段需要一个setter和getter&#xff0c;然后访问器生成器将生成新…

光纤收发器不同品牌之间的兼容性互通

目前市面上的光纤收发器品牌跟厂家是愈来愈多&#xff0c;光纤收发器厂家和品牌大部分方案是百兆RTL8306E&#xff0c;IP113C&#xff0c;千兆高通8334&#xff0c;Marvell6122&#xff0c;这几个方案之间的兼容性都不错&#xff0c;可实现互联互通&#xff0c;传输稳定&#x…

[渝粤教育] 沈阳工业大学 模拟电子技术 参考 资料

教育 -模拟电子技术-章节资料考试资料-沈阳工业大学【】 第一周作业 第一周单元测验 1、【单选题】在本征半导体中加入&#xff08; &#xff09;元素可形成N型半导体。 A、五价 B、四价 C、三价 D、二价 参考资料【 】 2、【单选题】PN结加正向电压时&#xff0c;空间电荷区将…

[渝粤教育] 深圳信息职业技术学院 《新理念英语》English For You 参考 资料

教育 -《新理念英语》English For You-章节资料考试资料-深圳信息职业技术学院【】 Which is true about the introduction? 1、【多选题】Which of the following is true about the introduction? (多选) A、The employers we talked to told us that they valued employee…

光纤收发器在高清网络视频监控工程项目中的应用

光纤收发器是一种将以太网的电信号和光信号进行互换的以太网传输媒质转换设备&#xff0c;也被称之为光电转换器。而在网络上传输数据的光纤分为多模光纤和单模光纤。接下来我们就来看下什么是单模光纤收发器&#xff0c;什么是多模光纤收发器&#xff0c;了解下光纤收发器在高…

[渝粤教育] 潍坊职业学院 花卉栽培 参考 资料

教育 -花卉栽培-章节资料考试资料-潍坊职业学院【】 庭院常用花卉栽培技术—单元作业 庭院常用花卉栽培技术—单元测验 1、【单选题】属于二年生花卉的是&#xff08; &#xff09;。 A、万寿菊 B、波斯菊 C、百日菊 D、羽衣甘蓝 参考资料【 】 2、【单选题】在北方寒冷地区冬天…

[渝粤教育] 盐城师范学院 高等代数 参考 资料

教育 -高等代数-章节资料考试资料-盐城师范学院【】 5.1练习 1、【单选题】 A、 B、 C、 D、以上都不对 参考资料【 】 2、【单选题】 A、 B、 C、 D、 参考资料【 】 3、【单选题】 A、 B、 C、 D、 参考资料【 】 4、【单选题】设有矩阵A&#xff0c;与其合同的是 A、 B、 C、…

Java中的策略设计模式

策略设计模式是一种行为模式&#xff0c;其中我们有多种算法/策略来完成一项任务&#xff0c;所使用的算法/策略留给客户选择。 各种算法选项封装在单独的类中。 在本教程中&#xff0c;我们将学习在Java中实现策略设计模式。 UML表示形式&#xff1a; 首先&#xff0c;我们来…

光纤收发器怎么连?光纤收发器连接图解!

光纤收发器可以实现光信号和电信号的转换&#xff0c;通过光纤进行信号的转换&#xff0c;最后和一些设备连接&#xff0c;让你的传输通信畅通无阻。当我们远距离传输时&#xff0c;通常会使用光纤来传输。因为光纤的传输距离很远&#xff0c;一般来说单模光纤的传输距离在10千…

[渝粤教育] 莆田学院 电机与拖动基础(一) 参考 资料

教育 -电机与拖动基础&#xff08;一&#xff09;-章节资料考试资料-莆田学院【】 绪论节测试 1、【单选题】电机的基本原理就是基于&#xff08; &#xff09;&#xff0c;实现机电能量转换。 A、牛顿三大定律 B、电磁感应 C、质量守恒 D、洛伦兹力定律 参考资料【 】 2、【单…

光纤收发器的六个指示灯代表是什么意思?

对光纤收发器这块了解的朋友应该知道&#xff0c;光纤收发器有6个LED指示灯&#xff0c;它们分别显示了收发器的工作状态&#xff0c;根据LED所示&#xff0c;我们就能判断出收发器是否工作正常和可能有什么问题&#xff0c;从而能帮助找出故障。那么&#xff0c;光纤收发器的六…

[渝粤教育] 西北工业大学 模拟电子技术基础 参考 资料

教育 -模拟电子技术基础-章节资料考试资料-西北工业大学【】 常用半导体器件原理 1、【单选题】N型半导体是在纯净半导体中掺入____&#xff1b; A、带正电的离子 B、三价元素&#xff0c;如硼等 C、五价元素&#xff0c;如磷等 D、带负电的电子 参考资料【 】 2、【单选题】用…

[渝粤教育] 西南交通大学 大学生的智慧篮球 参考 资料

教育 -大学生的智慧篮球-章节资料考试资料-西南交通大学【】 篮球脚步移动技术章节测试 1、【单选题】移动技术的优劣在一定程度上反映了一名篮球运动员的技术水平&#xff0c;移动技术的核心是对&#xff08; &#xff09;的控制和对身体平衡的维持。 A、身体素质 B、身体重心…

光纤收发器注意事项

光纤收发器的产品种类有很多种&#xff0c;每一种所对应的的端口&#xff0c;光纤接头也是有所不同的&#xff0c;我们在实际实际使用中大多注意的是按光纤接头不同而区分的类别&#xff1a;SC接头光纤收发器和FC/ST接头光纤收发器。那么&#xff0c;我们平时在使用光纤收发器的…

[渝粤教育] 西南石油大学 数据库原理及应用 参考 资料

教育 -数据库原理及应用-章节资料考试资料-西南石油大学【】 SPOC—第1章 单元测验 1、【单选题】DB、DBMS和DBS三者之间的关系是&#xff08; &#xff09;。 A、DB包括DBMS和DBS B、DBS包括DB和DBMS C、DBMS包括DB和DBS D、不能相互包括 参考资料【 】 2、【单选题】数据库的…

activemq网络桥接_ActiveMQ –经纪人网络解释

activemq网络桥接目的 这个由7部分组成的博客系列将分享有关如何创建ActiveMQ代理网络以实现高可用性和可伸缩性的信息。 为什么要建立经纪人网络&#xff1f; ActiveMQ消息代理是企业中消息传递基础结构的核心组件。 它需要高度可用并且可以动态伸缩&#xff0c;以促进具有不…

[渝粤教育] 西安交通大学 土力学 参考 资料

教育 -土力学-章节资料考试资料-西安交通大学【】 作业题 章测题 1、【多选题】下列哪些工程问题与岩土工程密切相关&#xff08;&#xff09; A、基坑开挖 B、公路路基 C、浇筑楼层 D、钢结构设计 参考资料【 】 2、【判断题】通常把在土木工程建设中涉及岩石、土、地下水中的…

迷你型MINI光纤收发器的优势有哪些?

现如今&#xff0c;在互联网盛行的今天&#xff0c;我们平时所使用的网络都离不开收发器的作用&#xff0c;收发器有很多种&#xff0c;随着对网络容量的需求急剧增大&#xff0c;收发器由POE收发器衍生出非网管型、网管型以及迷你型等光纤收发器&#xff0c;接下来飞畅科技的小…

[渝粤教育] 西安理工大学 人工智能导论 参考 资料

教育 -人工智能导论-章节资料考试资料-西安理工大学【】 第一讲 人工智能概述单元测试 1、【单选题】人工智能中通常把&#xff08; &#xff09;作为衡量机器智能的准则。 A、图灵机 B、图灵测试 C、中文屋思想实验 D、人类智能 参考资料【 】 2、【单选题】人工智能的目的是让…