2012-06-21 16 views
15

Mamy aplet Java, który musi działać z pełnym zaufaniem.Aplet Java z samopodpisanym certyfikatem na OS X Mountain Lion

Podczas opracowywania i podczas testów przed publikacją podpisujemy go za pomocą samopodpisanego certyfikatu (wersja produkcyjna jest podpisana za pomocą prawdziwego certyfikatu podpisującego kod).

Ale kiedy próbujemy uruchomić samopodpisany aplet na prerelazach OS X 10.8, nie możemy już dłużej zezwalać na jego uruchomienie. „Zezwalaj” -button jest po prostu wyłączone:

Disabled "Allow" button

Jeśli naciśnięciu „Pokaż szczegóły ...” Mogę wybrać „Zawsze ufaj” certyfikat, ale to nie ma znaczenia:

enter image description here

Działa z tą samą wersją Java JRE na OS X Lion 10.7, więc podejrzewam, że jest to problem z systemem operacyjnym, a nie z JRE.

Czy są jakieś obejścia?

Wolałbym nie używać prawdziwego certyfikatu podpisywania kodu do testowania: podpisanie za pomocą prawdziwego certyfikatu podpisywania kodu oznacza, że ​​moja firma zapewnia, że ​​aplet jest bezpieczny i powinien być zaufany. Nie możemy tego potwierdzić, zanim go przetestowaliśmy.

+0

* „Wolałbym nie używać certyfikatu podpisu prawdziwy kod do testów.” * Wolałbym gdyby ludzie oferowane powody wymagań dziwaczne i pozornie arbitralnych. –

+2

@Andrew: Dodałem uzasadnienie tego wymogu. –

+0

Dzięki, ten powód nie jest tak dziwaczny, jak sobie wyobrażałem. Dobre pytanie. +1 BTW: 1) Czy sprawdziłeś "bazę danych błędów" dla tego środowiska JRE? 2) Czy aplet reaguje na JavaScript? ([Appleteer] (http://pscode.org/appleteer/) może uruchamiać aplety w prostym kodzie HTML bez JS - nie ma on piaskownicy bezpieczeństwa). 3) Czy możesz uruchomić inny JRE w systemie operacyjnym do testowania apletów? –

Odpowiedz

14

Jest to nowa funkcja bezpieczeństwa w systemie Mac OS X, domyślnie można uruchamiać tylko aplikacje z Mac Store & od zaufanych programistów.Na szczęście łatwo to zmienić, musisz zezwolić na to w preferencjach Mac OS X.

Idź do Ustawienia -> Zabezpieczenia & prywatności i kliknij na kłódkę, aby umożliwić zmiany.

Następnie w „Zezwalaj appications pobrane z” wybierz „Wszędzie”.

Po tym, przycisk w oknie Java zostanie włączona.

Mac OS X Security & Privacy Preferences

+0

Perfect! Dziękuję Ci bardzo. –

+2

Po włączeniu opcji "AnyWhere" zachowanie się zmienia, ale nadal pojawia się okno dialogowe z komunikatem o błędzie: "Aplikacja zablokowana przez ustawienia zabezpieczeń" i "Twoje ustawienia zabezpieczeń zablokowały działanie aplikacji z podpisem własnym". Ta aplikacja jest jedną z przykładowych aplikacji JavaFX. Na Mac OS X 10.9 Mavericks, Java 8. –

+0

co z Mac? – Naeem

0

OS X Lion można ręcznie dodać certyfikatu jako zaufanego certyfikatu głównego za pomocą wbudowanego Dostęp do pęku kluczy narzędzia. Nie mam dostępu do OS X Mountain Lion, więc nie wiem, czy będzie działać w Mountain Lion, ale warto spróbować. Kroki w Lion to:

  • Otwórz Dostęp do pęku kluczy (znajduje się w /Applications/Utilities)
  • Kliknij pliku | importowania elementów ...
  • zmienić miejsce docelowe Brelok do Systemu
  • Znajdź plik certyfikatu i kliknij Otwórz
  • powie: „Czy chcesz, aby Twój komputer zaufać świadectwom podpisania przez [...] od teraz?". Kliknij Zawsze ufaj.

Jeśli wygenerowałeś certyfikat bezpośrednio w magazynie kluczy Java, możesz nie mieć oddzielnego pliku certyfikatu. Możesz łatwo export one using this guide from Oracle.

Zauważyłem, że na zrzucie ekranu napisano "Ten certyfikat jest oznaczony jako zaufany dla tego konta", co jest ciekawe, ponieważ spodziewam się, że będzie to do przyjęcia. Może w OS X Mountain Lion dodane przez użytkownika certyfikaty główne mają w jakiś sposób niższy status niż oficjalne dystrybuowane przez Apple? Jeśli okaże się, że powyższe kroki nie działają, możesz spróbować dodać swój certyfikat do oficjalnego pęku kluczy root. Dostęp do pęku kluczy nie pozwoli ci tego zrobić, ale wierzę, że możesz użyć wbudowanego certtool, aby ręcznie edytować brelok znajdujący się pod /System/Library/Keychains/SystemRootCertificates.keychain, aby to osiągnąć.

+0

Wow ... Naprawdę mam nadzieję, że nie wdroży tego do 1000 beta testerów. –

+1

Mam problem z jedną z przykładowych aplikacji JavaFX. W systemie Mac OS X 10.9 Mavericks, Java 8. Nie mogę znaleźć klucza, którego używa do "samodzielnego podpisania" aplikacji lub miejsca, w którym magazyn kluczy może wyeksportować klucz i zaimportować go do pęku kluczy. Jakieś pomysły? Tymczasem przejrzę wszystkie skrypty budujące mrówki ..... –

5

Jeśli pojawi się komunikat „Application Blocked by Security Settings”, trzeba iść do System Preferences: Java: Security i albo dodać witrynę do listy wyjątków lub zmniejszyć security level do Medium.

Powiązane problemy