- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 JBoss Fuse 服务器的新手。我们使用的 Fuse 服务器版本是 7.2。根据${karaf.home}/etc
位置的undertow.xml
文件,我们目前支持TLSv1
,TLSv1.1
和 TLSv1.2
。要求也添加更高版本(在本例中为 TLSv1.3
)。我想检查先决条件和可行性。
此外,我无法确定 Fuse 7.2 是否支持 TLSv1.3
。
我们正在使用 Java 8。
非常感谢任何可以引导我这样做的信息/方向。
最佳答案
可以查看安全指南at this location .
首先,您必须启用安全监听器。你在两个文件中完成:
etc/org.ops4j.pax.web.cfg
,您需要两个新属性(根据 OSGi CMPN Http Service specification ):
org.osgi.service.http.port.secure = 8443
org.osgi.service.http.secure.enabled = true
您当然需要一个 keystore /信任库(可以相同或分开)。例如,将其复制到 etc/server.keystore
。
最后,您需要更改 etc/undertow.xml
。
<https-listener name="https" socket-binding="https"
security-realm="https" verify-client="NOT_REQUESTED" />
<w:keystore path="${karaf.etc}/server.keystore" provider="JKS" alias="server"
keystore-password="secret" key-password="secret"
<w:truststore path="${karaf.etc}/server.truststore" provider="JKS"
keystore-password="secret" />
安全
接口(interface)未被注释:<interface name="secure">
<w:inet-address value="0.0.0.0" />
</interface>
<socket-binding name="https" interface="secure"
port="${org.osgi.service.http.port.secure}" />
现在,当您重新启动 Fuse 7.2 时,您将在端口 8443 上拥有安全的监听器。
但是还有一件事。 Undertow TLS 引擎配置为(默认情况下):
<w:engine
enabled-cipher-suites="TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"
enabled-protocols="TLSv1 TLSv1.1 TLSv1.2" />
但是,TLS_ECDHE_* 套件对于 TLS 1.2 来说很强大,并且某些客户端(浏览器)不一定支持(组合)。您已经可以连接到这样的 Fuse 实例,例如:
$ openssl s_client -connect 127.0.0.1:8443 -debug -tls1_2 -ciphersuites TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
CONNECTED(00000003)
...
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 1691 bytes and written 386 bytes
Verification error: unable to verify the first certificate
---
New, TLSv1.2, Cipher is ECDHE-RSA-AES256-SHA384
Server public key is 2048 bit
...
您现在不能使用 TLS 1.3:
$ openssl s_client -connect 127.0.0.1:8443 -tls1_3 -debug
CONNECTED(00000003)
write to 0x562ac4785740 [0x562ac479cb90] (215 bytes => 215 (0xD7))
0000 - 16 03 01 00 d2 01 00 00-ce 03 03 12 4c a3 cb de ............L...
0010 - 46 95 45 07 5b 86 05 d0-69 20 3c e2 70 9f 0f 99 F.E.[...i <.p...
...
New, (NONE), Cipher is (NONE)
...
首先,您必须更改引擎中启用的协议(protocol)(etc/undertow.xml
):
enabled-protocols="TLSv1.3"
但是如果你添加(到etc/system.properties
):
javax.net.debug=all
你会看到类似的东西:
javax.net.ssl|FINE|6F|XNIO-4 I/O-8|2021-03-17 07:46:46.011 CET|Logger.java:765|Ignore unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 for TLS13
javax.net.ssl|FINE|6F|XNIO-4 I/O-8|2021-03-17 07:46:46.011 CET|Logger.java:765|Ignore unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 for TLS13
看来剩下的事情就是为 TLS 1.3 找到合适的密码套件。其中一个套件是 TLS_AES_256_GCM_SHA384
,因此如果您使用:
enabled-cipher-suites="TLS_AES_256_GCM_SHA384"
您将成功连接 - 使用浏览器和 openssl:
$ openssl s_client -connect 127.0.0.1:8443 -tls1_3 -ciphersuites TLS_AES_256_GCM_SHA384
CONNECTED(00000003)
...
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 1906 bytes and written 640 bytes
Verification error: unable to verify the first certificate
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
...
Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_256_GCM_SHA384
...
还有一件事。您必须使用支持 TLS 1.3 的 JDK 8,即:
关于java-8 - 更新 Fuse 以获得 TLS v1.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66667278/
我想用 FUSE 实现一个文件系统。当请求目录的内容时,只有该目录中的文件类型将被报告为子目录。比如目录下有ugur.PDF、guler.JPG、devatate.PNG文件,则不会报文件本身,而是报
在执行 xxx_readdir()在 fuse ,我使用以下代码: static int hello_readdir(const char *path, void *buf, fuse_fill_di
我正在尝试安装 fuse-python 包,当我运行时 python setup.py build 它失败了,当我检查 setup.py 的内容时,我发现了这一行 if os.system('pkg-
我正在尝试使用sshfs挂载远程文件系统。我在网上可以找到的所有指南都说我需要将自己添加到 fuse 组中,但是当我运行时 sudo gpasswd -a $USER fuse 我懂了 gpasswd
是否有可能获得 struct fuse_file_info* fi在函数 truncate() 中?为什么它一开始不存在? int truncate(const char* path, off_t s
Fuse ESB 似乎已被 Red Hat 收购,现在将作为 JBoss Fuse 提供。 假设它们本质上是相同的技术,加上或减去一些改进,是否正确? 我发现两者都是开源的,并且构建在相同的技术堆栈上
似乎 Fuse ESB 已被 Red Hat 收购,现在将作为 JBoss Fuse 提供。 假设它们本质上是相同的技术,加上或减去一些改进是否正确? 我看到两者都是开源的并且构建在相同的技术栈上,所
“Jboss Fuse”和“Red Hat JBoss Fuse”有什么区别 它们是一样的吗?两者都来自 Red Hat ,都基于 Jboss ,并且两个链接都来自 2016 年。你能帮忙吗? 最佳答
我正致力于在 Linux 中开发文件系统过滤器驱动程序类型的功能。我正在尝试探索和使用 http://sourceforge.net/projects/fuse-j/?source=typ_redir
我有两个旨在协同工作的链式 FUSE 文件系统,它们都以 root 身份运行:进程 P 尝试首先通过 FS1 访问文件 F; FS1 看向 FS2。现在 FS2 需要获取 P(而不是 FS1)的上下文
我想使用 mhddfs 将 /dev/sda2 与 /dev/sdb3 结合起来,但不能 我已经安装了 fuse 和其他但可以不是。如何帮助请帮助这是我的命令: [root@ns540490 ~]#
我正在尝试在我的 Docker 容器上安装 s3fs-fuse。到目前为止,这是我的 Dockerfile。 FROM centos:centos6 RUN yum -y update; yum
我已经在 datalab 机器上安装了 gcsfuse。 创建了一个目标机器并使用 chmod 来允许所有的写入权限 调用: !gcsfuse --foreground --debug_fuse ar
按照位于以下位置的说明后,我无法启动并运行 activemq-web-console: http://activemq.apache.org/osgi-integration.html 或者此主题:
我刚刚在用户空间中遇到了一个 VFS 和一个文件系统,例如 FUSE . 现在,据我了解,它模拟了一个文件系统,以便应用程序可以拥有标准的文件系统层次结构。但我不明白,为什么我们需要一个单独的文件系统
我使用 sshfs 挂载远程文件系统。如果 ssh 连接超时,可能会导致其他应用程序挂起(例如,仅打开本地文件的 vim session )。系统恢复大约需要 10 分钟。即使我以只读方式挂载远程文件
我需要知道 Jboss Fuse 和 Switchyard 有什么区别。 Switchyard 网站称它将取代 Jboss ESB。这带来了一个问题,FUSE 和 Switchyard 之间有什么区别
我有许多指针指向内存中不同(或相同)的位置。我想实现一种机制,允许我们“融合”给定指针子集所指向的位置。 我现在使用的是 perl 5.6.1,但我愿意接受其他语言的实现。我在 perl 中想出了以下
我正在开发一个将数据存储在 RAM 中的 fuse 文件系统,但是当我向文件写入内容时遇到了问题。该文件变成一个空白文件。 代码如下: #define FUSE_USE_VERSION 26 #inc
我正在尝试在 JBoss Fuse 中部署 Camel 服务,但是当我输入“start (bundleId)”时,出现以下错误 Error executing command: Error start
我是一名优秀的程序员,十分优秀!