Cum de a semna java applet (cum să semneze applet Java), comunitatea Terrasoft
Bună ziua, cititorul meu preferat.
Astăzi veți învăța cum să semneze un applet Java. Pentru început, voi spune că applet-urilor JAVA au funcționalitate limitată până când au semnat. De exemplu, applet-uri nesemnate nu pot:
- interacționează cu clientul sistem de fișiere local;
- conexiuni de rețea cu alte servere;
- interacționa cu clipboard client;
- unii pe alții.
Mai multe variante de rezolvare a problemelor:
1. Lăsați aparatul să se fiecare clienții locali. Pentru a face acest lucru, puteți edita fișierul java.policy, care se află într-un dosar cu un JRE (implicit C: \ Program Files \ Java \ jre6 \ lib \ de securitate). Și pentru a adăuga permisiunile necesare. De exemplu, pentru a rezolva tot ceea ce este posibil să se introducă linia:
acorda <
.
permisiunea de Java. de securitate. AllPermission;
>
Această metodă este utilă numai în cazul în care numărul de utilizatori finali ai site-ului dvs. este limitată și nu resturi pe fiecare computer pentru a edita fișierul. În plus, securitatea acestei soluții nu este foarte mare.
2. Conectați un Java-applet. Deci, ce avem la intrare:
- instalat JDK și JRE;
- jar-fișier applet-ul (există unele caracteristici ale scrierii codului sursă, vezi mai jos.)
- dorința de a lucra cu clipboard. În acest scop, linia funcționează corect:
Toolkit Toolkit = Toolkit.getDefaultToolkit ();
Clipboard clipboard = toolkit.getSystemClipboard ();
În cazul apelului acestor linii de la un applet nesemnat pentru a obține următoarea excepție:
java.security.AccessControlException: accesul interzis (java.awt.AWTPermission accessClipboard)
Să începem:
0. Du-te la folderul BIN JDK nostru (de exemplu, C: \ Program Files \ Java \ jdk1.6.0_23 \ bin).
I. Crearea unui magazin certificat local de nostru (keystore):
keytool -genkey -keystore .keystore -alias "Terrasoft" -validity 99999
în cazul în care Terrasoft - numele alias certificatului nostru;
99999 - Luni valabilitatea certificatului;
.keystore - numele fișierului creat de depozit.
În cazul lansării cu succes a comenzii, sistemul ne va cere parola seiful nostru, precum și unele informații despre certificatul (numele complet, numele companiei, oraș, țară și grupa de sânge)
Ca rezultat, avem .keystore fișier. Acesta este depozitul nostru, vom semna diverse applet-uri.
II. Copiere în dosar BIN JDK nostru nostru JAR-fișier. Conectați-l cu următoarea comandă:
jarsigner.exe -keystore .keystore ClipboardLibrary.jar "Terrasoft"
în cazul în care Terrasoft - numele alias certificatului nostru;
.nume de fișier magazin - depozit de chei;
ClipboardLibrary.jar - numele JAR-fișier.
Sistemul ne va cere parola - introduceți cel care a introdus la punctul I ..
Un fel de gata. Da, chiar acum, naiv.
Deci, atunci când executați pagina cu applet-uri noastre la bord utilizatorul va primi un mesaj prietenos cum ar fi:
Ceea ce înseamnă „utilizatori, faceți clic pe Da, și spune la revedere de la sistemul său, pentru că putem face cu ea ceea ce ne dorim.“
Apropo, să acorde o atenție la NEVERIFICAT. Aceasta înseamnă că nu avem încredere în certificatul. Pentru a obține încrederea de care aveți nevoie pentru a contacta serviciile speciale pe internet și chiar să plătească bani.
Dar să ne întoarcem la oile noastre. Când se face referire în clipboard din nou, vom obține un fel de excepție:
java.security.AccessControlException: accesul interzis (java.awt.AWTPermission accessClipboard)
Foarte rău. Ei bine, nu a mers azi - a obține un alt timp. La revedere.
Glumeam. De fapt, în acest moment ne oprim toate applet-uri de pe semnarea conducerii pe care l-am întâlnit. Cum ar fi, semnat nimic applet înfricoșător. Să-i fie rușine toți.
Pe scurt, următorul truc pentru a face apelul nostru în clipboard câștigat:
III. Editați codul sursă.
În loc de asteptare tip:
clipboard = set de instrumente. getSystemClipboard ()
aveți nevoie pentru a scrie un apel de forma:
clipboard = (Clipboard) AccessController. doPrivileged (nou PrivilegedAction () <
rula obiect publice () <
a reveni set de instrumente. getSystemClipboard ();
>
>);
Apoi, trebuie să recompilați dvs. JAR și repetați pasul al II-lea (cei care citesc de la sfârșitul mesajului meu - respect).
Aici, în general, și toate. Ar trebui să funcționeze. Sper ca cineva vine la îndemână, și nu va fi atât de mult din viața lor să-și petreacă pe acest nonsens, așa cum am petrecut. Să-i problemi nu te resping roblyat în vreme zhitti (C). Până când ne vom întâlni din nou în aer.