Kann ich verhindern, dass die digitale Signatur-Warnung, wenn ich eine java-Anwendung von der Kommandozeile aus?
Gibt es eine Möglichkeit zu verhindern, dass die "der digitalen Signatur Der Anwendung nicht verifiziert werden kann" Warnung beim ausführen einer Java-Anwendung von der Kommandozeile aus?
Ich bin auf der Suche nach einem Kommandozeile Lösung, die erlauben würde, eine Anwendung zu starten, wie dies auf einem continuous integration server, also brauche ich eine Lösung, die nicht die ein manuelles eingreifen erfordern.
Außerdem würde ich es vorziehen, nicht um diese Warnung zu deaktivieren für alle Anwendung, denn dies könnte ein Sicherheitsrisiko sein.
Nicht sicher ob es hilft, aber ich weiß die Werte von "name", "publisher" und "von" Felder der Signatur.
Nur sicher sein, ich bin nicht zu Fragen, wie Sie sich diese Anwendung.
update 1
Ich nehme an, dass die Lösung ist die Verwendung keytool
zum importieren des Zertifikats aus der Kommandozeile, aber für einige Grund es nicht zu importieren, es richtig, weil es nicht angezeigt wird in der Systemsteuerung das applet, nachdem diese und die Anwendung noch benötigt.
keytool -importcert -file my.cer -alias alf2 -storepass changeme -noprompt
Ist es etwas im Zusammenhang mit der Standard -keystore
, wie kann ich sicherstellen ich bin der Einfuhr in die richtige keystore?
update 2
Nach viel recherche im Netz habe ich einige Fortschritte gemacht, gearbeitet, zumindest auf Windows 7
mit Java 6
: keytool -importcert -file my.cer -keystore "%USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs" -storepass "" -noprompt -v
Ich sieht, dass Sun nicht angegeben die in der Dokumentation der realen Lage der Standard-keystore und die Tatsache, dass das default-Passwort ist leer.
Aber dies ist nicht das Ende, denn wenn dieser run auf die automation-Benutzer-Konto, er scheiterte, er ist gescheitert, weil dieser Benutzer hat nicht hatte einen keystore und da noch das Kommandozeilen-tool keytool
ist nicht in der Lage, erstellen Sie eine keystore mit einem leeren Passwort, anfordern von mindestens 6 Zeichen. siehe Suns forum tread...
C:\Users\username\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
. Die Frage ist nun, wie kann ich die keytool
zu schreiben, um diese keystore
(die Lage könnte anders sein, auf andere Maschinen, dies war unter Windows 7).Mit welchen Befehl werden Sie ausführen diese "Anwendung"? Der Begriff java-Anwendung wird in der Regel verwendet für java-Anwendungen, wo Sie eine Klasse mit einer main-Methode, und Sie erfordern nicht die java-sandbox aktiv zu sein (da läuft Zeug aus der Befehlszeile bedeutet, dass Sie Vertrauen in die code).
Die Anwendung ausgeführt wird ausgeführt
javaw
denn es kann in zwei Modi ausgeführt Konsole oder im gui-Modus.InformationsquelleAutor sorin | 2010-09-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
vertrauenswürdig.APZ-Datei-Benutzer (Profil) basiert. Mithilfe von keytool ist es auch möglich, zum hinzufügen von vertrauenswürdigen root-CA "cacert" - Datei, wo sind nur die Standard-trusted-CA für java gespeichert.
cacert-Datei auf XP (abhängig von Java-version): C:\Program Dateien\Java\jre6\lib\security
Mehr details hier:
Standard-Passwort ist: changeit
InformationsquelleAutor PTT
Gibt es zwei Ansätze:
Sich, dass der Lieferant der software für die Wiederausstellung es mit einer richtigen Unterschrift. Der link "Weitere Informationen" sagen, Sie sollten warum die Signatur nicht verifiziert werden kann, aber die wahrscheinlichsten Ursachen sind, die die Signatur erstellt wurde unter Verwendung eines selbst-signierten CA-Zertifikat oder ein Zertifikat, das da abgelaufen ist. (Wenn der Lieferant nicht helfen, können Sie in der Lage sein, zurückzutreten, die JAR-Datei mit Ihrem eigenen Zertifikat.)
Fügen Sie die entsprechenden Signaturzertifikat, um die JVM-Zertifikatspeicher als "trusted certificate". Leider müssen Sie dies für jede JVM auf jeder Maschine, die braucht, um die Anwendung auszuführen.
Sie konnte schreiben Sie ein shell-Skript / batch-Datei, die verwendet
keytool
um das Zertifikat zu importieren(en). Siehe download.oracle.com/javase/6/docs/technotes/tools/solaris/...InformationsquelleAutor Stephen C
Es wäre ein schwerer Kompromiss Benutzer Sicherheit/Privatsphäre, wenn nicht signierte Anwendungen ausgeführt werden dürfen, ohne die Zustimmung des Benutzers.
Die Antwort ist 'NEIN', es sei denn, Sie bekommen Ihre app signiert oder die Nutzer manuell fügt der Herausgeber zu den "trusted" - Liste.
Mehr hier
sind Sie auf der Suche nach Antworten ODER 'angeblich' Antworten?
Wie Sie wahrscheinlich bemerkt, etwas zu tun, ohne eingreifen des Benutzers / automation. Dies ist wichtig, auf Maschinen, die eigentlich für die unbeaufsichtigte Ausführung.
Es ist eine berechtigte Frage und nicht immer ein Sicherheitsrisiko. In einer Unternehmensumgebung, die Sie installieren möchten, die Dinge auf den Rechnern der Benutzer und stellen Ihnen nur die Arbeit.
InformationsquelleAutor Johnbabu Koppolu
Weiß nicht, ob es eigentlich noch Windows XP keytool fragt nach Passwort, wenn cert store actally nicht existieren, so erstellen Sie manuell kopieren oder speichern von irgendwoher importieren von Zertifikaten. Benutzer laden war ohne Passwort.
InformationsquelleAutor Giors
Denke ich, sollten Sie erstellen Sie die Datei zum Beispiel mypolicy.Politik in java.home/lib/security mit grant all permisions code unterzeichnet von Ihnen und fügen Sie diese Datei zu java.Sicherheit (ex. unter der Zeile, wo ist java.Politik-Pfad) dieses warn-Fenster nie prompt wieder
InformationsquelleAutor Kamil