2013-04-11 124 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