sobota, 5 stycznia 2008

Podpisywanie aplikacji AIR

Od pewnego czasu interesuję się podpisami elektronicznymi. Najbardziej znane jest wykorzystywanie podpisów do uwierzytelnienia komunikacji pomiędzy przeglądarka a serwerem w protokole HTTPS. Drugą rzeczą znaną dziedziną w której używa podpisywania jest podpisywanie aplikacji na komórki z Symbianem i midletów J2ME (podpisywać też można dokumenty MS Office i OpenOffice). Trzecią dziedzina jest podpisywanie korespondencji emailowej. Zauważyłem że nie jest to dziedziny szczególnie popularne z kilku powodów:
przede wszystkim z powodów wysokich kosztów jakie muszą ponosić Ci którzy chcą podpisywać swoje aplikacje. Kolejną rzeczą jest to podpisywaniem aplikacji to interesują się głównie Ci którzy mają Symbiana (bo ten system wymaga żeby w większości przypadków aplikacje były podpisane). Ale jak wiadomo można zawsze sobie wygenerować certyfikaty i na podstawie nich tworzyć podpisy. Więcej informacji o generowaniu podpisów można sobie przeczytać w artykule o tworzeniu własnego certyfikatu OpenSSL X.509. O podpisywaniu aplikacji pod Symbianem można przeczytać w tym artykule (chociaż już trochę sie zmieniło na stronie SymbianSigned.com). W większości przypadków dla aplikacji pod Symbianem (szczególnie midletów J2ME trzeba sie pogodzić z tym że instaluje się je niepodpisane albo można sobie wygenerować własny certyfikat do podpisywania midletów co jest pokazane w tym artykule)

W stronę wymogu podpisywania aplikacji też idzie technologia Adobe AIR (widocznie zapomnieli że podpisywanie aplikacji Shockwave w Director też przyczyniło się do upadku tej technologii). Otóż w wersji finalnej AIR trzeba będzie podpisywać certyfikatami CA. (albo w razie czego sami będziemy generować podpisy dla plików *.airi)
Zanim zajmiemy się tworzeniem własnych podpisów dla AIR polecam zapoznanie się z artykułami Packaging an AIR installation file using the AIR Developer Tool a także z Digitally signing an AIR file można też przeczytać wątek o używaniu rożnych formatów certyfikatów. Mamy też opis jak tworzyć własny certyfikat do podpisywania. Oto przykład (a plik adt.bat znajduje się w AIR SDK)

adt -certificate -cn MojCert -o "Michal Malaj"
-c PL 2048-RSA newcert.pfx #haslo#
Wyjaśnienie ważniejszych przełączników:
-certificate - informuje że chcesz wygenerować certyfikat
-cn - oznacza podanie nazwy certyfikatu
-0 - oznacza podanie imienia i nazwiska (opcjonalne)
-c - oznacza podanie dwuliterowego skrótu kraju (opcjonalnie)
dalej kolejność jest ważna (sposób szyfrowania, nazwa pliku z wygenerowanym ceryfikatem, hasło do certyfikatu)

a potem podczas tworzenia pliku AIR warto użyć
adt -package -storetype pkcs12 -keystore newcert.pfx
-keypass #haslo# myApp.air myApp.xml myApp.html
AIRAliases.js image.gif

Brak komentarzy: