Signieren Sie einen JNLP, um die Sicherheitswarnung zu entfernen

Ich entwickle in einem Unternehmen, in dem eine JNLP-Datei zum Starten einer webbasierten Java-Swing-Anwendung verwendet wird. Es gibt viele Jars, die in den JVM-Cache des Clients heruntergeladen werden. Als ich meine jvm auf die aktuellste Version (Build 1.7.0_45-b18) aktualisierte, wurde beim Versuch, die jnlp-Datei auszuführen, die folgende Sicherheitswarnung angezeigt:

Nachdem ich diesen Fehler gesehen und diesen Artikel über das Signieren von JNLP-Dateien von Oracle Site gelesen habe (Signieren von JNLP-Dateien) Dann habe ich dem Projekt drei Dinge hinzugefügt:

A JNLP-INF Ordner mit einemAPPLICATION.JNLP Datei in alle meine Gläser mit Ausnahme von Drittanbietern.Signieren Sie all diese Gläser mit dem digitalen Zertifikat + Keystore-Bundle meiner eigenen FirmaImportieren des digitalen Zertifikats in meine vertrauenswürdigen Ca-Zertifikate von JVM über Java Control Panel.

Nachdem ich die obigen Änderungen vorgenommen und versucht hatte, die JNLP-Datei nach der Bereitstellung neuer JARs auszuführen, wurde von JVM die folgende Sicherheitswarnung angezeigt:

Wie Sie sehen, wird der Schweregrad der Sicherheitswarnung auf eine einladendere Stufe geändert, und der Name des Herausgebers ist jetzt nicht mehr unbekannt. Dies ist der Name aus dem Zertifikat. Auch wenn die Warnstufe verringert wird, handelt es sich dennoch um eine Warnung, und ich möchte nicht, dass meine Endbenutzer dies jedes Mal sehen. Wie kann ich dieses Problem lösen?

Sollte ich versuchen, auch alle Gläser des dritten Teils zu signieren? Wenn ja, wie kann ich das mit einem Ant-Befehl machen? Wie kann ich ein JAR eines Drittanbieters extrahieren und den Ordner JNLP-INF hinzufügen und dann mit Ant als JAR neu verpacken?Soll ich auch das Finale unterschreibenmeineAnwendung.ear-Datei mit einem JNLP-INF-Unterordner. Diese EAR-Datei wird auf dem JBoss-Server bereitgestellt?Sollte ich meinen META-INF / MANIFEST-Dateien in Gläsern zusätzliche Zeilen hinzufügen?Sollte ich damit rechnen, dass Oracle meine Anwendung blockiert, um mit dieser Warnstufe auf JVM ausgeführt zu werden?

Meine JNLP-Datei lautet wie folgt:

<?xml version="1.0" encoding="utf-8"?>
    <jnlp spec="1.0+" codebase="http://10.100.10.9/ikarusdelhitest/" href="ikarus.jnlp">
<information>
    <title>Ikarus</title>
    <vendor>My Company name</vendor>
    <homepage href="http://www.mycompanyname.com" />
    <description>My jnlp triggered web based enterprise software</description>
    <icon href="ikarus.ico" />
    <offline-allowed />
</information>
<security>
    <all-permissions />
</security>
<resources>
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"
        java-vm-args="-Xnoclassgc -Xincgc -client -XX:DefaultMaxRAM=208M -Xms64M -Xmx256M -XX:PermSize=32M -XX:MaxPermSize=128M -XX:MinHeapFreeRatio=15 -XX:MaxHeapFreeRatio=50" />
    <jar href="jars/ikarus/ikarusClient.jar" />
    <jar href="jars/ikarus/ikarusDelegators.jar" />
    <jar href="jars/ikarus/clientRules.jar" />
    <jar href="jars/ikarus/ruleImps.jar" />
    <jar href="jars/ikarus/ikarusUtil.jar" />
    <jar href="jars/ikarus/ikarusResources.jar" />
    <jar href="jars/ikarus/domain.jar" />
    <jar href="jars/ikarus/domain_repository.jar" />
    <jar href="jars/ikarus/domain_service.jar" />
    <jar href="jars/ikarus/app_repository.jar" />
    <jar href="jars/ikarus/app_service.jar" />
    <jar href="jars/ikarus/infrastructure.jar" />
    <jar href="jars/ikarus/integration_domain.jar" />
    <jar href="jars/jboss_ejb_auth/ejb3-persistence.jar" />
    <jar href="jars/jboss_ejb_auth/jboss-ejb3x.jar" />
    <jar href="jars/jboss_ejb_auth/jbossall-client.jar" />
    <jar href="jars/jasper/commons-beanutils-1.8.0.jar" />
    <jar href="jars/jasper/commons-collections-3.2.1.jar" />
    <jar href="jars/jasper/commons-digester-1.7.jar" />
    <jar href="jars/jasper/commons-logging-1.1.jar" />
    <jar href="jars/jasper/iText-2.1.0.jar" />
    <jar href="jars/jasper/jasperreports-3.6.0.jar" />
    <jar href="jars/jasper/poi-3.2-FINAL-20081019.jar" />
    <property name="jnlp.localization" value="Delhi"/>
</resources>
<application-desc main-class="com.celebi.ikarus.main.Ikarus" />

Vielen Dank für jede Hilfe / Kommentar / Brainstorming.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage