Raga sapete come si fanno ad integrare le BouncyCastle in un proprio progetto?
Raga sapete come si fanno ad integrare le BouncyCastle in un proprio progetto?
Administrator of NAMDesign.Net
Innanzitutto devi avere il o i jar necessari. Vedi sito di BouncyCastle per ottenere i jar in base a cosa hai bisogno e la versione di Java. E poi semplicemente fare in modo che siano in "classpath".Originariamente inviato da LeaderGL
Raga sapete come si fanno ad integrare le BouncyCastle in un proprio progetto?
Poi comunque la architettura delle API per la security è basata su "provider". Vuol dire che non devi usare direttamente le classi di un certo provider ma quando hai bisogno di un certo algoritmo/servizio, devi usare le classi standard di Java e specificare il nome del provider.
Con la riga sopra si chiede ad esempio l'algoritmo di digest RIPEMD160 fornito dal provider "BC" (BC è la stringa fissa, nota, che identifica il provider BouncyCastle).codice:import java.security.*; .... // Serve solo per "registrare" il provider. Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); MessageDigest ripemd160 = MessageDigest.getInstance("RIPEMD160", "BC");
La riga con il addProvider() serve appunto solo per registrare il provider e renderlo usabile all'interno del framework.
EDIT: nota che si può anche registrare un provider in modo statico nel JRE ma richiede la modifica di un file di configurazione del JRE. Vedi documentazione della classe BouncyCastleProvider che spiega come.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
ciao, ti ringrazio per la risposta.
io devo usare le BouncyCaslte per ECC, ma una volta scaricati i jar (io sto utilizzando gli zip per j2me "lcrypto-j2me-143.zip" e per il pc "lcrypto-jdk15-143.zip") per importarli e quindi utilizzarli come tu mi hai suggerito nel mio progetto come si fa?
basta fare l'import dalle proprietà del progetto?
P.S. ho visto che stai facendo la SCJP 5...non è che avresti qualche consiglio anche sul mio altro problema? (qualche post più sotto, per l'utilizzo della webcam)
Administrator of NAMDesign.Net
Ho trovato il mio problema, in pratica sto utilizzando i sorgenti di bouncy castle e quindi non andava niente.
Ho provato a scaricare i JAR per J2SE 1.5.0 e tutto sembra andare tranquillamente.
Però ora il problema è che per J2ME esistono solo i sorgenti...come faccio ad integrare quelli? oppure in alternativa come faccio a convertirli in dei JAR così da includerli con più semplicità?
Administrator of NAMDesign.Net
Appunto .... usavi i sorgenti. Bouncy Castle rilascia direttamente i jar dei binari .... anche perché sono "firmati" digitalmente da loro per questioni di sicurezza.Originariamente inviato da LeaderGL
io devo usare le BouncyCaslte per ECC, ma una volta scaricati i jar (io sto utilizzando gli zip per j2me "lcrypto-j2me-143.zip" e per il pc "lcrypto-jdk15-143.zip") per importarli e quindi utilizzarli come tu mi hai suggerito nel mio progetto come si fa?
Ho trovato il mio problema, in pratica sto utilizzando i sorgenti di bouncy castle e quindi non andava niente.
A livello di compilazione serve solo che il compilatore riesca a trovare quella classe BouncyCastleProvider. Quindi sì, nel progetto devi referenziare il jar di Bouncy Castle (a meno che tu decida di registrarlo in modo "statico" nel JRE).Originariamente inviato da LeaderGL
basta fare l'import dalle proprietà del progetto?
A runtime, ovviamente i jar devono essere in "classpath" e come/dove metterli dipende poi da come intendi mettere il "relazione" la tua applicazione con i jar (e dipende anche se per la tua applicazione realizzi un jar).
Ehm ... non è che la "sto facendo" .... l'ho già presa ...Originariamente inviato da LeaderGL
P.S. ho visto che stai facendo la SCJP 5
No, mi spiace.Originariamente inviato da LeaderGL
...non è che avresti qualche consiglio anche sul mio altro problema? (qualche post più sotto, per l'utilizzo della webcam)
Purtroppo non me ne intendo molto di Java ME.Originariamente inviato da LeaderGL
Però ora il problema è che per J2ME esistono solo i sorgenti...come faccio ad integrare quelli? oppure in alternativa come faccio a convertirli in dei JAR così da includerli con più semplicità?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Perfetto, ti ringrazio sono finalmente riuscito a risolvere il problema lato "server".
Fondamentalmente ho una applicazione client/server in cui il client è un terminale mobile ed il server è un qualsiasi sistema dove c'è java.
Ora il mio problema per il client è che le BouncyCastle per J2ME non ci sono scaricabili in formato JAR ma ci sono solo i sorgentie non sto riuscendo a farli funzionare in un progetto...
P.S. ah complimenti allora per la SCJP, è che avevo letto 91% e pensavo fosse un work-in-progress![]()
Administrator of NAMDesign.Net
Leggendo sulla pagina http://www.bouncycastle.org/latest_releases.html ho notato la interessante scritta: The J2ME source distribution includes zips for the class filesOriginariamente inviato da LeaderGL
Ora il mio problema per il client è che le BouncyCastle per J2ME non ci sono scaricabili in formato JAR ma ci sono solo i sorgentie non sto riuscendo a farli funzionare in un progetto...
In effetti scaricando il pacchetto lcrypto-j2me-143.zip dentro ci trovi un file cldc_classes.zip che contiene tutti i file .class già compilati per J2ME. Quindi .... beh, basta che li aggiungi nel jar finale della tua applicazione. E quando devi testare la tua applicazione in emulazione sul PC, è sufficiente (credo) che tu metta questo zip in "classpath".
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
cioè ce l'avevo lì sotto il naso....ma por**; ti ringrazio tantissimo ho appena risolto, grazie a te, uno dei miei due problemi.
mo devo solo vedere di capire come mai la webcam (sul pc) non mi compare nella lista dei "CaptureDevice".
ancora grazie mille![]()
Administrator of NAMDesign.Net