Come firmare una MIDlet suite

Firmare una MIDlet suite

Lo sviluppatore che intende firmare una MIDlet suite deve avere un certificato di firma per il codice conforme alle specifiche X.509.

Il dispositivo usa una serie di certificati root per validare il certificato della MIDlet suite.

Il certificato o i certificati usati per firmare la midlet verranno inclusi nel file JAD usando l'attributo MIDlet-Certificate-<n>-<m>.(<n>-<m> rappresenta la catena di certificati eventualmente usata)

Viene generato un digest SHA1 del jar contenente la MIDlet suite firmato con il certificato contenuto nel jad

Tale digest viene memorizzato nel JAD usando l'attributo MIDlet-Jar-RSA-SHA1.

Processo di autenticazione

Viene letto il certificato dall'attributo MIDlet-Certificate

Tale certificato viene validato usando i certificati root presenti nel dispositivo

Viene estratta la chiave pubblica dal certificato e viene usata per decriptare l'attributo MIDlet-Jar-RSA-SHA1.

Il risultante valore sarà il digest SHA1 del JAR.

L'implementazione MIDP calcola lo stesso digest dal jar.

Se entrambi i digest corrispondono la MIDlet suite viene autenticata e viene assegnato il relativo dominio di protezione.

Processo di richiesta del certificato digitale

Attraverso il WTK (Wireless Toolkit) della Sun si genera un coppia di chiavi

  • Aprire il WTK
  • Aprire Utilities
  • Aprire Sign MIDlet
  • Scegli KeyStore
  • Clicca su New KeyPair
  • Inserire i valori (tali valori devono essere sempre gli stessi ogni volta che vengono richiesti in altre fasi)

Scegliere la coppia creata, e Generare un CSR

  • Scegli KeyStore
  • Clicca su Generate CSR

Inviare tale CSR all'autorità(es. Verisign, Thwate) presso la quale si vuole acquistare il certificato.

La tipologia di certificato da acquistare è quella relativa alla firma del codice java.
Quando si acquista un certificato infatti esso deve essere specifico per l'utilizzo che si intende fare.

Conservare il keystore ovvero il file keystore.ks che si trova all'interno della cartella appdb del WTK.
All'interno di tale file è contenuta la coppia di chiavi che dovrà essere utilizzata in un secondo momento per la firma.
Perdendo tali chiavi la firma acquistata non è più utilizzabile.

Dopo qualche giorno arriva un file di testo contenente il certificato digitale rilasciato dall'autorità.

Processo di "installazione" certificato digitale

Il certificato inviato dall'autorità deve essere inserito all'interno del keystore.
Tale operazione può essere fatta con il WTK, con l'apposita funzione Import Certificate.

Alternativa è quella di usare un utilità free e open source: Portecle

Mediante portecle è possibile aprire il file keystore.ks.

Una volta selezionato l'alias che rappresenta le chiavi create per l'occasione
Cliccando il tasto destro è possibile selezionare "import CA reply" e quindi importare il certificato acquistato

Salvando il keystore possiamo quindi utilizzarlo per firmare le midlet, ad esempio importando tale keystore su netbeans





1 comment:

Anonymous said...

ma quanto sei bravo