Crearea și utilizarea de arhive Java

Java: Tutoriale Crearea și utilizarea arhivelor Java

De ce JAR-fișiere?

Utilizarea JAR-fișiere oferă dezvoltatorilor applet-urilor (precum și aplicații independente), o serie de avantaje.
  • Îmbunătățirea eficienței de descărcare. În loc de fișiere de clasă individuale încărcate singur fișier JAR-arhivă.
  • Îmbunătățită magazin de fișiere, ca fișiere de clasă sunt stocate într-un fișier arhivă comprimat.
  • Creșterea securității. Borcanul-fișier poate fi semnat digital, oferind utilizatorului final pentru a se asigura că fișierul de rezervă nu sa schimbat de la introducerea sa. În cazul în care încrederea utilizatorului final în compania dvs., poate oferi applet-uri au semnat dreptul de a avea acces la unitatea sa de hard sau alte resurse importante.
  • Platforma independenta. Construirea unei JAR-arhivă se bazează pe utilizarea de populare fișiere, programul de compresie PKZIP. Cu toate acestea, JAR-fișiere pot fi create și stocate pe orice platformă de calculator.
  • Extensibilitate. Specificația JAR-fișier a făcut unele adăugiri pentru a se asigura posibilitatea de prelungiri.






Simpla Portbagajul eficiență oferă un avantaj! Dacă sunteți familiarizat cu funcționarea protocolului HTTP, trebuie să înțelegeți cât de ineficient, cu ajutorul ei, pentru a efectua transferul unui număr de fișiere mici. În fiecare caz, necesitatea de a stabili o nouă conexiune TCP / IP care după transferul fișierului va fi rupt. Instalarea fiecărui compus este asociat cu o sarcină suplimentară pe server și de rețea. Atunci când se utilizează comutarea liniilor înseamnă instalarea TCP / IP-compus poate fi de aproximativ 0,5 c. Dacă aveți nevoie pentru a rula applet-ul de 16 fișiere, timpul total petrecut numai pentru instalarea de conexiuni - 8.

Crearea unui JAR-arhiva

Pentru a crea și modificarea JAR-fișiere, puteți utiliza orice format acceptat de program PKZIP. JAR-fișier este diferit de zip-fișier conține un fișier text suplimentar, denumit fișier de descriere (fișier manifest). Acest fișier conține informații despre toate plasate în fișierele arhivă. Structura fișierului descriere ar trebui să conțină anumite elemente, în special, ar trebui să includă următoarele.
  • Numărul versiunii JAR standardului. În conformitate cu care a construit această arhivă. Acest număr este setat parametrul Manifest-Version este opțională. SDK 1.2 această valoare ar trebui să fie egală cu 1,0
  • Numărul versiunii de utilitate minim JAR, care este capabil de a citi acest fișier. Acest parametru este opțional și are un nume obligatoriu versiune.
  • O intrare separată pentru oricine plasat în arhiva de fișiere. Lista de opționale toate plasate în fișierele de arhivă, este suficient pentru fișierele principale de clasă.

Sun a oferit companiei, pentru a crea un arhive JAR, un instrument specializat pentru toate platformele suportate. Luați în considerare crearea JAR-arhiva cu ajutorul acestui instrument numit borcan.

Să presupunem că avem un director care conține mai multe tipuri de fișiere .class și un subdirector imagini cu numele ce conțin mai multe .gif tip de fișier. Lăsați numele arhivei va fi creat archive.jar

Total jar utilitate Format de comandă apel: parametrii jar nume de fișiere

Deci, pentru a crea un nou tip de fișier:
borcan cf archive.jar imagini .class / .gif

Punerea în semnătura digitală JAR-arhiva

Pentru a înțelege modul în care o semnătură digitală este plasată în JAR-arhiva, trebuie mai întâi să aflați anumite concepte de baza ale criptografiei - criptare folosind cheia publică.

Pentru a efectua o semnătură digitală într-un JAR-arhivă, trebuie să aveți două instrumente.
  • utilitate keytool. Acesta este utilizat pentru a genera perechi de chei publice și private și certificatul.
  • utilitate jarsigner. Spațiile comerciale utilizate semnătură digitală directă în JAR-fișiere utilizând certificatul existent.
Ce veți avea nevoie de:
  1. generație a alerga pereche de chei.
  2. Ia un certificat pentru această pereche.
  3. Utilizați un certificat pentru a plasa semnături digitale în JAR-arhiva.






Generat pereche de chei

Pentru a genera o nouă pereche de chei se poate utiliza următoarele comenzi:
keytool -genkey -alias testkey

Ca rezultat al acestei comenzi, o nouă pereche de chei este salvat într-o bază de date va fi creat sub numele TestKey. Asta obținem:

Programul keytool vă permite să specificați următoarele opțiuni: -v - să solicite retragerea mesajelor programului de acțiune. alias -alias - alias (numele), care este atribuit această pereche. -keyalg algoritm_klyucha - algoritm de criptare semnătura - de obicei algoritmul implicit este SHA1 cu DSA, și poate fi omisă în cazul în care nu sunt de gând să-l schimbe, mărimea cheii atunci când generează o pereche de chei DSA poate fi de la 512 la 1024 de biți, dar dacă doriți să aplicați MD5 cu RSA apoi selectați -keyalg „RSA“, trebuie remarcat faptul că cauzele option -keyalg și opțiunea -sigalg - algoritm de semnături pentru a fi utilizat în mod implicit pentru semnarea jar-fișier (pentru crearea de mesaje digeră). dlina_klyucha -keysize - dimensiunea cheii generate în biți. parola -keypass - parola pentru cheia. Dacă parola nu este specificată în linia de comandă, programul vă solicită să introduceți valoarea sa în dialog. Parola trebuie să fie de cel puțin șase caractere. stocare -keystore - cheile de stocare locație. parola -storepass - parola pentru a accesa depozitul de chei. valDays -validity - data de expirare a certificatului. Valoarea implicită este de 180 de zile, puteți specifica mai mult sau mai puțin.

În mod implicit, keytool utilitate plasează cheia publică din certificatul este semnat de tine X.509.v1.

Keytool comanda -list, putem vedea conținutul keystore:

obținerea unui certificat

După generarea noua cerere de generare de perechi de chei trebuie să efectueze CSR (Certificate Signing Request). Această solicitare este trimisă la orice serviciu de certificare selectat.

Pentru a genera o solicitare de CSR, introduceți următoarea comandă:
keytool -certreq

Pentru cuplurile noastre testkey comanda cheie va arăta după cum urmează:
keytool -certreq -alias testkey

La generarea unei cereri de CSR a permis următoarele opțiuni: -v - sprijinirea livrarea programului de mesaje. -alias alias - definiția alias perechea de chei pentru care doriți să obțineți un certificat. Valoarea implicită mekey. -sigalg algoritm_signatury - sarcina de a face un algoritm de semnătură folosit. csr_fayl -file - numele și locația fișierului în care să plaseze cererea generat. parola -keypass - o parolă pentru acces la această cheie. parola -storepass - parola pentru a accesa depozitul de chei. -keystore bolta - numele fișierului și locația perechii de chei.

Generat CSR-solicitarea este trimisă la serviciul de certificare selectat. După efectuarea tuturor verificărilor necesare și documentul de identitate pe care ați solicitat certificatul va fi eliberat. În orice caz, produs de sine, stoca certificatul într-un fișier și tastați următoarea comandă:
keytool -Import

Următorii parametri pot fi specificate în modul de import: -v - sprijinirea livrarea programului de mesaje. alias -alias - pseudonim numele complet pentru a fi utilizat cu acest certificat. -file fișier-certificat - numele fișierului și locația unde ați salvat certificatul rezultat.

echipa:
keytool -export -alias testkey -file nume de fișier
ar instrui utilitarul pentru a copia certificatului într-un fișier specificat. Trimiteți certificatul către toți destinatarii, care vor folosi JAR-fișierul ați semnat.

Punerea în semnătură digitală JAR-arhiva folosind instrumentul jarsigner

În plus față de facilitățile de semnătură digitală în JAR-arhive instrument jarsigner este, de asemenea, posibilitatea de a verifica integritatea JAR-arhive semnate. Pentru a face acest lucru, rula cu suficient -verify directorul /

Când introduceți comanda:
jarsigner myJarFile.jar
tilita va folosi depozitul de chei implicit, iar rezultatul va fi plasat în fișierul myJarFile.jar care va înlocui fișierul arhivă originală.

Pentru a crea un fișier JAR-semnat de cheile testkey, introduceți următoarea comandă:
jarsigner myJarFile.jar testkey

Pentru fișier myJarFile.jar rămâne neschimbată, iar rezultatul este scris, de exemplu, în fișierul mySignedJarFile.jar, introduceți comanda:
jarsigner -signedjar mySignedJarFile.jar myJarFile.jar testkey.


Avertizare. mysql_connect () [function.mysql-connect]: Nu se poate conecta la serverul MySQL local prin socket '/tmp/mysql.sock' (2), în /pub/home/javaport/javaportal/books/show2b.php pe linia 11

Avertizare. mysql_db_query () [function.mysql-db-interogare]: Nu se poate conecta la serverul MySQL local prin socket '/tmp/mysql.sock' (2), în /pub/home/javaport/javaportal/books/show2b.php pe linia 19

Avertizare. mysql_db_query () [function.mysql-db-interogare]: Un link către serverul nu a putut fi stabilită în /pub/home/javaport/javaportal/books/show2b.php pe linia 19

Avertizare. mysql_fetch_array (): furnizat argumentul nu este o resursă valabil rezultat MySQL în /pub/home/javaport/javaportal/books/show2b.php pe linia 30
Aflați ce te gândești acum într-adevăr aici.


[A apărut o eroare în timpul procesării prezentei directive]


Avertizare. mysql_connect () [function.mysql-connect]: Nu se poate conecta la serverul MySQL local prin socket '/tmp/mysql.sock' (2), în /pub/home/javaport/javaportal/news/worldnews.php pe linia 91

Avertizare. mysql_db_query () [function.mysql-db-interogare]: Nu se poate conecta la serverul MySQL local prin socket '/tmp/mysql.sock' (2), în /pub/home/javaport/javaportal/news/worldnews.php pe line 93

Avertizare. mysql_db_query () [function.mysql-db-interogare]: Un link către serverul nu a putut fi stabilită în /pub/home/javaport/javaportal/news/worldnews.php pe linia 93

Avertizare. mysql_fetch_array (): furnizat argumentul nu este o resursă valabil rezultat MySQL în /pub/home/javaport/javaportal/news/worldnews.php pe linia 95