Šta je novo?

Glupo pitanje u vezi glupe Java-e :wall:

Delija

Čuven
Učlanjen(a)
03.01.2002
Poruke
7,677
Poena
905
Kako naterati kod (*.class) spakovan u JAR da koristi eksterne biblioteke , tj.biblioteke iz LIB\EXT-a? Znaci da se iste ne ugradjuju u JAR, posto glupi zmaj :d nece tako da radi.


Treba mi glupa RSA enkripcija za koju mi treba, izgleda jos gluplji, BouncyCastle, a JAR koji napravi JBuilder zajedno sa tom bibliotekom nece da se pokrene, vec javlja poruku could not find the main class. Program will exit. 10000% je do Bouncy-ja, posto bez njega (i asimetricne enkripcije zajedno sa njim :() sve radi OK. Eclipse mi ne "izbuilduje" projekat ni bez toga kako treba.

Kontam da ima veze sa manifest fajlom, posto se u manifestu koji dolazi sa BouncyCastle-om nalazi gomila stvari koje JBuilder ne stavlja u moj manifest, a takodje stvar ne resava ni ukljucenje njihovog source-a (a ni raspakovane JAR biblioteke) u projekat.

Iz Eclipse-a i JBuilder-a se pokrece sasvim OK, posto vuce podatke iz EXT-a...

Help! :wall:
 
Problem je do sign-inga JAR-a, tako da to ne moze jednostavno da se upakuje u moj JAR... :(

Ostaje ono prvo pitanje, a to je zasto mi ne vuce biblioteke iz LIB\EXT direktorijuma, kad bi po svim reference-ima za Java platformu to po default-u trebalo da radi? :wall: CLASSPATH varijablu mi ne je*e ni 5% ??? Cak sam upakovao klase u rt.jar i ne vidi ih ni tamo.

Probao sam i reinstalaciju SDK-a, al ne pomaze... :wall:
 
E ja se grudvam sam sa sobom... :d

'Ladno su mi se "tukle" SDK i JRE instalacije (JRE sam i zaboravio da sam pitaj-boga-kad stavio), tako da sam taj deo oko CLASSPATH-a resio, jedino mi nije jasno zasto i EXT\LIB biblioteke moram da stavim u CLASSPATH, posto bi, po Sun-ovoj dokumentaciji, to trebalo da radi i bez toga??? Whatever... :)

E sad, ako neko zna resenje tog cuda za sign-ingom kod stavljanja svih biblioteka i samog koda u jedan JAR, sa jedinstvenim manifestom, samo neka izvoli... ;)
 
Dakle nista te nisam razumeo :)
Classpath: ne znam kako startujes program?? ako iz konzole preko nekog skripta, ona treba da setujes sve libove koje koristis i smestis ih u classpath da ih app vidi, npr.set CLASSPATH=%JAVA_HOME%\lib\tools.jar unutar skipta.
Ako startujes sa java MojaApp... onda treba da pod -d parametrom isto tako navedes classpath i sta vec treba od ostalih sistemskih varijabli.
Sajning ti treba _za_sta_ne_razumem_te ? :)
Uglavnom, sajning jar kao npr. kod appleta se radi preko %JAVA_HOME%/bin/jarsigner.exe i keytool.exe, a ti sad malo pogledaj na netu kako to radi da ne bih drzao ovde javni cas oko generacije kljuceva i lozinki.

Srecno i :type:
 
Poslednja izmena:
Jedno pitanje ... Zbog cega Legions of Bouncy Castle JCE provajder, ako ti je pravio probleme ... u okviru standardne instalacije J2 SDK, dobijas Sun-ov JCE (koji ima podrsku za RSA - do 2048 bita velicina kljuceva - ogranicenje u algoritmu, tako da se instalacijom unlimited security polisa ne moze prevazici) ... koji obavlja posao, a sigurno ti ne bi pravio problema kao gore pomenuti ... I ja sam imao muka da poteram aplikacije koje rade sa BC provajderom na drugim racunarima, ali na kraju kada sam sve uspeo da povezem, ipak se videlo da je BC brzi (ne epohalno, ali ipak dovoljno da bi se neko opredelio za njega). :type:
 
Poslednja izmena:
Freelancer je napisao(la):
Dakle nista te nisam razumeo :)
Classpath: ne znam kako startujes program?? ako iz konzole preko nekog skripta, ona treba da setujes sve libove koje koristis i smestis ih u classpath da ih app vidi, npr.set CLASSPATH=%JAVA_HOME%\lib\tools.jar unutar skipta.
Ako startujes sa java MojaApp... onda treba da pod -d parametrom isto tako navedes classpath i sta vec treba od ostalih sistemskih varijabli.
Sajning ti treba _za_sta_ne_razumem_te ? :)
Uglavnom, sajning jar kao npr. kod appleta se radi preko %JAVA_HOME%/bin/jarsigner.exe i keytool.exe, a ti sad malo pogledaj na netu kako to radi da ne bih drzao ovde javni cas oko generacije kljuceva i lozinki.

Srecno i :type:

Sredio sam to za CLASSPATH, jednostavno su mi se tukli SDK i JRE, kao sto sam vec rekao... Nisam skontao, posto sam sve pokretao iz Eclipse-a i JBuilder-a (u njima podesim biblioteke, kao i koji Java kit da koristi), a za Tomcat su mi MySQL JDBC driver i BouncyCastle u LIB direktorijumu projekta, pa nije bio problem sa serverom, vec samo sa klijentom.

Napominjem da u dokumentaciji stoji da nista od stvari iz LIB i LIB\EXT direktorijuma NE MORA da bude u CLASSPATH-u, jer treba po defaultu tamo da ih trazi, ali ipak nije tako???

Signing mi u principu ne treba ni za sta, osim sto BouncyCastle ne radi bez toga :), pa ne mogu nikako da ga zajedno sa svim ostalim bibliotekama ukljucim u svoj projekat (da sve bude u jedinstvenom JAR-u, da ne bi morao da pravim script za CLASSPATH i da korisnik (hipoteticki, posto mi je to projekat za fax) ne mora rucno da stavlja biblioteke u Java dir), opet ponavljam, zato sto u njegovom manifestu ima stvari koje ne mogu da kombinujem sa onim sto meni treba da stoji. Lepo ja to sve stavim, ali on se ne dodaje u listu security provider-a kad od njega to zatrazim. Ista stvar se javlja kada iskompajliram njihov source.
 
Pukovnik je napisao(la):
Jedno pitanje ... Zbog cega Legions of Bouncy Castle JCE provajder, ako ti je pravio probleme ... u okviru standardne instalacije J2 SDK, dobijas Sun-ov JCE (koji ima podrsku za RSA - do 2048 bita velicina kljuceva - ogranicenje u algoritmu, tako da se instalacijom unlimited security polisa ne moze prevazici) ... koji obavlja posao, a sigurno ti ne bi pravio problema kao gore pomenuti ... I ja sam imao muka da poteram aplikacije koje rade sa BC provajderom na drugim racunarima, ali na kraju kada sam sve uspeo da povezem, ipak se videlo da je BC brzi (ne epohalno, ali ipak dovoljno da bi se neko opredelio za njega). :type:

Jednostavno i sa stavljam te polise, kaze mi da ne moze da nadje provider-a RSA/ECB/PKCS1Padding, kad radim enkripciju/dekripciju. Kljuceve (private/public ili secret) lepo napravi, a i provera signature-a OK radi, ali
Kod:
Cipher rsaCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
nece da prodje... :(

Za KeyPairGenerator se velicina kljuca krece u granicama od 512 do 1024 bita i to zajedno za Private i Public key sa odnosom velicina 3:1 u korist Private-a.

Ako imas resenje sa Sun-ovim provider-om, ako ti nije problem, baci mi na PM, posto, kao sto sam vec rekao, ovo nije komercijalna stvar (bar ne za mene, sto se tice profana nisam bas siguran :S:), posto cu morati BouncyCastle da implementiram i u MIDP2 mikro Java-i na mobilnom, a nemam pojma kako ce to da ide (jos nisam poceo da se zanimam time), bas zbog onog prvog problema sa pakovanjem svega u jednu JAR arhivu, posto je to jedini nacin da se nesto sibne na mobilni.


p.s. Znao sam da sam lepo trebao da batalim mikro Java-u i da lepo radim u Symbian-u k'o covek, a onda bi i sve ostalo (server i klijent na kompu) lepo odradio u C# i C++, da se ne zezam sa glupom Java-om. :S:
 
Ajde bacicu pogled, jer sam sa time radio pre vise od godinu dana ... pa treba da nadjem gde sam arhivirao source za projekte koje sam radio ... Javicu ti cim ih budem pronasao ... Mada me cudi da ti recimo JBuilder pravi problema sa prebacivanjem svega u jedan JAR, jer koliko se secam dok sam ga koristio, on je imao bas inteligentan nacin za ukljucivanje svih komponenti koje aplikacija koristi u jedan JAR fajl ... aj bacicu pogled, pa cu ti javiti.
 
Mozda sam nesto propustio ili nisam dobro shvatio ali... zasto ne zapakujes sve u WAR?
 
@Pukovnik
JBuilder moze da strpa u jedan JAR sve biblioteke koje nemaju svoj manifest (pod tim ne podrazumevam glupi header sa imenom proizvodjaca), tako sve radi perfektno, al' ovako zmaj nece da se igra... :d

@Freelancer
WAR (web application archive) sluzi za server, a nemam problem sa njim, vec sa klijentom...
 
Znaci gledao sam za vikend, i bas sam pokuavao da koristim taj konkretan mod sifriranja da koristim - PKCS#1, ECB pod RSA algoritmom, i nikako nije htelo da mi prodje u takvom obliku ... Mada sam skoro siguran da mi je to ranije sve radilo ... :(
 
Ja sam nekako automatski pomislio da radis web aplikaciju (posto se time ja bavim) :). sorry za taj problem onda nemam ideju sto ne radi.
 
@Freelancer:
Pa radim i jedno i drugo :), al' sa serverom nemam problema, posto tomcat lepo vuce biblioteke iz LIB\EXT dir-a, a i sa WAR-om fino radi... Klijent me zeza... Ma i za ovaj na kompu me zabole kad radi sa svim importovanim jar-ovim u projekat, osim tog jednog, al' sa mobilnim i mikroJava-om je problemcic. :d

@Pukovnik:
To ti kazem... :wall:
 
Nazad
Vrh Dno