2013-08-12 22 views
7

Ich habe eine interne nur App, die ich historisch selbst unterzeichnet habe. Mit der neuesten Version von Java ist die Selbstsignierung für JNLP veraltet. Ich habe auch seltsame Probleme beim Öffnen von Sockets von selbstsignierten Apps mit Java 7U25 (aber funktioniert gut, wenn sie als normal jar von der Kommandozeile aus ausgeführt).Gibt es eine Möglichkeit, JNLP ohne Zertifikate zu machen?

Gibt es eine Möglichkeit, JNLP ohne Anmeldung zu tun? Da es sich um eine rein interne App handelt, ist das Signieren nicht nötig (für mich). Ich möchte wirklich kein Geld ausgeben, um ein Zertifikat zu kaufen, wenn es nicht wirklich notwendig ist.

Antwort

2

Ja, möglich (aber nicht empfohlen).

Wenn Sie es nur intern (lokal) verwenden, können Sie Ihre Java-Sicherheitseinstellungen von hoch auf Mitte reduzieren, dann können Sie Ihre App erneut ausführen. Aber dann würde ich wahrscheinlich Ihre Web-Browser-Plugin deaktivieren ...

+2

Dies funktioniert jedoch nur mit Java-Versionen mit mehreren Sicherheitseinstellungen. In zukünftigen Versionen wird es nur die "höchste" Ebene gemäß einigen Orakel-Anweisungen geben – mschenk74

+0

Aber das wäre z.B. zu Testzwecken ziemlich umständlich ... – Lonzak

+0

für mich die Einstellung der Sicherheit zu "Mitte" hat nicht geholfen. –

1

Nein, tut mir leid. :)

Jede JNLP-Komponente muss signiert UND alle müssen mit dem SAME-Zertifikat signiert sein, damit die Anwendung ausgeführt werden kann. Sie müssen auch ausländische Bibliotheken (Gläser usw.) unterschreiben, die Sie in Ihre App aufnehmen möchten.

Ich habe keine Informationen, die selbst signierende jnlp-Komponenten möglicherweise veraltet sind? Sie können das Keytool verwenden, um einen Keystore und das Zertifikat zu erstellen.

finden Oracle Dokumentation über JNLP hier: http://www.oracle.com/technetwork/java/javase/index-142562.html

Hope this Ihnen helfen können?

Grüße Christopher

+0

Die Information, die ich habe, sagt, dass selbst signierte JNLP-Starts ab Java 7U21 veraltet sind. :( –

+0

Es fühlt sich wirklich so an, als würde Oracle JNLP aufgeben. Es scheint einfach keine Liebe mehr zu bekommen. Gibt es in Java eine neue Technologie, auf die ich ausweichen kann? Oder vielleicht etwas Drittes? Ich hasse es das neu zu erfinden Rad, indem ich meinen eigenen Launcher schreibe ... –

+0

@BrianKnoblauch Eine Sache mit selbstsignierten Zertifikat ist, dass Sie eine Warnung erhalten - aber ich glaube nicht, dass es veraltet ist – assylias

5

Es scheint, dass die coming Java 7u40 die Notwendigkeit eine Lösung erkennt und bietet ein neues Feature:

In einem Unternehmen, das eine gemeinsame Ausführungsumgebung bereitstellt und verwaltet die Anwendungen, auf die Mitarbeiter zugreifen, ermöglicht die Funktion "Bereitstellungsregelsatz" dem Unternehmen, eine Whitelist und eine Blacklist bekannter Anwendungen einzurichten.

+0

Siehe auch http://StackOverflow.com/a/20223866/32453 – rogerdpack

3

Ich habe gerade eine "Java-Anwendung mit einer Zertifizierung mit einer vertrauenswürdigen Autorität" in Java 7u45 mit einem selbstsignierten Zertifikat erstellt.

Im Manifest habe ich die Berechtigungen als "all-Berechtigungen" gesetzt und ich habe die Tags über Sicherheit in der jnlp gelöscht. Dann habe ich mein eigenes selbstsigniertes Zertifikat exportiert und in die Java-Systemsteuerung meines Desktops importiert

Auf diese Weise gibt es keine Warnung über die zukünftige Freigabe die Anwendung zu blockieren.

Ich hoffe, das hilft.

Verwandte Themen