[applet]Dostęp do urządzeń po stronie klienta

0

Wiem, że standardowo aplety Java uruchamiane są po stronie klienta, ale mają (bardzo) ograniczone uprawnienia. Czy po podpisaniu apletu certyfikatem można komunikować się z urządzeniami po stronie klienta, np. czytnik kart chipowych w standardzie PC/SC?

0

nie

0

Nie mogą tylko aplety, czy też wszystkie aplikacje Javy?

0

Aplikacja Java jak najbardziej może-sam to zrobiłem z czytnikiem to wiem-sprawdzone. Aplet nie moze z dwóch powodów: czytniki kart chipowych wysyłają sygnał notyfikujący wsadzenie karty do systemu...musisz zarejestrować aplikację w systemie i podpiać sie pod komunikat a niestety aplet tego nie potrafi bo nie jest widoczny dla systemu (tylko poprzez przeglądarkę). Drugi powód to APi czytnika - i tu w sumie zalezy co to za Api. Znakomita większość niestety wykorzystuje również jakiś rodzaj biblioteki (dll,so etc) i biblioteka dostepna w Javie do obsługi kart na nic sie nie przyda. A takie api z poziomu apletu też nie obsłużysz:/

0

Czytniki kart mają swoje oprogramowanie instalowane w systemie. A to może udostępniać interfejs programistyczny dostępny w Java. A ten może być obsługiwany przez aplet. Nie wiem o jaki czytnik ci chodzi, ale np. do kart z podpisem jest biblioteka IAIK PKCS#11 Wrapper.

0

@chodnik

To powiedz mi na jakiej zasadzie jest zrealizowane wsadzenie karty do czytnika i powiadomienie o tym przeglądarkę...bo bez względu jaki to jest interfejs taki rodzaj wiadomosci zawsze idzie przez system a system nie widz pojedyńczej zakłądki z przeglądarki gdzie mógłby być Twój aplet ...

0

Nie wiem dzisiaj jak to działa, ale wiem, że można używać apletów do składania podpisów zapisanych na karcie, więc jakoś da się to zrobić. A stwierdzenie, że się nie da, bo nie można przesłać informacji do zakładki to chyba jest za dużo powiedziane. Może nie da się przesłać tak informacji, ale może to nie jest wcale potrzebne. U mnie akurat to, czy coś się da zależy od tego, czy szef chce, żeby się dało. Więc śmiało mogę powiedzieć, że na dzień dzisiejszy to się da zrobić.

0

hmm:) też mam takie podjeście ... serce szefa najważniejsze...tylko mój szef dał mi pół roku temu taki task właśnie przebadałem sprawe....i jak się nie obrócisz z appletem dupa zawsze z tyłu.
Może i są jakies czytniki które w jakis sposób ich api integruje się z przeglądarką ale kilka przetestowałem i niestety te api to były zwykłe biblioteki - rejestrujesz bibliotekę rejestrujesz okno (okno musi mieć uchwyt by biblioteka wiedziała gdzie pchac dane a żaden aplet uchwytu nie ma) i tyle.

0

Po co urządzenie ma widzieć aplet, skoro wystarczy, że aplet będzie widział urządzenie. Takie podejście powoduje, że nie ma problemów o których mówisz. Może gdzieś się mylę, ale to nie może być tak, że nie działa, bo widziałem, że działa.

0

no to sam sobie przeczysz-jak urządzenie nie widzi apletu...to jak ma mu dac znac ze karta została włożona?

0

To aplet potrzebuje urządzenia, więc go pyta, czy ma włożoną kartę. Aplet jest klientem urządzenia, urządzenie nic nie musi wiedzieć o swoim kliencie, ma tylko realizować usługi.

0

no to mój drogi na tekiej zasadzie to nie działa...tzn te czytniki które ja testowałem w ogóle nie mają możliwości spytania się o to czy karta jest wsadzona. Powód jest taki ze dane i stan karty ładuja sie do interfejsu prog. Kiedy wyciągniesz kartę nie masz możliwości wyzerowania tego interfejsu. Czyli za kazdym razem gdy karty by już nie było api czytnika informowałoby Cię że karta jest i możesz czytać.

To co Ty mówisz-usluga...jak najbardziej-tylko żeby korzystac z usługi musisz byc widoczny dla systemu i koło sie zamyka. Dopóki nie skończysz pisać ogólników a zaczniesz wyjasniac jak to było niby zrobione to wstrzymaj się z komentarzami.

Bo oczywiście nie jestem alfą i omegą i moze być czytnik który w jakis sposób integruję się z przeglądarką ale to jest jeden a nie zasada.

0

@_ITI_

problem mozesz obejsć - ja tak zrobiłem z sukcesem ale ma oczywiśćie wadę - łądujesz aplet na stronce...następuje deploy aplikacji drugiej javovej poprzez np jnlp na komp kliencki. Ta druga to niewidoczna aplikacja swingowa która juz możesz zarejestrować odbierac komunikaty itp. Wiążesz ta pp z czytnikiem a między aplikacją na stronce a tą swingową otwierasz np socket albo named pipe. Tą na stronce dajesz w nasłuch a tamto to taki mały serwerek i masz rozwiązanie.
Nie pisałem Ci tego od razu bo musiałem sobie przypomnieć jak to było zrealizowane.

0

Proponuję w takiej sytuacji darować sobie aplet i napisać aplikację standalone dostarczaną poprzez Java Web Start (jnlp).

1 użytkowników online, w tym zalogowanych: 0, gości: 1