我一直在研究WildFly 8的一些安全性主题,偶然发现了一些配置文档,这些文档没有很好地记录。 其中之一是新Web子系统Undertow的TLS / SSL配置。 有许多关于较旧的Web子系统的文档,并且确实仍然可以使用,但是这里是使用新方法进行配置的简短方法。

生成密钥库和自签名证书

第一步是生成证书。 在这种情况下,它将是一个自签名的,足以显示如何配置所有内容。 我将使用普通的Java方式,因此您所需要的只是JRE keytool。 Java Keytool是密钥和证书管理实用程序。 它允许用户管理自己的公钥/私钥对和证书。 它还允许用户缓存证书。 Java Keytool将密钥和证书存储在所谓的密钥库中。 默认情况下,Java密钥库被实现为文件。 它使用密码保护私钥。 Keytool密钥库包含私钥和完成信任链并建立主证书的可信赖性所需的任何证书。

请记住,SSL证书具有两个基本目的:分发公共密钥和验证服务器的身份,以便用户知道自己不会将信息发送到错误的服务器。 只有当服务器由受信任的第三方签名时,它才能正确验证服务器的身份。 自签名证书是由自身而非受信任的权威机构签名的证书。

切换到命令行并执行以下命令,该命令设置了一些默认值,并提示您输入更多信息。

$>keytool -genkey -alias mycert -keyalg RSA -sigalg MD5withRSA -keystore my.jks -storepass secret  -keypass secret -validity 9999What is your first and last name?[Unknown]:  localhost
What is the name of your organizational unit?[Unknown]:  myfear
What is the name of your organization?[Unknown]:  eisele.net
What is the name of your City or Locality?[Unknown]:  Grasbrun
What is the name of your State or Province?[Unknown]:  Bavaria
What is the two-letter country code for this unit?[Unknown]:  ME
Is CN=localhost, OU=myfear, O=eisele.net, L=Grasbrun, ST=Bavaria, C=ME correct?[no]:  yes

确保将所需的“主机名”放入“名字和姓氏”字段中,否则在某些浏览器中永久接受此证书作为例外时,您可能会遇到问题。 Chrome对此没有任何问题。

该命令在执行的文件夹中生成一个my.jks文件。 将此复制到您的WildFly配置目录(%JBOSS_HOME%/ standalone / config)。

配置其他WildFly安全领域

下一步是在standalone.xml的WildFly安全领域部分中,将新的密钥库配置为ssl的服务器身份(如果使用-ha或其他版本,请对其进行编辑)。

<management><security-realms>
<!-- ... --><security-realm name="UndertowRealm"><server-identities><ssl><keystore path="my.keystore" relative-to="jboss.server.config.dir" keystore-password="secret" alias="mycert" key-password="secret"/></ssl></server-identities></security-realm>
<!-- ... -->

您已准备好进行下一步。

为SSL配置Undertow子系统

如果您使用默认服务器运行,请将https-listener添加到undertow子系统:

<subsystem xmlns="urn:jboss:domain:undertow:1.2"><!-- ... --><server name="default-server"><!-- ... --><https-listener name="https" socket-binding="https" security-realm="UndertowRealm"/>
<! -- ... -->

就是这样,现在您可以连接到实例https:// localhost:8443 /的ssl端口了。 请注意,您会收到隐私错误(比较屏幕截图)。 如果需要使用完全签名的证书,则通常会从证书颁发机构获取PEM文件。 在这种情况下,您需要将其导入密钥库。 这个stackoverflow线程可能会帮助您。

翻译自: https://www.javacodegeeks.com/2015/01/ssl-with-wildfly-8-and-undertow.html

SSL与WildFly 8和Undertow相关推荐

  1. undertow ssl_SSL与WildFly 8和Undertow

    undertow ssl 我一直在研究WildFly 8的一些安全性主题,偶然发现了一些没有很好记录的配置选项. 其中之一是用于新的Web子系统Undertow的TLS / SSL配置. 有很多关于较 ...

  2. WildFly 10 CR 2发布– Java EE 7,Java 8,Hibernate 5,JavaScript支持热重载

    昨天,WildFly团队发布了最新版本的WildFly 10 . CR2很可能是预计于十月份发布最终版本之前的最后一个版本. 即使主要支持的Java EE规范是7,WildFly 8和WildFly ...

  3. java cr_WildFly 10 CR 2发布– Java EE 7,Java 8,Hibernate 5,JavaScript支持热重载

    java cr 昨天,WildFly团队发布了最新版本的WildFly 10 . CR2很可能是预计于十月份发布最终版本之前的最后一个版本. 即使主要支持的Java EE规范是7,WildFly 8和 ...

  4. jboss eap mysql_JBoss EAP 7概述

    规范 JBoss EAP 7基于以下规范构建: Java EE 7(JSR 342) Java SE 1.8 Java EE 7 specifications: Note: orange indica ...

  5. 快速启动Keycloak

    目录 下载启动包keycloak-15.0.2.zip 启动keycloak 创建admin用户 登录控制台 新建realm 新建用户 新建client 测试client登录 设置client为con ...

  6. wildfly_从WildFly 9(子系统)中运行OkHttpClient

    wildfly 几天前, WildFly 9发布了,可以肯定的重点之一是Undertow Web子系统中对HTTP / 2.0的支持. 随着Hawkular最近开始使用WildFly 9(从8.2开始 ...

  7. primefaces_使用WildFly 8.2.0.Final,Primefaces 5.1和MySQL 5的JDBC领域和基于表单的身份验证...

    primefaces 我会不时查看我博客上最受欢迎的内容,并尝试最好地满足您的需求. 因此,阅读我的博客是其他读者推动内容的一种方式. 另一种方法是通过评论或电子邮件与我联系. 今天,我将使用Prim ...

  8. 从WildFly 9(子系统)中运行OkHttpClient

    几天前, WildFly 9发布了,可以肯定的重点之一是Undertow Web子系统中对HTTP / 2.0的支持. 由于Hawkular最近已开始使用WildFly 9(从8.2开始)作为其基础服 ...

  9. 使用WildFly 8.2.0.Final,Primefaces 5.1和MySQL 5的JDBC领域和基于表单的身份验证

    我会不时查看我博客上最受欢迎的内容,并尽力满足您的最佳需求. 因此,阅读我的博客是其他读者推动内容的一种方式. 另一种方法是通过评论或电子邮件与我联系. 今天,我将使用Primefaces修改我的JD ...

最新文章

  1. 楼盘历史价格管理导入功能优化
  2. 25个让人惊叹的 HTML5 应用实验
  3. hibernate 复合主键 根据主键删除_6道常见的 Hibernate 面试题
  4. 10.19 qbxt国庆day3
  5. 计算机图标用鼠标双击和右键都无法启动,电脑桌面只有“我的电脑”图标双击找不开,用右键资源管理器能打开,为什么...
  6. dpkg命令_Linux 命令学习神器!命令看不懂直接给你解释!
  7. 上物理课还不够 张朝阳集结明星开启野雪挑战直播
  8. sql中截取字符串函数_SQL Server 2017中的顶级SQL字符串函数
  9. 游标sql server_了解游标并将其替换为SQL Server中的JOIN
  10. H3C SecPath U200-S 如何在内网使用外网IP地址访问内网服务器
  11. Git 与 Github 的使用 —— 下载单个图像或单个文件夹
  12. jenkins的邮件提醒
  13. mysql与nagios的结合使用
  14. AssetPostprocessor.OnPreprocessModel
  15. Java面试题全集(中)
  16. GAMES101-现代计算机图形学入门-闫令琪——Lecture 22 Animation Cont 学习笔记【完结】
  17. LiveZilla 详细 配置 设置 (四) 查看成果及总结
  18. 路由器分类2【按功能级别分】
  19. springboot打包-依赖包到单独文件夹并微缩原有jar包体积
  20. 《Python绝技:运用Python成为顶级黑客》python3实践记录

热门文章

  1. 2016经典微小说:《轮回》
  2. MySQL多对多创建表语句(防忘记)
  3. php公告滚动源码,10行js代码实现上下滚动公告效果方法
  4. junit 测试目录_JUnit 5测试中的临时目录
  5. 单元测试junit参数_使用Junit参数在更少的时间内编写更好的单元测试
  6. rest资源设计_REST资源何时应获得其自己的地址?
  7. java 示例_功能Java示例 第2部分–讲故事
  8. spring启动执行_执行器的Spring启动和安全性事件
  9. Neo4j:Cypher – Neo.ClientError.Statement.TypeError:不知道如何添加Double和String
  10. solr crud_Spring Data Solr教程:CRUD(差不多)