2013-04-11 106 views
0

我有一个可以远程部署到JBOSS AS 7.1的工作环境。但是,我想用ssl发送这些部署。当我添加识别ssl信息的服务器身份标记时,我的jboss实例将不会收到部署。通过https部署jboss-as-maven-plugin

<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:无法连接到remote://domain.com:9119。连接失败:一般SSLEngine的问题:PKIX路径建设失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求的目标

,我得到的服务器日志中的错误有效证书路径是:

错误[org.jboss.remoting.remote.connection](Remoting“domain.com:MANAGEMENT”read-1)JBREM000200:远程连接失败:javax.net.ssl.SSLException:收到致命警报:certificate_unknown

其他相关信息:

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

任何帮助将非常感激。

预先感谢您。

回答

1

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

  1. 创建信任:

    的keytool -import -file路径/到/你/ certificate.cert -alias -keystore路径/到/ myTrustStore

  2. 问题你的命令将该信任库作为JVM参数:

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