2

Wildfly swarm アプリの ManagementFraction の keystoreRelativeTo オプションに問題があります。

コードは次のとおりです。

public static void main(String[] args) throws Exception {       
        Swarm swarm = new Swarm(args);
        Archive<JAXRSArchive> archive = createJaxRsArchive();       
        swarm
            .fraction(createManagementFraction())
            .fraction(createUndertowFraction())
            .fraction(createSecurityFraction())
            .start()
            .deploy(archive);
    }


ManagementFraction managementFraction = new ManagementFraction().securityRealm("UndertowRealm", (realm) -> {
    realm.truststoreAuthentication((authn) -> { authn
        //.keystoreRelativeTo("/certs")
        .keystorePath("sometruststore.jks")             
        .keystorePassword("pass");
    });
    realm.sslServerIdentity(new SslServerIdentity<>()
        //.keystoreRelativeTo("/certs")
        .keystorePath("somekeystore.jks")           
        .keystorePassword("pass")
        .alias("x")
        .keyPassword("pass")
            );
});     
return managementFraction;

}

「.keystoreRelativeTo("/certs")」がなくても、*.jks ファイルがプロジェクトのルート ディレクトリにある限り、正常に機能します。オプション ".keystoreRelativeTo("/certs")" を使用すると、projectRootDir/certs 内の jks ファイルがチェックされると思いますが、そうではありません。C:/certs などの絶対パスでも試しましたが、うまくいきません。エラーがあります:

2017-01-03 21:56:26,638 エラー [org.jboss.as.controller.management-operation] (コントローラー ブート スレッド) WFLYCTL0013: 操作 (「追加」) が失敗しました - アドレス: ([ ("サブシステム" => " undertow"), ("server" => "default-server"), ("https-listener" => "https") ]) - 失敗の説明: { "WFLYCTL0180: 依存関係が見つからない/利用できないサービス" => 未定義, 「WFLYCTL0288: 1 つ以上の間接的な依存関係が利用できないため、1 つ以上のサービスを開始できませんでした。」=> { "開始できなかったサービス:" => ["jboss.undertow.listener.https"], "原因と思われるサービス:" => ["jboss.server.path./certs/"] } }

2017-01-03 21:56:26,639 エラー [org.jboss.as.controller.management-operation] (コントローラー ブート スレッド) WFLYCTL0013: 操作 (「追加」) が失敗しました - アドレス: ([ (「コア サービス」 = > "management"), ("security-realm" => "UndertowRealm") ]) - 失敗の説明: { "WFLYCTL0412: インストールされていない必要なサービス:" => ["jboss.server.path./certs/" ], "WFLYCTL0180: 依存関係が見つからない/利用できないサービス" => [ "jboss.server.controller.management.security_realm.UndertowRealm.trust-manager が見つかりません [jboss.server.path./certs/]", "jboss.server .controller.management.security_realm.UndertowRealm.key-manager がありません [jboss.server.path./certs/]" ] }

「jboss.server.path」が何であるかわかりません。jboss プロパティだと思っていましたが、見つけたり設定したりできません。jboss.server.config.dir パラメーターも試しました (前に /certs/ または C:/certs/ に設定します): .keystoreRelativeTo("jboss.server.config.dir")

しかし、エラーメッセージは同じです: (...) "サービスを開始できませんでした:" => ["jboss.undertow.listener.https"], "原因である可能性のあるサービス:" => ["jboss. server.path.\"jboss.server.config.dir\""] (...)

何かのバグですか?どんな助けでも大歓迎です。

4

0 に答える 0