Eccola qui:
Questo How-To spiega come creare un certificato e una chiave per firmare applicazioni symbian 3rd UnSigned con Linux.
Requisiti:
* Linux
* OpenSSL
* Python
Per prima cosa creiamo un file di configurazione per OpenSSL con cui creeremo il file CSR per la Richiesta di Firma di Certificato (Certificate Signing Requests)
mycert.conf:
CODE
[req]
default_bits=1024
distinguished_name=req_distinguished_name
prompt=no
req_extensions=extend
[req_distinguished_name]
C=IT
ST=State
O=Italy
CN=sk
[extend]
1.2.826.0.1.1796587.1.1.1.1=critical,DER ::30110c0f[i]#IMEI[/i]
1.2.826.0.1.1796587.1.1.1.6=critical,DER ::0309002d8ff00000000000
default_bits=1024
distinguished_name=req_distinguished_name
prompt=no
req_extensions=extend
[req_distinguished_name]
C=IT
ST=State
O=Italy
CN=sk
[extend]
1.2.826.0.1.1796587.1.1.1.1=critical,DER ::30110c0f[i]#IMEI[/i]
1.2.826.0.1.1796587.1.1.1.6=critical,DER ::0309002d8ff00000000000
Le opzioni del certificato possono essere facilmente modificate nella sezione [req_distinguished_name], mentre le funzioni vanno modificicate nelle sezione [extend].
Bisogna inoltre sostituire #IMEI con il proprio IMEI (*#06# sul cellulare) in formato ASCII, che si può ottenere facilmente con il comando in shell:
CODE
$ echo -n 123456789012345 | od -t x1 | sed s/^.......// | sed 's/ //g'
(al posto di "123456789012345" va il vostro IMEI)
(al posto di "123456789012345" va il vostro IMEI)
(Questo comando semplicemente aggiunge un 3 prima ogni numero dell’IMEI).
I quattro bytes prima dell’IMEI (30110c0f) sono una sorta di header, mentre la riga successiva serve per la richiesta delle famose capabilities. Dopo i tre bytes di header c’è il bit filed (2d8ff00000000000) che specifica quali capabilities il certificato dovrebbe richiedere. Queste sono le impostazioni di default che includono tutte le capabilities garantite senza un ID ACS publisher.
Ora generiamo la chiave mycert.key digitando in shell:
CODE
$ openssl dsaparam -genkey 1024 > dsaparam
$ openssl gendsa -des3 dsaparam > mycert.key
$ openssl gendsa -des3 dsaparam > mycert.key
Scegliete una password e ricordatevela (in alternativa se non volete usare nessuna password omettete l’opzione -des3).
Generiamo il file CSR per la Richiesta di Fimra Certificato mycert.csr:
CODE
$ openssl req -new -key mycert.key -config mycert.conf > mycert.csr
...e inserite la password scelta prima.
Ora registratevi sul sito symbiansigned: serve un’email non gratuita (o quasi), potete quindi usare http://www.fastmail.fm scegliendo uno tra i tanti domini disponibili. In My Symbian Signed clickate su Developer Certificate e poi su Request, inviate il file CSR appena creato e scaricate il certificato creato dal sito mycert.cer.
Ora abbiamo la chiave e il certificato, ci serve solo un programma per firmare le nostre applicazioni symbian.. ed eccolo: Ensymble (necessita di python installato).
Scaricate la versione pre-squeezed adatta al python installato sulla vostra macchina e usate Ensymble per firmare le applicazione:
1)Rinominate il file ensymble_pythonX.X-X.XX.py appena scaricato in ensymble.py
2)Spostate i file ensymble.py, mycert.cer, mycert.key ed il file .sis da signare in una nuova cartella creata appositamente.
3)In tale cartella aprire la shell e digitare:
CODE
$ ./ensymble.py signsis --cert=mycert.cer --privkey=mycert.key --passphrase=KEY_PASSWORD --verbose INFILE OUTFILE
KEY_PASSWORD è la vostra password scelta prima, INFILE è il vostro file .sis da signare, OUTFILE è il nome (compreso di estensione .sis) del file finale.
Ensymble è un potente tool per permette di creare, firmare, unire più file SIS e di vedere e modificare le capabilities di tutti i file EXE e DLL contenuti nel SIS.
Quì la versione scaricabile.
P.S.
E' anche vero che esiste un pratico software per certificare file direttamente dal cellulare...quì maggiori dettagli
Quindi adesso abbiamo 3 possibilità per certificare files: Da Windows, Da Linux, Dal Cellulare. Non vi resta che scegliere.
Spero di aver fatto cosa gradita....altrimenti....pazienza.
