Appunti per Scuola e Università
Umanistiche
Appunti e tesine di tutte le materie per gli studenti delle scuole medie riguardanti le materie umanistiche: dall'italiano alla storia riguardanti le materie umanistiche: dall'italiano alla storia 
Scientifiche
Appunti, analisi, compresione per le scuole medie suddivisi per materie scientifiche, per ognuna troverai appunti, dispense, esercitazioni, tesi e riassunti in download.
Tecniche
Gli appunti, le tesine e riassunti di tecnica amministrativa, ingegneria tecnico, costruzione. Tutti gli appunti di AppuntiMania.com gratis!
Appunti
informatica
C Computer Database Internet Java
Linux unix Reti


AppuntiMania.com » Informatica » Appunti di Java » Il provider Bouncy Castle

Il provider Bouncy Castle




Visite: 546Gradito: [ Picolo appunti ]
Leggi anche appunti:

Cifratura e decifratura


Cifratura e decifratura La cifratura è il concetto più semplice della crittografia,

Il provider Bouncy Castle


Il provider Bouncy Castle Per quanto riguarda i provider, oltre a quello della

La firma digitale


La firma digitale Un utilizzo molto diffuso della crittografia è per processi



Scarica gratis Il provider Bouncy Castle

Il provider Bouncy Castle

Per quanto riguarda i provider, oltre a quello della Sun Microsystem, ce ne sono molti altri che offrono, più o meno, gli stessi servizi. Tra questi uno particolarmente ricco di funzionalità interessanti è il provider org.bouncycastle, il qual è stato anche adoperato anche nel nostro progetto per implementare alcuni servizi. Il package con le funzionalità offerte da questo provider è veramente ampio. Una delle caratteristiche peculiari di questo package  è rappresentata dal fatto che la licenza d’utilizzo è gratuita ed è liberamente scaricabile dal sito della BouncyCastle [8].



Un difetto di questo provider è che tutte le sue funzionalità e i servizi offerti sono scarsamente documentati.

Ci soffermeremo brevemente su quelle che sono le parti di nostro interesse, e che sono state utilizzate nell’implementazione del progetto, in quanto una breve introduzione al package, ed ai principali servizi, è già stata data nel paragrafo 2.2.

Le classi su cui ci soffermeremo rappresentano alcune classi del package di supporto allo standard ASN.1[1] [20]. Tra le classi di questo package la nostra attenzione si è rivolta particolarmente alle seguenti:

Ø    org.bouncycastle.asn1.DERInputStream: rappresenta una classe che estende la classe della Sun java.io.FilterInputStream, il cui utilizzo è sconsigliato dal provider stesso. Noi ad esempio lo abbiamo utilizzato solo ed esclusivamente come anello di congiunzione tra la classe java.io.ByteArrayInputStream e la classe del provider org.bouncycatle org.bouncycastle.asn1.ASN1Sequence, che andremo a descrive immediatamente;

Ø    org.bouncycastle.asn1.ASN1Sequence: rappresenta un’estensione della classe org.bouncycastle.asn1.DERObject, ed è una classe astratta. Questa classe ASN1Sequence ci è tornata utile, ad esempio, perchè permette di prendere un oggetto e di ottenere una sequenza di dati in formato ASN1;

Ø    org.bouncycastle.asn1.x509.X509Name: rappresenta un supporto molto utile per la creazione di quelle informazioni presenti in un certificato in formato X.509, che in Figura 29, sono indicati con il nome di Issuer Name e Subject Name. Questi campi sono formati da una serie di sottocampi che rappresentano le informazioni rispettivamente di colui che ha rilasciato il certificato e del proprietario dello stesso. Queste informazioni possono essere un numero variabile, nel senso che non tutte le informazioni sono necessarie, ma quelle fondamentali sono indicate con i seguenti simboli:


Simboli

Significato dei Simboli

CN

Rappresenta il nome comune del proprietario o di chi ha rilasciato il certificato

O

Rappresenta il nome dell’organizzazione a cui appartiene CN

OU



Rappresenta il nome dell’unità organizzativa all’interno di O  a cui appartiene CN

C

Rappresenta il nome dello stato incui si trova l’ente che ha rilasciato o possiede il certificato

L

Rappresenta il nome della località in cui si trova il possessore o chi ha rilasciato il certificato

Tabella 21: elenco dei simboli costituenti il distinguished name del certificato

Sono comunque disponibili altri simboli relativi ad atrettanti paramatri che è possibile settare, come ad esempio l’e-mail ed altri, per la cui spiegazione si rimanda il lettore alle pagine javadoc del provider [8].

Infine le ultime due classi, di cui vogliamo dare una breve spiegazione sono le seguenti:

Ø    org.bouncycastle.asn1.x509.X509CertificateStructure: rappresenta una classe per la gestione di un certificato in formato strutturale. Infatti questa classe permette il recupero di tutte le informazioni  presenti all’interno di un certificato in formato X.509 tramite una serie di metodi, tutti con il prefisso get;

Ø    org.bouncycastle.jce.X509V3CertificateGenerator: rappresenta una classe importantissima per la creazione ex-novo di un certificato in formato X.509. Come si può intuire dal nome della classe, questa classe fornisce gli strumenti per costruire un certificato X509 nel formato della versione 3. Sono presenti numerosi metodi per il settaggio dei parametri interni al certificato, inoltre è presente un metodo, ridefinito in più forme a seconda dei parametri accettati, generateX509Certificate(), il quale permette la creazione di un certificato sulla base delle impostazioni settate con gli altri metodi della classe sull’oggetto stesso. In tutte le sue ridefinizioni, questo metodo accetta in ingresso una chiave privata necessaria per la firma del certificato stesso.



[1] ASN.1 – Abstract Syntax Notation One - è un linguaggio astratto usato per descrivere strutture dati in una macchina in modo indipendente dal tipo di implementazione. La struttura dati del certificato X.509, per esempio, è definita usando ASN.1

Scarica gratis Il provider Bouncy Castle
Appunti su:







Accedi al tuo account
Scarica 100% gratis e Invia appunti, tesine, riassunti

Registrati ora Password dimenticata?
  • Appunti superiori
  • In questa sezione troverai sunti esame, dispense, appunti universitari, esercitazioni e tesi, suddivisi per le principali facoltà.
  • Università
  • Appunti, dispense, esercitazioni, riassunti direttamente dalla tua aula Universitaria
  • all'Informatica
  • Introduzione all'Informatica, Information and Comunication Tecnology, componenti del computer, software, hardware ...

Appunti internet internet
Tesine c c
Lezioni database database