我对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:无法连接到remote://domain.com:9119。连接失败:常规SSLEngine问题:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
我在服务器日志上得到的错误是:
错误[org.jboss.remoting.remote.connection](远程处理“domain.com:MANAGEMENT”read-1)JBREM000200:远程连接失败:javax.net.ssl.SSLException:收到致命警报:certificate_unknown
其他相关信息:
证书是自签名的。该证书适用于管理控制台和jboss上托管的Web应用程序的https请求。通过浏览器访问管理控制台时,证书可以使用上述标识。
任何帮助都会非常感激。
提前谢谢。
答案 0 :(得分:1)
我遇到了这个问题并通过创建信任库,向其添加证书,然后在调用Maven deploy命令时将该信任库作为JVM参数传递来解决它。
创建信任库:
keytool -import -file path / to / your / certificate.cert -alias -keystore path / to / myTrustStore
使用该信任库发出命令作为JVM参数:
mvn jboss-as:deploy -Djavax.net.ssl.trustStore = path / to / myTrustStore