Proste pytanie z dość skomplikowaną odpowiedzią:Jak podpisać Java Midlet?
Jak wpisać Java Midlet, aby można było go załadować na telefon komórkowy z mniejszymi monitami bezpieczeństwa?
Proste pytanie z dość skomplikowaną odpowiedzią:Jak podpisać Java Midlet?
Jak wpisać Java Midlet, aby można było go załadować na telefon komórkowy z mniejszymi monitami bezpieczeństwa?
Get wymagane oprogramowanie
Importuj istniejący certyfikat (jeśli masz)
keytool -import -alias {myalias} -file {mycertificate}
(I nie były w stanie to sprawdzić, ponieważ nie ma odpowiedniego certyfikatu)keytool -list
aby zobaczyć swój nowy certyfikatkeytool -export -alias {myalias} -file mycertificate.crt
Tworzenie i zaimportować nową (test) zaświadczenie
keytool -genkey -alias {myalias} -keyalg RSA -validity 365
keytool -list
aby zobaczyć swój nowy certyfikatkeytool -export -alias {myalias} -file mycertificate.crt
C:\j2sdk1.4.2_08\bin>keytool -genkey -alias company -keyalg RSA -validity 365
Enter keystore password: password
What is your first and last name? [Unknown]: My Name
What is the name of your organizational unit? [Unknown]: company
What is the name of your organization? [Unknown]: company
What is the name of your City or Locality? [Unknown]: location
What is the name of your State or Province? [Unknown]: location2
What is the two-letter country code for this unit? [Unknown]: GB
Is CN=My Name, OU=company, O=company, L=location, ST=location2, C=GB correct? [no]: yes
Enter key password for (RETURN if same as keystore password):
Budowa i pakować aplikacja
javac
, aby zbudować swój MIDlet, zwracając szczególną uwagę na opcje ścieżki klas i bootclasspath (w przeciwnym razie przetestowanie nie powiedzie się). Ustawiłem również cel na 1.1 i źródło 1.3MIDlet-Jar-URL
- Both these tasks can be completed using the wtkJad Antenna task
- Package and preverify the app using the wtkPackage Antenna Task you must set the classpath and bootclasspath properties correctly otherwise Preverification will fail
Sign the application
- Sign the Application using
jarsigner
- Run
jarsigner -keystore {mykeystore} -storepass (mypassword} {myjar} {myalias}
- teraz masz podpisaną słoik trzeba zaktualizować
MIDlet-Jar-Size
w JAD
- teraz dodać certyfikat do JAD korzystając
JadTool.jar
z WTK
- Run
java -jar JadTool.jar -addcert -alias {myalias} -storepass {mypassword} -keystore {mykeystore} -inputjad {myinputjad} -outputjad {myoutputjad}
- Teraz dodać podpis do JAD ponownie używając
JadTool.jar
- Run
java -jar JadTool.jar -addjarsig -alias {myalias} -jarfile {myjar} -storepass {mypassword} -keypass {mypassword} -keystore {mykeystore} -inputjad {myinputjad} -outputjad {myoutputjad}
Wdrożenie
- Deploy to serwer WWW z typów MIME prawidłowo ustawione i pobierz go na telefon, a będzie to zaufana aplikacja innej firmy.
- Możesz również wdrażać aplikacje na telefonach, wysyłając JAR & JAD do telefonu przez Bluetooth lub podczerwień lub kabel w zależności od funkcji telefonu. W telefonach Nokia pliki pojawiają się w skrzynce odbiorczej SMS
Instalacja certyfikatu w telefonie
- zaimportować certyfikat do telefonu, w systemie Windows XP z dodatkiem SP2 mogłem zrobić to klikając prawym przyciskiem myszy plik i wybranie "Wyślij do urządzenia Bluetooth", powinieneś być w stanie wysyłać pliki również kablem lub podczerwienią (IR). UWAGA: I nie znalazłem i tak żadnego importu certyfikatu na telefonie z serii 40
- Po zainstalowaniu certyfikatu musi być ono autoryzowane na "Instalacja aplikacji".Na mój telefon (Nokia 6680) to pod Narzędzia- > Ustawienia- > Certyfikat Management- > ustawień zaufania, włączyłem wszystkiego, ale myślę, że „Instalacja aplikacji” jest wszystko, czego potrzeba
Najczęstsze problemy
- aplikacja nie jest zainstalowana przy użyciu JAD: aplikacja jest zaufany tylko wtedy, gdy jest instalowany przy użyciu JAD, aplikacja będzie jeszcze zainstalować ze słoika, ale nie będzie można ufać.
- Nie ustawiono ustawień zaufania aplikacji: Po zainstalowaniu aplikacji należy określić, ile zaufania należy jej podać (domyślnie nie otrzymuje ona wszystkich uprawnień). W telefonie Nokia Series 60 można je znaleźć w aplikacji. Menedżer.
- certyfikat głównej brakuje telefon: weryfikowany certyfikat Java i/lub certyfikaty Verisign są z niektóre telefony sprawdzić pod Narzędzia- > Ustawienia- > Zarządzania Certyfikat dla odpowiedniego świadectwa
- Authorization Failed brakuje: - Istnieje całe mnóstwo możliwe przyczyny to tu są te natknąłem
- Certyfikat brakuje telefon dwukrotnie sprawdzić certyfikat jest zainstalowany i został oznaczony jako zaufany do aplikacji instaluje się certyfikat zarządzania
- Reboot: odinstalować aplikację całkowicie następnie uruchom ponownie telefon, spróbuj wziąć baterię i SIM również, często rzeczy się skręcają, zwłaszcza jeśli wielokrotnie instalowałeś ponownie bez deinstalowania pierwszej niezgodności JAD/JAR: dwukrotnie sprawdź rozmiar aplikacji w JAD, pamiętaj, że jest to liczba bajtów że ważne jest nie rozmiar na dysku
cache
- Przeglądarka: Jeśli instalujesz na powietrze upewnij się, wyczyść pamięć podręczną przeglądarki przed zainstalowaniem
- słyszałem, ale nie sprawdziła, że podziały wiersza w
MIDlet-Permissions
może powodować problemy ale wydaje mi się okej na Nokia 6680/6630/6230i (może być zależny od oprogramowania)?
- Atrybut
MIDlet-Permissions
jest przyczyną wielu problemów (zwłaszcza od czasu dokumentowania). często jest źle/brakuje lub różni się w zależności od telefonu), spróbuj najpierw wyjść i dodać uprawnienia za jednym razem. Niektóre telefony będą narzekać uprawnieniami one nie obsługują, niektóre będą im
- ignorować Jest to błąd w niektórych wczesnych Nokia 6600 firmware, które zatrzymują instalacji zaufanych MIDletami
- Certyfikat jeszcze nieważny: Jeśli sam wygenerował certyfikat, może mieć jutrzejszą datę ważności, także jeśli daty twojego komputera i telefonu są różne, może być poza okresem ważności certyfikatu
- Brak zarządzania certyfikatami w telefonach Series 40, możesz zainstalować podpisany aplikacja, ale zachowanie jest dziwne w przypadku samopodpisanych certyfikatów
- JadTo ol problemy: Nie doświadczyłem żadnego z tych problemów, ale wiele innych osób ma
- "Mam problemy, jeśli spróbuję ręcznie użyć jadtool. Mam łańcuch certyfikatów i nie mogę uzyskać drugiego certyfikatu dodanego do pliku JAD przy użyciu dowolnego jadtolu WTK. Ciekawą częścią jest jednak to, że mogę z powodzeniem podpisać program pośredni za pomocą jednego z tych samych interfejsów GUI WTK - poprawnie dodają drugi certyfikat.Moje kroki:
- Zastosowanie 1.4.2_06 jarsigner.exe podpisać słoika
- Używaj WTK (2.2 lub 2.3 beta) jadtool do addcert z certnum 1
- Jeśli zadzwonię jadtool do addcert z certnum 2 jest taki sam certyfikat wstawiony jako cert 1-2 jestem zakładając robie coś nieprawidłowo, ponieważ gui WTK wydaje się działać dobrze „
- ” otrzymałem post w grupie prasowej KVM na temat, który członkowskich istnieje błąd w jadtool i autor twierdzi, że złożył zgłoszenie błędu i wysłał łatkę: http://archives.java.sun.com/cgi-bin/wa?A2=ind0508&L=kvm-interest&F=&S=&P=9858 Jedna interesująca uwaga Zostało również napisane, że paramtery JAD są statyczne, więc po ich prawidłowym wprowadzeniu do WTK można je statycznie umieścić w skrypcie ant. "
- " Próbuję podpisać MIdlet dla urządzenia Nokia 6620. Używam certyfikatu Verisign Code Signing, który zawiera dwa certyfikaty (User and Intermediate CA). Używam narzędzia do podpisywania WTK 2.2. Czy wiesz, czy to narzędzie obsługuje dwa certyfikaty podczas podpisywania? Podpis jest dodawany do pliku JAD z dwoma certyfikatami, ale podczas instalacji wystąpił błąd zabezpieczeń. Sprawdziłem urządzenie i istnieją różne certyfikaty główne zainstalowane dla Verisign, ale nadal nie działa!
- "Jeśli chcesz, możesz pobrać zestaw programisty sprintpcs, ponieważ obsługuje on dwa certyfikaty (http://developer.sprintpcs.com) .Jednakże nigdy nie otrzymałem tego certyfikatu do pracy na telefonie Nokia (6620/cingular), mimo że działa on na telefonach sprinterskich (z włączonym rootem programisty) Ostatecznie, mam tylko rzeczy do pracy, tworząc certyfikat opisany na tym blogu i instalując go przez telefon. Dziwacznie, mimo że głównym certyfikatem dla mojego certyfikatu z podpisami versus * był * na 6620 telefon, to nigdy nie zainstalowałoby mojego MIDletu tak, jak myślałeś, że powinno. "
- starych telefonów (6230/i, 6682) nie obsługują certyfikatów x509, WPKI sugerowano jako możliwe rozwiązanie, ale nie badali ten
- połączenia gwintowane mogą być problematyczne (http://discussion.forum.nokia.com/forum/showthread.php?t=68306) ewentualnie ze względu na infrastrukturę WAP i usługi świadczone przez operatora. HTTP jest znacznie bezpieczniejszym protokołem do używania
- "Przejdź do trybu online i sprawdź ważność aplikacji": Tak/Nie. Jeśli kliknę przycisk Tak, telefon dostanie następujący błąd: "Certyfikat unieważniony dla tej aplikacji" i instalacja nie powiedzie się. Aby to poprawić, przejdź do Narzędzia - > Manager - > Menu - > Ustawienia - > Online Certif Check [On/Off/Required] Jest również ustawienie adresu domyślnego. Jeśli ustawienie kontroli online jest wymagane, kontrola nie powiedzie się, jeśli nie ma adresu domyślnego. zobacz http://discussion.forum.nokia.com/forum/showthread.php?t=71071
zaufania Domeny
- Istnieją 4 różne domeny zaufania w MIDP2 (producent, operator, zaufaną stronę trzecią, i niezaufane). Zaufana strona trzecia jest jedyną, która naprawdę nam się podoba.W telefonie Nokia 6680 (Vodafone UK) dostępne są następujące opcje:
Dostęp do sieci: Niedozwolony, Pytaj za każdym razem, Zapytaj po raz pierwszy Wiadomości: Niedozwolone, Pytaj za każdym razem, gdy aplikacja Automatyczne uruchamianie: Niedozwolone, Pytaj co czas, Zapytaj po raz pierwszy Łączność: Niedozwolone, Pytaj za każdym razem, Pytaj za pierwszym razem, Zawsze dozwolone Multimedia: Niedozwolone, Pytaj za każdym razem, Pytaj pierwszy raz Czytaj Dane użytkownika: Niedozwolone, Pytaj za każdym razem, Pytaj po raz pierwszy, Zawsze dozwolone Edytuj dane użytkownika: Niedozwolone, Pytaj za każdym razem, Pytaj za pierwszym razem, Zawsze dozwolone
- Ustawienia te są definiowane przez operatora i producenta telefonu, a zatem różnią się w zależności od telefonu, producenta i operator.
nierozwiązanych problemów
- udało mi się podpisać JAD z tego formatu przy użyciu narzędzia J2ME WTK, ale gdy próbuje zainstalować go na urządzeniu pojawia się komunikat „autoryzacja Aplikacja nie 909”.
JAD Próbka
MIDlet-Jar-URL: MyApp.jar
MIDlet-Jar-Size: 201365
MIDlet-Name: MyApp
MIDlet-Vendor: EC1M
MicroEdition-Profile: MIDP-2.0
MicroEdition-Configuration: CLDC-1.1
MIDlet-Icon: logo.png
MIDlet-Push-1: sms://:6553,net.ec1m.MyApp.midp.MyAppMIDlet,*
MIDlet-Description: MyApp MIDlet
MIDlet-Permissions: javax.microedition.io.PushRegistry,javax.microedition.io.Connector.sms...
MIDlet-Version: 1.0.67 MIDlet-1: MyApp, logo.png,net.ec1m.MyApp.midp.MyAppMIDlet
MIDlet-Certificate-1-1: MIICODCCAaECBEKqpfswDQYJKoZIhvcNAQEEBQAwYz...=
MIDlet-Jar-RSA-SHA1: EUsAch/.../hEZOsJsiCjBOhNs/3FSw4=
Przykładowy Manifest
Manifest-Version: 1.0
MIDlet-Name: MyApp
Created-By: 1.4.2_05-b04 (Sun Microsystems Inc.)
MIDlet-Push-1: sms://:6553,net.ec1m.MyApp.midp.MyAppMIDlet,*
MIDlet-1: MyApp, logo.png, net.ec1m.MyApp.midp.MyAppMIDlet
MicroEdition-Configuration: CLDC-1.1
Ant-Version: Apache Ant 1.6.2
MIDlet-Icon: logo.png
MIDlet-Vendor: EC1M
MIDlet-Permissions: javax.microedition...
MIDlet-Version: 1.0.67
MicroEdition-Profile: MIDP-2.0
MIDlet-Description: MyApp MIDlet
Próbka Ant kompilacji Włożyłam naszych EC1Mant build file się na naszej stronie internetowej (mam nadzieję) wszystko to trochę łatwiejsze dla Ciebie. Inne zasoby Ten numer FAQ on the Nokia Forum jest wart odczytu.
Mam zainstalowany jego certyfikatu korzeń .. użyciu tego symcaimport.redelijkheid.com/ teraz Ustawienia> Zabezpieczenia > certyfikaty> godaddy> wybierz zastosowanie> istnieją trzy opcje serwer auth. krzyż certy. app podpisywanie wśród których aplikacja jest wyłączona znak .. i kiedy zainstalować aplikację i kliknij na nią pokazuje nieprawidłową aplikację „usunąć?” certyfikat rot Mam zainstalowany jest od https://certs.godaddy.com/anonymous/repository.seam Go Daddy Certyfikat główny Urzędu Certyfikacji Klasy 2 (format DER) , ale pokazuje "Nie znaleziono certyfikatu na telefonie lub karcie SIM" –
dobra odpowiedź. wikifikuj to! – kokbira
Zainstalowałem certyfikat na moim telefonie komórkowym ('Nokia Asha 302'), ale kiedy wchodzę do' Zarządzania certyfikatami' opcja 'Podpisywanie aplikacji' jest wyszarzona, więc pojawia się błąd' Certyfikat nie na urządzeniu lub karcie SIM' kiedy próbuję aby go otworzyć. Jak mogę to włączyć? Jestem zdesperowana! Próbuję podpisać autorską aplikację przez 2 dni i nie mogę jej uruchomić! :( –
Krok 1: Tworzenie żądania CSR, które mogą być podjęte przez
1) Creating keystore and using that generate CSR file.
2) Perform steps given by certificate authority and download CSR and private key files.
Krok 2: podać swoje informacje do urzędu certyfikacji w celu weryfikacji.
Krok 3: Otrzymasz certyfikat do podpisywania kodu.
Krok 4: Należy pobrać pośredni certyfikat obciążenia wraz z certyfikatem głównym.
Krok 5: Teraz będzie o your_domain_name.crt, IntCertCA.crt, TrustedRoot.crt
Now you need to create a chained certificate by combining all above certificates.
1) Open a text editor (such as wordpad) and paste the entire body of each certificate into one text file in the following order:
The Primary Certificate - your_domain_name.crt
The Intermediate Certificate - IntCertCA.crt
The Root Certificate - TrustedRoot.crt
Make sure to include the beginning and end tags on each certificate. The result should look like this:
-----BEGIN CERTIFICATE-----
(Your Primary SSL certificate: your_domain_name.crt)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Your Intermediate certificate: IntCertCA.crt)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Your Root certificate: TrustedRoot.crt)
-----END CERTIFICATE-----
Save the combined file as your_domain_name.pem. The .pem file is now ready to use.
Step6: Importuj klucz prywatny do swojej your_domain_name.pem
openssl pkcs12 -export -in your_domain_name.pem -inkey your_private_key.key -out output_file_name.p12 -name your_alias
NOTE: PLEASE REMOVE \ FROM FOLLOWING COMMANDS AND EXECUTE (\ IS BASICALLY COMMAND CONTINUETY)
STEP7: Utwórz magazyn kluczy z nazwa_pliku_wyjściowego.p12
keytool -importkeystore \
-deststorepass changeit -destkeypass changeit -destkeystore your_domain_keystore.ks \
-srckeystore output_file_name.p12 -srcstoretype PKCS12 -srcstorepass your_store_password \
-alias your_alias
Krok8: UWAGA: PROSZĘ PODAĆ KOPIĘ ZAPASOWĄ SWOJEGO PLIKU PRZED WYKONANIEM NASTĘPUJĄCYCH KOMEND.
Add your certificates to your your_midlet_name.jad file.
java -jar JadTool.jar -addcert -alias your_alias \
-storepass your_store_password \
-keystore your_domain_keystore.ks \
-inputjad your_midlet_name.jad -outputjad your_midlet_name.jad
Step9: UWAGA: zrób kopię zapasową pliku przed JAD wyzwalanie następujące polecenia.
Sign your midlet, also use your_midlet_name.jad file generated from Step8.
java -jar JadTool.jar -addjarsig \
-alias your_store_password \
-storepass your_store_password \
-keypass your_store_password \
-keystore your_domain_keystore.ks \
-inputjad your_midlet_name.jad -outputjad your_midlet_name.jad
+1: Szukałem czegoś takiego (+: N00b do J2ME – Everyone