0

我有一个有效的远程部署到 JBOSS AS 7.1。但是,我想使用 ssl 发送这些部署。当我添加标识 ssl 信息的服务器身份标签时,我的 jboss 实例将不会收到部署。

<server-identities>
  <ssl>
    <keystore path="xxx/yyy/zzz.jks" password="myFakePassword"/>
  </ssl>
</server-identities>

删除上述内容将允许我进行远程部署,但它不会使用 ssl(我的问题)。

访问管理控制台需要上述身份,所以我知道它可以工作。

这是我的插件配置:

<plugin>
    <groupId>org.jboss.as.plugins</groupId>
    <artifactId>jboss-as-maven-plugin</artifactId>
    <version>7.3.Final</version>
    <configuration>
       <force>true</force>
        <hostname>domain.com</hostname>
        <port>9119</port> <!-- not the real port -->
        <username>myFakeUsername</username>
        <password>myFakePassword</password>
        <filename>deployable.war</filename>
     </configuration>
     <executions>
        <execution>
        <phase>install</phase>
        <goals>
          <goal>deploy</goal>
        </goals>
        </execution>
     </executions>
</plugin>

我从部署客户端得到的错误是:

[错误] }'。java.net.ConnectException:JBAS012174:无法连接到远程://domain.com:9119。连接失败:一般 SSLEngine 问题:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

我在服务器日志上得到的错误是:

错误 [org.jboss.remoting.remote.connection] (Remoting "domain.com:MANAGEMENT" read-1) JBREM000200: Remote connection failed: javax.net.ssl.SSLException: Received fatal alert: certificate_unknown

其他相关信息:

证书是自签名的。该证书适用于对管理控制台和托管在 jboss 上的 Web 应用程序的 https 请求。当通过浏览器访问管理控制台时,证书使用上述身份。

任何帮助将不胜感激。

先感谢您。

4

1 回答 1

1

我遇到了这个确切的问题,并通过创建一个信任库,将我的证书添加到它,然后在调用 Maven 部署命令时将该信任库作为 JVM 参数传递来解决它。

  1. 创建信任库:

    keytool -import -file path/to/your/certificate.cert -alias -keystore path/to/myTrustStore

  2. 使用该信任库作为 JVM 参数发出命令:

    mvn jboss-as:deploy -Djavax.net.ssl.trustStore=path/to/myTrustStore

于 2013-05-02T19:14:25.967 回答