1

我不想将 EJBCA 与 Wildfly (JBoss) 应用程序服务器一起用作 PKI 基础架构。

我可以访问

http://127.0.0.1:8080/ejbca/

https://127.0.0.1:8442/ejbca/

但不是

https://127.0.0.1:8443/ejbca/adminweb/

然后我将使用 Firefox:

加载时与 127.0.0.1:8443 的连接中断

使用wireshark,我可以看到应用服务器的FIN ACK。

我正在使用带有 Java 的 Ubuntu 16.04.2 LTS AMD64 虚拟机

java -version
openjdk version “1.8.0_131”
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-0ubuntu1.16.04.2-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

并使用 EJBCA ejbca_ce_6_5.0.5.zip

和 Wildfly (JBoss) 应用服务器 wildfly-10.0.0.Final.zip

除了上面提到的 GUI 中的管理访问之外,MariaDB 似乎运行良好。

配置与我在 EJBCA 安装页面上找到的类似。看来,端口 8443 的部分配置不正确。你有什么提示让我为我的问题找到解决方案吗?

问候

德尔尼

有关配置详细信息,请查看以下几行:

----------------------- 开始配置 -----------

解压后配置 MariaDB 为用户 ejbca 配置以下文件

设置密钥库密码

$EJBCA_HOME /conf/cesecore.properties

设置数据库属性(数据库名称、数据库 url、数据库驱动程序、数据库用户名和数据库密码)

$EJBCA_HOME /conf/database.properties

设置 cms 密钥库密码和应用服务器主页

$EJBCA_HOME /conf/ejbca.properties

保留所有设置...

$EJBCA_HOME /conf/install.properties

添加了管理用户

cd /home/ejbca/wildfly-10.0.0.Final/bin/
./add-user.sh

启动 Wildfly 应用服务器

--- 添加数据源 ---

打开调用级接口

/home/ejbca/wildfly-10.0.0.Final/bin/jboss-cli.sh -c

输入命令

data-source add --name=ejbcads --driver-name="mariadb-java-client-1.2.0.jar" --connection-url="jdbc:mysql://127.0.0.1:3306/ejbca" --jndi-name="java:/EjbcaDS" --use-ccm=true --driver-class="org.mariadb.jdbc.Driver" --user-name="ejbca" --password="ejbca" --validate-on-match=true --background-validation=false --prepared-statements-cache-size=50 --share-prepared-statements=true --min-pool-size=5 --max-pool-size=150 --pool-prefill=true --transaction-isolation=TRANSACTION_READ_COMMITTED --check-valid-connection-sql="select 1;"
:reload

--- 配置 WildFly 远程处理 ---

/subsystem=remoting/http-connector=http-remoting-connector:remove
/subsystem=remoting/http-connector=http-remoting-connector:add(connector-ref="remoting",security-realm="ApplicationRealm")
/socket-binding-group=standard-sockets/socket-binding=remoting:add(port="4447")
/subsystem=undertow/server=default-server/http-listener=remoting:add(socket-binding=remoting)
:reload

--- 配置日志记录 ---

/subsystem=logging/logger=org.ejbca:add
/subsystem=logging/logger=org.ejbca:write-attribute(name=level, value=DEBUG)
/subsystem=logging/logger=org.cesecore:add
/subsystem=logging/logger=org.cesecore:write-attribute(name=level, value=DEBUG)
:reload

--- 删除现有的 TLS 和 HTTP 配置 ---

/subsystem=undertow/server=default-server/http-listener=default:remove
/subsystem=undertow/server=default-server/https-listener=https:remove
/socket-binding-group=standard-sockets/socket-binding=http:remove
/socket-binding-group=standard-sockets/socket-binding=https:remove
:reload

退出 CLI shell

重新启动wildfly应用服务器

--- 部署 EJBCA ---

ant clean deployear

--- 运行安装 ---

ant runinstall

--- 将 TLS 密钥库部署到 WildFly ---

ant deploy-keystore

在 CLI 外壳中

/interface=http:add(inet-address="0.0.0.0")
/interface=httpspub:add(inet-address="0.0.0.0")
/interface=httpspriv:add(inet-address="0.0.0.0")
/socket-binding-group=standard-sockets/socket-binding=http:add(port="8080",interface="http")
/subsystem=undertow/server=default-server/http-listener=http:add(socket-binding=http)
/subsystem=undertow/server=default-server/http-listener=http:write-attribute(name=redirect-socket, value="httpspriv")
:reload

等待重新加载完成配置身份和套接字绑定:

/core-service=management/security-realm=SSLRealm:add()
/core-service=management/security-realm=SSLRealm/server-identity=ssl:add(keystore-path="${jboss.server.config.dir}/keystore/keystore.jks", keystore-password="serverpwd", alias="localhost")
/core-service=management/security-realm=SSLRealm/authentication=truststore:add(keystore-path="${jboss.server.config.dir}/keystore/truststore.jks", keystore-password="changeit")
/socket-binding-group=standard-sockets/socket-binding=httpspriv:add(port="8443",interface="httpspriv")
/socket-binding-group=standard-sockets/socket-binding=httpspub:add(port="8442", interface="httpspub")

完全重启应用服务器,然后

/subsystem=undertow/server=default-server/https-listener=httpspriv:add(socket-binding=httpspriv, security-realm="SSLRealm", verify-client=REQUIRED)
/subsystem=undertow/server=default-server/https-listener=httpspub:add(socket-binding=httpspub, security-realm="SSLRealm")
:reload

--- 完成 Wildfly 配置 ---

/system-property=org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH:add(value=true)
/system-property=org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH:add(value=true)
/system-property=org.apache.catalina.connector.URI_ENCODING:add(value="UTF-8")
/system-property=org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING:add(value=true)
/subsystem=webservices:write-attribute(name=wsdl-host, value=jbossws.undefined.host)
/subsystem=webservices:write-attribute(name=modify-wsdl-address, value=true)
:reload

----------------------- 结束配置 -----------

4

1 回答 1

0

我知道这是旧的,但我敢打赌你没有在 web.properties 中设置主机名。您需要设置 httpsserver.hostname=myejbcaservername(默认为 localhost)。

另外,尝试使用 FireFox。它有自己的证书存储(独立于操作系统证书存储)并且在管理 PKI 时工作得更好。

此外,如果您确实安装了超级管理员证书,请重新启动浏览器。如果您点击取消或完成某些操作,它通常不会重新协商,直到您使用私人浏览窗口或重新启动浏览器。

于 2021-06-29T20:09:12.980 回答