2013-05-08 18 views
5

Od czasu ostatniej aktualizacji Java dwa moje aplety wyświetlają komunikat ostrzegawczy dla naszych użytkowników, mimo że oba pliki jar, z których korzystamy, są podpisane. Potwierdziłem, że są one podpisane przy użyciu polecenia jarsigner -verify MyJarFile.jar. Poniżej znajduje się komunikat wyskakujący widzimy ...Aplet Java - "Blokowanie potencjalnie niebezpiecznych komponentów przed uruchomieniem?" message

enter image description here

Moje aplet wywołuje dll C++ za pośrednictwem JNI. Dll C++ wywołuje moduł sieciowy C#.

Czy ktoś wie, co mogę zrobić, aby to wyskakujące okienko zniknęło? Mówi ona, że ​​aplikacja zawiera zarówno podpisany, jak i niepodpisany kod, ale podpisuję każdy plik Java (w moim pliku JAR jest tylko 1). Czy muszę podpisać wyższy poziom podpisu?

Edytuj: Występuje od najnowszej aktualizacji Javy. Zobacz poniższy cytat zaczerpnięty z this page.

Autorzy i dostawcy aplikacji wdrożonych użyciem zarówno aplety Java lub technologii Java Web Start - aplikacje dystrybuowane do użytkowników końcowych w czasie wykonywania za pośrednictwem przeglądarki internetowej lub sieci - powinien podpisać swój kod za pomocą zaufanego certyfikatu dla najlepszych doświadczeń użytkownika. W szczególności, cały kod Java wykonany w przeglądarce klienta wyświetli monit użytkownika. Rodzaj wyświetlanych komunikatów dialogowych zależy od czynników ryzyka, takich jak kod podpisany lub niepodpisany, kod żądający podniesienia uprawnień, środowisko JRE znajduje się powyżej lub poniżej linii bazowej zabezpieczeń itp. Scenariusze niskiego ryzyka przedstawiają bardzo minimalny dialog i zawierają pole wyboru, które nie wyświetla podobnych okien dialogowych. przez tego samego sprzedawcę w przyszłości. Scenariusze wysokiego ryzyka, takie jak uruchamianie niepodpisanych słoików, będą wymagać większej interakcji z użytkownikiem, biorąc pod uwagę zwiększone ryzyko.

+1

To pytanie nie jest takie samo jak moje. Jeśli w ogóle nie podpiszę pliku JAR, otrzymam komunikat o błędzie w twoim linku. Jest to dodana funkcja zabezpieczeń dodana w najnowszej aktualizacji Java. – gwin003

Odpowiedz

7

Wymyśliłem odpowiedź. Nie miałem pliku manifestu w moim projekcie zaćmienia, dlatego stworzyłem plik o nazwie manifest.mf i wstawiłem do niego poniższy kod.

Manifest-Version: 1.0 
Trusted-Library: true 

Podczas tworzenia pliku jar w czasie zaćmienia, na trzeciej stronie, prosi o plik manifestu. Domyślna opcja to "Utwórz plik manifestu dla mnie", ale ten plik manifestu zawiera tylko pierwszy wiersz powyżej. Wybierz opcję "Użyj istniejącego manifestu z obszaru roboczego" i wybierz utworzony plik manifest.mf. Następnie podpisz swój słoik tak, jak zwykle.

To był atrybut Trusted-Library, który naprawił problem. Sprawdź numer this page, aby uzyskać więcej informacji na temat tego atrybutu i innych plików jar uprzywilejowanego kodu.

+0

Pracował jak urok na IE9. –

Powiązane problemy