簡體   English   中英

JavaFX自包含的應用程序缺少密碼加密服務嗎?

[英]JavaFX self-contained apps are missing the Cipher cryptographic service?

出於某種原因,JavaFX的似乎並不在應用程序的自包含的部署后執行目前支持任何算法的密碼加密服務,如所描述這里

給出以下代碼:

import java.security.Security;
import java.util.Iterator;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.ListView;
import javafx.stage.Stage;



public final class Main extends Application
{
    @Override
    public void start(final Stage stage)
    {
        final ObservableList<String> ol = FXCollections.observableArrayList();
        final ListView<String> lv = new ListView(ol);

        for (final Iterator<String> iter = Security.getAlgorithms("Cipher").iterator(); iter.hasNext();)
            ol.add(iter.next());

        final Scene s = new Scene(lv, 500, 400);

        stage.setScene(s);
        stage.sizeToScene();
        stage.show();
    }
}

如果此代碼通過java啟動器在本地運行,則使用各種算法填充輸出是沒有問題的,但是如果應用程序已打包為自包含代碼,則將提供一個列表。

但是,我也偶然發現了這一點:

默認情況下,僅包含Java Runtime的一個子集。 排除了一些可選的和很少使用的文件,以減小程序包的大小,例如所有可執行文件。 如果您需要默認情況下未包含的內容,則需要將其復制為后處理步驟。 對於可安裝軟件包,可以從填充自包含應用程序文件夾后執行的配置腳本中執行此操作。 請參見第6.3.3節“使用嵌入式資源進行定制”。

引用的段落可能是原因嗎? 為了使此功能包含在獨立的運行時中,需要哪種解決方法?

謝謝。

查看此鏈接 ,默認情況下未捆綁捆綁的JCE。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM