HOWTO Build, Sign and Install MIDlets

New handset programmers like me always have trouble building a signed MIDlet and installing it on a handset. No matter whether you buy a code signing certificate or not, it is hard to get it working at the first shot. I wrote this article after a prolonged trials and errors. I hope this would help some readers.

My Photo
Name:
Location: San Jose, California, United States

Originally from India, living in California. Software designer by profession, enthusiastic by nature. Trying new ventures in wireless world. email me at brown_drf[at]yahoo[dot]com

Monday, June 05, 2006

I’m aware that this is a lengthy process and involves several delicate steps. I wish I knew an easier method!! I have only tested this with one handset (nokia 6682). If you have a different handset things can be slightly different. However the basic signed MIDlet security model should be the same. The main problem with several (at least mine) handsets is, they do not allow you to directly install new CA root certificates. The security model is great, but this enforces us to buy a code-signing certificate even just for testing purpose. After reading several articles and email discussions I managed to install a self-signed certificate to my handset. I could also successfully install my test MIDlet signed by that self-signed certificate. My contribution to this process is very little. I just collected bits and pieces from different places and put them together. I hope this might help some developers. If you have any questions or comments you may email me to brown_drf [at] yahoo [dot] com. Good luck!



Disclaimer

The process described here is not guaranteed to work on all handset models.

 
Pre-requisites

I assume the reader knows how to setup a simple website, simple web page programming to upload a file, basic knowledge on how certificates work etc. The processdescribed here also require reasonable understanding of your handset's configuration. I’m also not focusing on how to download tools and how to set them up.

 

Tools required

Sun Wireless Toolkit 2.3 (WTK)
carbide j - 1.0 (just to sign the midlet - I haven't tried other tools)
OpenSSL - to create and sign certificates

 

 

 
Goal

To to build, sign and install a MIDlet that can access a restricted j2me classes (like network access). In my experiments I was tring to develop a client MIDlet capable of opening a Bluetooth connection to a PC.

 

 

 
Step 1: Build and (try to) test your MIDlet on Emulator

I started with a sample code came with Sun's WTK. Build your code using KToolbar. Try to run your MIDlet on an emulator. In my case it wasn't working! “for some reason” the emulator was not was not detecting my a bluetooth hardware - anyway. Since I was developing a BT client, I first tested it with standard sockets, just to check whether my handset UI works at least.

 
Tool used: KToolbar (Sun WTK)

 

 
Step 2: Set permissions and create MIDlet package

Once you think your MIDlet is good to go, you should build a package for installation. As you might already know, depending on the classes/packages you are using, you might need to setup MIDlet permissions. You can do that with KToolbar itself. Click "Settings" and pick "Permissions" tab. Click on "Add" to pick the packages/class you are interested in. I had to add only one (javax.microedition.io.Connector.bluetooth.client) because my MIDLet was a simple BT client. Most other fields are automatically filled, but it worth eyeballing around and making sure nothing is obviously wrong. Now you may create the MIDlet package by selecting Menu->Project->Packages->CreatePackage. This will create a MyMIDlet.jar file and a MyMIDlet.jad file under your sample app's bin/ folder. Open the .jad file in a text editor and take a quick visual examination

 

 
Make sure :

  •  You don't see anything unusual - obviously :)
  • The permission(s) you added are present - very important
  • No certificate information present - If present, delete them (we will add them later)
  • Alrite.. , you just created an "unsigned" MIDlet !!

 

 

Step 3: Create a self-signed issuer CA

 The idea is to create fake CA certificate that can be used to issue a code-signing certificate.
(You might require to configure openSSL such as creating a folder called c:\usr\bin under windows and copy the openssl.conf file into that folder)

 
Note: Do these under a clean folder so that you won’t lose these files

 
At the command prompt, run following OpenSSL commands to create an issuer CA

 

openssl genrsa -des3 -out ca.key 4096

openssl req -new -x509 -days 365 -key ca.key -outform DER -out ca.cer

openssl req -new -x509 -days 365 -key ca.key -out ca.crt

 

This will ask a few questions (like company name, OU etc). Enter some valid inputs.

 
Now you have generated 3 files

  • ca.key is your fake self-signed CA private key
  • ca.crt your CA’s public key (certificate) in PEM format
  • ca.cer your CA’s public key (certificate) in DER format

Note: Make sure you save these files.

Now, test the certificate's validity by installing it on your desktop. If you are on windows, just double click it and windows will say if the cert is invalid.

 
For further reading on certificate creations go to :


 

Step 4: Install the newly created CA certificate on your handset

This is tricky. I did it with the help of a small webserver I had. What you need to do is to create a web page from which a browser can download your ca.cer file. The page can be can be developed in any language. In my case I had a tomcat server serving a jsp page. But I recommend apahe/php, because its easy to setup. The important thing is setting the MIME content type to "application/x-x509-ca-cert".

 

Sample php back-end script will look like this

[code]
$file = path_to_your_CA_CER_FILE

header('Content-Description: File Transfer');

header('Content-Type: application/x-x509-ca-cert');

header('Content-Length: ' . filesize($file));

$bn = basename($file);

header("Content-Disposition: attachement;filename=$bn");

readfile($file);

[/code] 

 

 
Sample JSP back-end java code will look like this

 

[code]
File exportFile = new File(path_to_your_CA_CER_FILE);

response.setContentType("application/x-x509-ca-cert");

response.addHeader("Content-Disposition", "attachment; filename="
exportFile.getName());

OutputStream os = response.getOutputStream();

InputStream is = new FileInputStream(fileName);

 
while (is.available() > 0) {

char c = (char) is.read();

os.write(c);

}

os.flush();

is.close();

[/code]

 
Important! You can install certificates ONLY in DER format so make sure path_to_your_CA_CER_FILE points to ca.cer.

 

Now, load the cer file to the location specified in the script above and start the webserver.

 
Using your handset's browser, browse (Over The Air) to the new page and try to download the cer file. The handset should ask whether you want to download and install the certificate. Say yes and the handset should download the certificate and install it as a trusted CA. If there is a problem installing the certificate, make sure the certificate is valid as mentioned in step3.

 

 

 
Step5: Configure the installed certificate on the handset

Open-up certificate manager on your handset and adjust the trust status. I set it like this

 
Symbian Installation: No

Internet: Yes

App. Installation: Yes

Online Cert. Check: No

 

 

If you have got this far successfully- 50% of your job is done !! You don't have to do this CA cert installation ever again !!

 

Note: changing certificate trust status can be different on different handset models.

 

 

Step6: Generate a Certificate Signing Request (CSR)

To create a code-signing certificate all CA's require a Certificate Signing Request (CSR). I used carbide.j tool to create CSR. It is simple - Run carbide.j standalone. Select "Create Application Package" view. In "General" tab choose "recreate based on existing package" option. Pick path to your JAD and JAR files. Now change to "Sign Application Package" view. If you have something in "available alias" area, you may delete at the first time. Click "New keypair" and enter your (your comapny's) information and click "Create".

 

Important: Do NOT use two letter state code. (example: use California instead of just CA)

 

Now you should have a new entry in the alias box. Click on "Generate CSR". It will prompt to enter a file name (say code-sign.csr). Enter a valid file name in a known location and click OK. Now you have a Certificate Signing Request (CSR) that you can submit to a CA.!

 

Keep this tool running. We need it later.

 

File created : server.csr

Note: Save this file for future, you can use this later when you decide to buy a real CA cert.

 

 
Step7: Create a code signing certificate

This is the money saving step. You are about to create a code-signing certificate for yourself, that you would buy from a CA otherwise. In Step3 we created a CA and in Step4 we installed that certificate on our handset. In Step5 we created a CSR. Now create a code signing certificate for the CSR you created using the CA we created.

 

Run this OpenSSL command under (make sure all key/crt/csr files are accessible.

 
openssl x509 -req -days 365 -in code-sign.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out code-sign.crt

 

File created: code-sign.crt

info: What you have (code-sign.crt) is a PEM format certificate issued by the CA you created in Step3. ca.crt is the root certificate and code-sign.crt is the leaf certificate. Note that leaf certificate is NOT valid unless you have the root certificate. In next step we will create a file containing both root and leaf certificate. This will be in PKCS#7 format.

 

 

 
Step8: Create certificate package

The idea is to combine ca.crt and code-sign.crt and create a .P7c file. I used Windows’s certificate manager to do it.

  • Open Internet Explorer
  • Open certificate manager (Tools->Internet Options->Content->Certificates)
  • Pick “Trusted Root Certification Authorities” tab and Click “Import”
  • Click “Next” and choose path to your ca.crt file and click “Next”
  • Pick certificate store as “Trusted Root Certification Authorities” and continue until it says imported.
  • Now pick “Intermediate Certification Authorities” tab import code-sign.crt like you did for ca.crt. Once successfully imported, you’ll see the code-sign certificate among intermediate certificates.
  • In “Intermediate Certification Authorities” select your code-sign certificate and click “Export”
  • Succeeding screen will prompt you to choose the format. Pick PKCS#7 (.P7B). and check “include all certificates in the certification path if possible” checkbox (very important)
  • Continue by clicking next and pick a file name (say code-sign)
  • Continue till it says successfully exported and you should see a file by name code-sign.p7b has been created.

 

Important: Pay special attention to step 9, If you do not check "include all certificates..." you will not be able to sign your MIDlet.

 

 

Save this file (code-sign.p7b) as well.

 
Note: You may also use other browsers or OpenSSL command line tool to achieve this.

 
Step9: MIDlet signing

  • Hope you still have carbide.j tool window open from step6.
  • Go to “Sign MIDlet package” view and click “Import Certifiacte”
  • On prompt pick the P7b file created in step8.
  • On success it won’t say anything, but you’ll see the information getting added.
  • Finally – the big click – Click “Sign”
 
It will prompt for the .jad file – pick the jad file you created on step2 (MyMIDlet.jar, jad)

 
Click OK and it should say successfully signed.

 

If you are gotten this far, you’re 99% done !!

 

 
Step10: Verify your jad file

Step9 must have modified your jad file by adding the certificate information into it. So you should see lines like these in your jad file

 
MIDlet-Certificate-1-1: MIID8DCC….

MIDlet-Certificate-1-2: MIIGdzC…..

MIDlet-Jar-RSA-SHA1: SFvS0W…

 

Also make sure MIDlet-Jar-Size: field value matches with the actual size of your jar file.

 

Well, believe it or not, you have a signed MIDlet ready to install !!

 
 
Step11: Install the MIDlet on your handset

This is what you were waiting for. Cross your fingers :)

 

I did this – again – with the help of my little website. I tried Nokia’s PC suite, but it did not work. I wish I knew an easier way to do this. This is what you should do if you follow what I did.

 

 

Created a simple html file like this

 

[html]

 
[head]

 
[title]MySignedMIDlet[/title]

 
[/head]

 
[body]

 
[a href=http://mywebsite/my_midlet_folder/mymidlet.jad] mymidlet.jad [/a]

 
[/body]

 
[/html]

 

Note: apparently, replace all square brackets with angle brackets

Save this HTML to -say- "mymidlet_installer.html" and mait it available to web.

Copy the MyMIDLet.jar and MyMIDLet.jad files to a web folder as shown in the html script.

Using your handset’s browser browse to http://mywebsite/my_midlet_folder/mymidlet_installer.html

Browser will show the link and click on it.

Handset should prompt whether you want to install the application.

 
Click "yes" and - BOOM!! you installed your MIDlet.

 

 

 
Step12: Relax

 
Good luck :)

 

169 Comments:

Blogger guillechan said...

Hi, nicely written tutorial.

I didn't know one could install a root certificate in the phone, so i've followed the fist steps feverishly, i know how to do the rest.

I've tried with 2 devices. When accessed through the browser it received the certificate, and asked me to install it.

Nokia 6230: it downloads the certificate but does not understand that type of files.

SonyEricsson K300: tries to open the certificate but says: "the certificate is not valid"

Did you really were able to install a root cert. on a phone and authenticate signed midlets with it?

regards guillechan@gmail.com

5:48 AM  
Blogger Brown D said...

guillechan,
Sorry for replying late. Yes, I was able to install a root cert on my nokia 6682. I wasn't kidding :)
However this doesn't mean that it will work on ALL devices. Different devices has different restrictions (and bugs).
But, you said your 6230 says it did not understand file file format, were your cert in DER ? If you use PEM(base64) you'll get this error. It is also possible that other devices support different formats. Unfortunately I don't have many other devices to test :)

good luck

2:40 PM  
Blogger Mihai said...

Hi,

I'm using Carbide 1.5 with JBuilder 8.

I have a problem in step 8 : when I Import Certificate (after using "Open" buton), JBuiler freeze.

Do you have any ideeas?

Regards,
Mihai

3:33 AM  
Blogger Mihai said...

Hi,

I've succeeded to import the certificate (on another PC), the install is ok.

But when I run the midlet I still have the security request for user approval!

The permissions are present in the .jad:
MIDlet-Permissions: javax.microedition.pim.EventList.read, javax.microedition.pim.ToDoList.read
.

All steps were ok, so I don't understand.

I'm using the midlet on a Nokia N70 (S60 2nd Edition, Feature Pack 3)

Any ideas?

Regards,
Mihai

1:02 AM  
Blogger yo31358 said...

I'm follow your instruction but it error in last step (Install MIDlet to handset) I get 'Certificate error, Contact the application supplier'
I use nokia n80

anyone can hekp me? please send mail to me at joe_cmu@hotmail.com

Thanks

1:34 PM  
Blogger Brown D said...

All,
Sorry for replaying late. Its been a while since I checked the page.

About the JBuilder freeze problem: frankly, I don't know the answer.. try running carbide.j independently and see.

About the user confirmation: That is the expected behavior. The handset provider has the complete control over this. Cingular (US) for example allow your midlet to bypass the confirmation only if the midlet was signed by their own certificate. So don't get surprised.

About the certificate error: Again I don't know the answer:) Did you check whether your jad file contain ALL certificates ?

Experts at Nokia discussion forum has been very helpful in resolving these kind of issues.


Checkout

http://discussion.forum.nokia.com/forum/

2:47 PM  
Blogger Cusco said...

I want put my midlet into HTC P3300 but an error occured "impossible to verify signed".

Here is my jad:

Created-By: 1.5.0_08 (Sun Microsystems Inc.)
MIDlet-1: NrauMobile, NrauMobile.png, pt.ihru.nraumobile.NrauMidlet
MIDlet-Jar-Size: 146184
MIDlet-Jar-URL: ./NrauMobile.jar
MIDlet-Name: NrauMobile
MIDlet-Permissions: javax.microedition.io.Connector.comm,javax.microedition.io.Connector.file.read, javax.microedition.io.Connector.file.write,javax.microedition.io.Connector.http, javax.microedition.io.Connector.https,javax.microedition.media.control.RecordControl, javax.microedition.media.control.VideoControl.getSnapshot
MIDlet-Vendor: Opensoft
MIDlet-Version: 1.0
Manifest-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-2.0
MIDlet-Certificate-1-1: MIID5jCCAc4CAQEwDQYJKoZIhvcNAQEEBQAwgYgxCzAJBgNVBAYTAnB0MQ8wDQYDVQQIEwZsaXNib24xDzANBgNVBAcTBmxpc2JvbjERMA8GA1UEChMIb3BlbnNvZnQxETAPBgNVBAsTCG9wZW5zb2Z0MQ4wDAYDVQQDEwVDQUNydDEhMB8GCSqGSIb3DQEJARYSZG5ldmVzQG9wZW5zb2Z0QHB0MB4XDTA3MDgwMzA5NDA0NFoXDTA4MDgwMjA5NDA0NFowbTELMAkGA1UEBhMCcHQxDzANBgNVBAgTBmxpc2JvbjEPMA0GA1UEBxMGbGlzYm9uMREwDwYDVQQKEwhvcGVuc29mdDERMA8GA1UECxMIb3BlbnNvZnQxFjAUBgNVBAMTDUtleVBhaXJNb2JpbGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJA9Oisx2/7hu+3N5/iTbJxVmpxAr31wOigSIhMdyTkOhauQ1ZgHd1P7rl+4AObDiOeKbYcQGZsxYtRtxR2cRyshvb8/CLCpcZWhwkgSe6ZgjUXn8Ybx11/WMs1piXLB8lO6raI8dIsjeRAL/M2HC0jZWNPfgn3kCMcnf3wT70QPAgMBAAEwDQYJKoZIhvcNAQEEBQADggIBALpsCYpOnMMu97Xu4qOBJarz8Cqz2xmCVoxQifTZY4VlBQf+q5aiZz+wWXk+MahPo5thsDQpDWw5h++IwaxTUXN1N983zjH5Aig6E7RkjIW/58GHAYy6aWTSq+X7eYpP8kZ1XEd/u/txyBtrd2NDspefuC/D7VIkfKq2wENu98e7xyspNK7BOIXf6HUh25tnT4QmZXC5VH+0LucWh1J94VbN31DcicVgAdJLBoFDX8Bn87xJABtziyKsv+a3S1I+iFeHeUIbBp7K21axVF9KjI/wB6jOj9lTk8EUUZUms83+RfdpvMRdDKidU2sqpwVGWhT2sBViLpS+ADDBgWyF2MXK1RMmthy5O4Jlkp3aPsIBrtnyQdvCkofEnBZUYFj/A6uoe5FZwE3petUApUuN0FIDFJDySmEGTX8e07+5bcvlLvGPoh9Nw7wdKZLJWKSBRVvhN5IuTTAb3mLJnPxQxHgQUNbSuml6weP/YlOuWVAL40NSU7x0jT+Tn36W1W1aevC2Oe1CLjDQXWHeQ5EJ3aOFV+0j+khBV45gP0zT5jPV3XSNtgA3XhRcRJlLUzwa+CBihVCwfpWVxUFKCh3escbHqg/35JaJFaW2X9p/5MVlttKDnViJos6vM6Q/Oor8tkCd6cQMDCot32BAezuE50IQB/vgi7viAtrME0buPsgT
MIDlet-Certificate-1-2: MIIGdjCCBF6gAwIBAgIBADANBgkqhkiG9w0BAQQFADCBiDELMAkGA1UEBhMCcHQxDzANBgNVBAgTBmxpc2JvbjEPMA0GA1UEBxMGbGlzYm9uMREwDwYDVQQKEwhvcGVuc29mdDERMA8GA1UECxMIb3BlbnNvZnQxDjAMBgNVBAMTBUNBQ3J0MSEwHwYJKoZIhvcNAQkBFhJkbmV2ZXNAb3BlbnNvZnRAcHQwHhcNMDcwODAzMDkyNDI5WhcNMDgwODAyMDkyNDI5WjCBiDELMAkGA1UEBhMCcHQxDzANBgNVBAgTBmxpc2JvbjEPMA0GA1UEBxMGbGlzYm9uMREwDwYDVQQKEwhvcGVuc29mdDERMA8GA1UECxMIb3BlbnNvZnQxDjAMBgNVBAMTBUNBQ3J0MSEwHwYJKoZIhvcNAQkBFhJkbmV2ZXNAb3BlbnNvZnRAcHQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDWqZdL9+aU8bvneIlxD/dTTJ5oJdVyTSasW4/t56MNM56/OQT6rGnyQma2uAHezzLF6S2tnYWmnKSQ/do0x1yOVnjIJ1tHeUSrA+n8J9X0UE6ZlCQdNRVhSnHRfEIBdsAYbonqVTp+u8vRjW0btbcSxQPUBCsd2L9gesQxYllP+2ENusd2A2S2CN5VZyu0cM6ThxbFMyj6QXjfChEPWl92bB0eoEiU1J14L2p2Qd1E5tsPx63Nk8LvMwMaxy7XuZwZWmchc8AP7FZZ0T/IFYjyWJmoPxLU5V5SeT1W+uiQeD9hIbe2D4KVt/Xm25DlsRDht/lr9lWES4vS9eM2H9guAZimzxFE26gBdLPsNExzae5/xxZ4w9y2XSwpQKsvuIDGdGHTbOvKPcsjiG3S41cj3HDgqOFTuqNuiHrv76XgA4pLM0/rVRU10Z99HQ13r+zvqxaj+PaUTs5p1E8M58Flv4mMdpQxyxkuT1HKaLAg2m+JQ//YBCkgWree9cM+sSTlc1gq569bqsqqANOod1fkoxVJ1K3rjVb4aEHDSXpOVWHowunPGUlJDEt3Hm4xDLWBDNikjBIifspmIpSJaomxs1QYk5EwNIo5YYHcznxZw8Q/qLc3qu8RCmvpnYXckIHv01NUUZuU00t3HEhAbPhMFSvhXgW5o8w8Q+Ljn3TXQwIDAQABo4HoMIHlMB0GA1UdDgQWBBSAnAai1InDsBzDLCYGq/FdsjmfQTCBtQYDVR0jBIGtMIGqgBSAnAai1InDsBzDLCYGq/FdsjmfQaGBjqSBizCBiDELMAkGA1UEBhMCcHQxDzANBgNVBAgTBmxpc2JvbjEPMA0GA1UEBxMGbGlzYm9uMREwDwYDVQQKEwhvcGVuc29mdDERMA8GA1UECxMIb3BlbnNvZnQxDjAMBgNVBAMTBUNBQ3J0MSEwHwYJKoZIhvcNAQkBFhJkbmV2ZXNAb3BlbnNvZnRAcHSCAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQQFAAOCAgEAxkGakn5b66tToyvxASy9s9CMhER6ZI1+K3ey8WcNHBCMFlAhyD/ut+6823ZAzqbln0Dud8NLXO6trjeMSkXCpEUucLRuowTps1NpVpiup4oaTSSVu9+C8lwLnmqhqqtBHdVKCvEm9XSi4vsp9rJtZEd7fy8ylen18XSDv2b4T8Rj7j9qYydlc9UhOA9VPLq7Aj2dpdBVKncL1bJ3z8QY0xnbtmdb0qmoye6S6X44p0Sl29IOflt8R4aKM00DBN8QrmzlXlasbnMKIvmpC0GTxklx1N/LRvElCk5lQOPeMeD60tRvTM6iPsYt4BZ2rfEzLhRHrFdfSbwSNC0z0z+/8D1mGI5Bgq/OS/qeMD3eMETIVJ1fBIK82e2xe2M6jWo0qmkacLnzdEK1/oF51V8ucrwa/9Nz15lZ0i+N2lHHVWfw7Hw4A4CudwDepN4TMEv1htmyysj56F6Xh2pm7HXtj3N/0lLKSZHvmYk3RZT45tXDaY4E14xumDazcw1alYrT1qtWequ8EaXtpJfa2BRFkFGveN8cgPW66aflTOVyXmsyX4D0fEEuSlDoqqdZ0NkN5si2S6JpC5qBoNe6EwLZmkuG388rQ3ySRSuFfjQ5axG+d9IFL9IuwiPe5Hbl0dZmh5dtktV5M8JqfgQn5a72dO6Q24ZFPYiJhK7stW/N1vo=
MIDlet-Jar-RSA-SHA1: Mj0+w51xKhT1t7wwNXfzHwKCrkv29iOKqg5/w/LSjXEkM1VrGHQVb0C65lMZs+vGp6QmNHpGQhEyv0qmcKvzD3serpGDxWlv8FstZ2hzZCdaeKVawUiAeoOEolpxosjPm8jMt2YYKQLLaVeogsrMr6PYvD1VfsJHVGBa7GVInfU=

Do you know what's the problem?

Thanks

3:47 AM  
Blogger Brown D said...

Cusco,
It looks like the root CA certificate is not present on your handset.

Are you signing with your self-generated code signing certificate or did you buy from a CA (like verisign) ? In either case make sure that the root CA certifcate is installed on the handset. If you have a self-signed cert take a look at Step 4 of the blog.

Please keep in mind that not all handsets support installing root certificates. SO if you bought a cert froma vendor which is not present on your handset, you cannot install your midlet.
If you have more questions please email me at brown_drf _at_ yahoo _dot_ com

1:32 PM  
Blogger suvro said...

Thanks a lot for this amazing blog. It is really nice to know there is an workaround to self sign a midlet and get it to work in the phone (at least in a series 60 2nd ed.).

5:36 AM  
Blogger Arcadiy said...

Very usefull tutorial. I made it on my N70 for MIDlet-Permissions-Opt: javax.microedition.pim.ContactList.read, javax.microedition.pim.ContactList.write

2:48 PM  
Blogger Manoj Kumar said...

Great work.

we want to just add servlet code which is working.
here is some working code snippet of servlet, u can use for the downloading certificate.
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class certificate extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException,IOException
{
//PrintWriter out = resp.getWriter();
OutputStream os = null;
File exportFile = null;
String fileName = "ca.cer";
ServletContext context = getServletContext();
try
{
File dir = new File(context.getRealPath("/"));
exportFile = new File(dir, "\\WEB-INF\\cert\\ca.cer");
//exportFile = new File("E:/Manoj/apache-tomcat-4.1.36-LE-jdk14/webapps/ROOT/ca.cer"); //path_to_your_CA_CER_FILE);
resp.setContentType("application/x-x509-ca-cert");
resp.addHeader("Content-Disposition", "attachment; filename=" + exportFile.getName());
//OutputStream
os = resp.getOutputStream();
//InputStream

// InputStream is = new FileInputStream(fileName);
InputStream is = new FileInputStream(exportFile);
//byte[] b = new byte[128];
DataInputStream dis = new DataInputStream(is);
byte[] b = new byte[2048];
int cnt = 0;
while (true)
{

cnt = is.read(b);
//out.println(c);
if (-1 == cnt)
break;
os.write(b,0,cnt);
String s = new String("once\n");
os.write(s.getBytes());
}
os.flush();
is.close();
}
catch (Exception e)
{
if (null == os)
{
os = resp.getOutputStream();
}

DataOutputStream dos = new DataOutputStream(os);
dos.writeUTF(exportFile.getName()+e.toString());
dos.flush();
os.flush();
os.close();
//os.writeData("exception : " + e);
//out.println("Exception e : " + e);

}
}
}

7:56 AM  
Blogger Manoj Kumar said...

great work.
we used the steps to install certficates.

here is below code of servelt. we have some fight on setting the path of certificate.

File dir = new File(context.getRealPath("/"));
exportFile = new File(dir, "\\WEB-INF\\cert\\ca.cer");
resp.setContentType("application/x-x509-ca-cert");
resp.addHeader("Content-Disposition", "attachment; filename=" + exportFile.getName());
os = resp.getOutputStream();
InputStream is = new FileInputStream(exportFile);

8:01 AM  
Blogger Brown-Dwarf said...

Manoj Kumar,
Thank you for posting that servlet code - definitly useful.

~b

5:53 PM  
Blogger GuoQing said...

1) Two step5?
2) If we don't have carbide.j (which is not support any more) what should we use?

9:33 AM  
Blogger GuoQing said...

I tried the step 4 on my nokia 6085 phone, it givesme "Authority certificate corrupted", what can be wrong?

3:37 PM  
Blogger RAVI said...

Hi,

I followed the steps you specified to create self sign certificate and signed the my midlet and i have successfully installed the certificate in my S60 3rd edition emulator and set the permissions too.But when i'm trying to install my self signed midlet, An error happened saying the certificate error ! contact the Application supplier...please help me .It's urgent

10:39 PM  
Blogger Brown-Dwarf said...

GuoQing,
For jar signing, there are several other tools available. Search for "jar signing tools". This is one I came across. http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/rsa_signing.html#signing

Please note that the procedure is different for different tools. You might need to play around with it alittle bit.

About the certificate corruption, what method/script/language do you use to develop the server side? You need to makesure the cert is streamed correctly. Did you verify it with a standard browser ? That'd be helpful.

10:42 AM  
Blogger Brown-Dwarf said...

Ravi,
I am not sure about this problem on emulator(OTA?). Other people have also reported similar issue.
http://discussion.forum.nokia.com/forum/showthread.php?t=117397
It looks like the problem is not present on real hardware. Sorry that I can't provide much help.

~b

10:55 AM  
Blogger GuoQing said...

I have the same problem on my nokia 6085. When I load the ca.cer from mobile phone on my apache2/php server http://www.drhu.org/ssl/ssl.php it gives me "Authority certificate corrupted". I follow the steps http://browndrf.blogspot.com/
Does anyone how to solve this problem?

2:45 PM  
Blogger Brown-Dwarf said...

GuoQing,
I tried the url with 6682 and it works fine. Like I mentioned in the blog, installing certificate is not a standard feature. S60 2nd edition has a bug which allos you to install certs. I am not sure what platform has this "feature".

~b

9:33 AM  
Blogger GuoQing said...

The "Authority certificate corrupted" problem be solved if I use c:\OpenSSL\bin\openssl genrsa -des -out ca.key

But, now another problem happens after I install the ca.cer. In my Nokia 6085, setting/security/authority certificates/certificate list/options/select use
the App. Signing check box is disbaled, so I can't check it. It maybe AT&T or Nokia disabled this on purpose. Does anyone has the same problem?

9:32 AM  
Blogger Brown-Dwarf said...

hmm.. that is interesting..


-des3 just means use 3DES to encrypt the private key. In other words, it is only for symmetric encryption, not for the asymmetric one (RSA). If you don't specify these (-des|-des3|-idea) options, your pvt key will not be encrypted.

I could be wrong, but AFAIK, it shoul dnot affect the public key - which we're installing - which is not encrypted.

take a look at this
http://www.openssl.org/docs/apps/genrsa.html

About the trust settings, I am not very surprised if it is disabled. All these providers has their own policies - differes on different handsets. BTW, did you try to install the application ? - just to try your luck.

11:02 AM  
Blogger pramoda said...

nice article
this works only for series 60 mobile.
but you can't control messaging Security Alerts.

4:52 AM  
Blogger pramoda said...

you can send this .cer file in bluetooth also.

4:53 AM  
Blogger J2ME said...

hi friends,

can you tell me whether we can do sam e process via emulator.....I have got
wtk 2.5.1....If any solution plz let me know....

5:44 AM  
Blogger imran munir said...

Sir i am using nokia e51 and when i get download the http://www.corvitoman.com/movies/videoStreaming.php it shows the cryption on page i just copied and paste your given code of php. you can also check it and when i clicked on jad link it not gives any message do you want to save it in phone and it shows the midlet information.
Please help me in this issue i want to get direct download my jar file to any nokia mobile. thank you sir my email id is imranmunirawan@hotmail.com

5:05 AM  
Blogger imran munir said...

I am using the e51 nokia after the all process which you told in this blog when i opened the php file www.corvitoman.com/movies/videoStreaming.php
it shows the ca.cer file on browser rather then install it. like that when i click on jad file www.corvitoman.com/movies/videoStreaming.jad it shows the midlet information after download or jar file www.corvitoman.com/movies/videoStreaming.jar shows cryption code rather then install. sir i am totally in trouble will you please help me regarding this issue i will be very thank full for your this kind of act. please tell me solution. thankyou

5:10 AM  
Blogger le_top said...

I've followed the procedure and was able to install my ca.cer on a Nokia phone by opening it from the file manager.

However, the certificate can not be used for application install, only for 'internet' and 'online certificate verification'.
Application installation can only be validated by the certificates labeled as 'MIDP2 ...' on my phone (28/08/2008).

1:54 PM  
Blogger Brown-Dwarf said...

le_top,
What make/model is your handset? As far as I know, there is no special cefrtificate or cert extensions for MIDP. In step 5, did it give you an option for "App Installation" ? That is the flag it will be using to decide whether to use a certificate to authenticate an incoming application. Please double check that.

~b

9:55 AM  
Blogger lolek said...

Hi!nice article!

However i stuck in step 4 as my Samsung SGH-L700 doesn't seem to support any of cert MIME types (as in http://www.mobilemultimedia.be/en/uaprof/index.php) Can you think of any alternative how to install a certificate or other way of getting a trusted app on my device or at least get rid of the annoying security warnings when midlet accesses phone filesystem?

Regards,
Leo

1:21 AM  
Blogger Amar Sahu said...

Hi All,
I have a self signed certificate for my applicaiton present on my PC. This application is bound to work on Nokia 6131 NFC phone. I followed browndrf's link http://browndrf.blogspot.com/2006/06/build-and-install-singed-midlet.html. I have followed the document and am slightly confused with step 4. Can anyone of you please lay more emphasis on step 4. It will really help me. Incidently I have tried to make the webpage available on my phone by running my webserver. But the results are not encouraging. when i try to open the application it gives me a security Exception error and a Null pointer Exception error. My main doubt is what is the right procedure to upload the certificate on to the phone. I have been mailing to quiet a few members but have not got any response yet. Please suggest me what i am supposed to do in order to make this application run without any errors. I am trying to implement the TicketingExample application that comes with Nokia 6131 NFC SDK.
Eagerly waiting for your reply.

Regards,
Amar Sahu

9:31 PM  
Blogger missmè said...

hi, i readed the article and i have one question for you.
After that i build and installed Signed MIDLet can i access to a property that are accessible only if the midlet is signed? Example i wont get IMSI, but it is possible only of my midlet is signed.
Can you help me please.
Thanks...Regards

8:48 AM  
Blogger ANX said...

I did uptil step 3
I start the browser on my phone (nokia 6233) and try to install the certficate. the phone opens the site, downloads the certificate and then says, corrupted certificate.
Can anyone help??

11:41 PM  
Blogger eiwai said...

Hi , Sir

Your tutorial is very nice and helpful for us . We follow your way to install Midlets. We are writing j2me prgram to get the cell id, location area code. We used Nokia 5220 XpressMusic to test it. We cannot import certificate to phone. Can you guide us the way ?


with deepest respect,
Ei Wai.

12:20 AM  
Blogger 小洛 said...

Nice tutorial and thank you so much for sharing.

I tested with Nokia E51 and Nokia 3250 but unable to work.

In the end found an article stated that this can only work on S60 2nd Edition. >"< E51 and 3250 both S60 3rd Edition.

I further tested with Nokia 6680 which S60 2nd Edition, it's working as what this tutorial taught~~~ Proved this tutorial is workable.

Following is the article:
http://wiki.forum.nokia.com/index.php/KIJ000555_-_Signing_certificates_for_MIDlets

3:43 AM  
Blogger mhs said...

Hi,
my phone is nokia 5800.
i did anything you write,but instead of downloading the ca.cer file, i copied it in phone memory and installed it.
the certificate installs successfuly but the app. installation choice is not here.
also my midlet doesnt install on the phone.
what should i do?

11:30 PM  
Blogger mhs said...

my mail is: mohammad.samadani@gmail.com

11:32 PM  
Blogger omar said...

i have an error in step 3
when i try to write
req -new -x509 -days 365 -key ca.key -outform DER -out ca.cer
and the error is unable to load
config info from /usr/local/ssl/openssl.cnf
if any body can help me on that please

1:15 AM  
Blogger giancarlo said...

GREAT !

8:49 AM  
Blogger kertoja said...

Great! Thanks :)

2:11 PM  
Blogger BRICTON said...

Can somebody tell how can I do in order to get the cer install on the phone:

I have this file index.php

[Descarga de Certificado]
[Bienvenido]
[Para descargar el certificado, por favor siga el siguiente ]enlace]
[href="get_cert.php"]Certificado]

This is get_cert.php



Can somebody help me

4:38 PM  
Blogger Shantanu Paul said...

Hi sir,
I am a newbie & could not make out of all that instructions. I would be very grateful if you could provide me a signed version of KD Player by the above method. It will be very grateful.

8:26 AM  
Blogger BRICTON said...

I tested in A nokia 2330c but it wasn't possible to make it work, does somebody know if there is some way to make this work on it?

Tx in advance

7:14 AM  
Blogger Sandeep said...

Tried on Nokia 5800, unable to install. Certificate Error. Contact the service provider

3:41 AM  
Blogger Jigar said...

my problem is i have created a certificate from godaddy,
its a .pfx file.
now when i try to export it as CER it is not including private key so cer gets generated but without private key.
and when i try to sign jad using it it says "no private keys found" cannot sign.

7:08 AM  
Blogger chamu said...

Hi,
I had followed all the steps properly and signed my midlet.
But when i try to install the midlet in mobile , am getting "Certificate Error , contact the application supplier"

3:42 AM  
Blogger Pierce said...

buy viagra
viagra online
generic viagra

11:14 AM  
Blogger Alex said...

Great To See such a nice blog.



.....Alex


cheap viagra

11:33 PM  
Blogger Penis Enlargement Pills said...

http://www.bestpenisproducts.com is an all-natural Penis Enlargement, safe, and guaranteed alternative to painful and dangerous Penis enlargement methods such as surgery, straps, or rings.
penis enlargement pills or male enhancement pills will immediately boost your performance, improve your orgasms, and increase the penis size within just a few weeks!
VISIT OUR BEST PENIS ENLARGEMENT PILLS PRODUCTS:

VIGRX PLUS PILLS
VIMAX PILLS
MALE EXTRA PILLS
MALE ENHANCEMENT PILLS

12:53 PM  
Blogger Edwin said...

scrub m65 kamagra attorney lawyer body scrub field jacket lovegra marijuana attorney injury lawyer 14k gold ed hardy 14k yellow gold

7:32 AM  
Blogger male said...

For men who want bigger, harder, longer-lasting erections, there's now VigRX Plus™, a fresh twist on the already popular VigRX™, but designed to further enhance men's sexual functioning with the addition of three exciting new ingredients: Damiana, Tribulus, and Bioperin. Doctor endorsed and rated #1 for results by clients of penis enlargement consumers. rated two penis pills is vimax. if you find about male enhancement this products is the best and proven to work, there products have money-back guarantee in effectiveness and result.

8:06 AM  
Blogger JUNAID said...

Hi
I follow the same steps above but after signing & verifying the application when i deploy my application in mobile phone after installing at the end it will prompt me the error "Application cannot be installed because critical information between the website and application file does not match"

Plesae share u r information with me.
regards
Junaid

4:40 AM  
Blogger Jennifer said...

Thanks a lot for this amazing blog. It is really nice to know there is an workaround to self sign a midlet and get it to work in the phone (at least in a series 60 2nd ed.).


cheap viagra

Jenny

2:35 PM  
Blogger Maria said...

But when I run the midlet I still have the security request for user approval!
cheap perfume
Burberrys perfume
dolce & gabbana perfume
Estee lauder sensuous perfume
euphoria perfume
guess perfume

3:28 AM  
Blogger Jack said...

You have done such an amazing job on this series. I envy your sewing skills and your patience and your diligence. If anyone ever asks me how to sew, I'm sending them to your blog and this series. Congratulations on such an extensive, well thought out and clearly presented set of tutorials
no nonsense muscle building

11:50 AM  
Blogger Hell said...

This is interesting post.You have done such an amazing job on this series. I envy your sewing skills and your patience and your diligence. If anyone ever asks me how to sew, I'm sending them to your blog and this series. Congratulations on such an extensive, well thought out and clearly presented set of tutorials
Dive site listing

8:58 AM  
Blogger sid way said...

This comment has been removed by the author.

12:41 AM  
Blogger asterhealthsource said...

Which type of midlets you want to install.May be java Midlets used in mobiles.Enhancing the experience and feature of the mobile java provides this mobile information device application.
Thank you so much sharing this installation tips.
generic viagra

10:25 PM  
Blogger Memetali said...

Just love your site. Smart tips from an inteligent guy. auto insurance quotes

1:36 PM  
Blogger marven said...

was able to install a root cert on my nokia 6682.business logo design

1:04 AM  
Blogger jelish said...

The Louboutin Shoes Sale is planned using the ladies. offered the fact that pumps was born, the ladies lifestyle turn into colorful. The christian Louboutin 2011 Pumps
will be the god's masterwork. Who invited the Christian Louboutin Wedges ? Seldom people knew, but I think each and every and every lady will be grateful for him. between the countless pumps,the Christian Louboutin Shoes
could be probably the most exceptional ones. The stylish pattern, the delicate design all mold the ladies perfect leg profile. Flowers inside the spring of 2011 creeping, up from frizzy hair to outfits hold on to footwear, have experienced a brilliant up. on this type of the glamor, spring and summer time flowers now here. Romance is really a woman's mood, exquisite flowers just appropriate of expression within our gestures, the woman, how can we not adore the romantic temperament to make certain which they distributed the flowers do? 2011 flowers bloom will get satisfaction from numerous poses! The Christian Louboutin New Sandalsalso can adds the hright in the ladies, it hold shock toward short lady. especially the red-colored lone in the louboutin heels, beauty and sexy, different ladies are crazy. The red-colored sole, the earliest attribute in the Sale Louboutin stroe.

9:52 PM  
Blogger Love Abhi said...

Sir, i have some problem in hacking ports. Can u help me? Plz reply me at its786abhi@gmail.com
studying under u wil be my best study.. I wanna learn something from u.. Plz guide me.

12:41 PM  
Blogger abercrombiefitch said...

Be fast to browse the newest styles and lots of affordable outfits and Nike oxygen Max and women's merchandise is not an daily affair, for that reason that in the stress of modern day time girls ordinarily do not possess a complete great offer time and vitality to go buying by means of countless many style malls, and look at special fees will make you exhausted, so which you can acquire a satisfactory goods, call up for to devote lots of time, the show up of on collection buying significantly minimizing the inconvenience of this, now you not just can every one of the sudden go to to lots of goods Nike Air Max Shoes .

7:28 PM  
Blogger man said...

I am glad that you caught it early. That should help your chances tremendously. I wish you the best of luck and will pray for you.
Dripping Springs Remodeling Contractor

6:06 AM  
Blogger alishass said...

Many thanks for making the sincere effort to explain this. I feel fairly strong about it and would like to read more. If it's OK, as you find out more in depth knowledge, would you mind writing more posts similar to this one with more information?Hip Hop Beats

1:59 AM  
Blogger MLB2k11 said...

Nice post. Great blog. Thanks for sharing.
Angry birds clone| Airbnb clone|

2:39 AM  
Blogger LauraStarBene said...

Nice post! Thanks for sharing!
Comprare Viagra

12:18 AM  
Blogger Movies Gallery 2011 said...

I got gathered all the information. It was very interesting and meaningful.
groupon clone| Angry birds clone|

10:25 PM  
Blogger Carmen said...

This is interesting post.You have done such an amazing job on this series. I envy your sewing hip hop beats skills and your patience and your diligence.

1:02 AM  
Blogger Beautiful fashion said...

Christian louboutin shoes disconut are so captivating using the distinctive style and design and stylish appearance.Louboutin Heels is on sale now, why not purchase a pair of Louboutin heels for yourself? They will assist you be additional attractive and comfortable. Louboutin mall are worthy of treasuring.

2:21 AM  
Blogger Movies Gallery 2011 said...

Such a wonderful post. Thanks for the share.
Groupon Clone| Formspring Clone|

11:32 PM  
Blogger zahir123 said...

I am so sorry to hear this and I will pass this news on to Dan via email. The USS CT is underway right now but will briefly be back in a few weeks before heading out again (can't be more specific for obvious reasons).

If there's anything we can do while you are in the Seattle area, please let us know.
Abilene Roofing Contractors

7:34 AM  
Blogger mike91910 said...

great post i was always wondering how to do this and now i know in the future however i wish we could see some screen shots of the code Florida Auto Insurance norvasc houses rent rather than some of the other things i have seen in here such as. However one thing i do like is the community who has helped answer many of my questions as well.

7:03 AM  
Blogger Sinan said...

Thanks so much for this! This is exactly what I was looking for bedava chat - islami chat - islami sohbet - sohbet siteleri - dini sohbet - mynet sohbet - sohbet odaları - garanti arkadas - sohbet kanallari - mirc sohbet - chat siteleri - mirc script indir - sohbet odaları - cinsel muhabbet - cinsel sohbet - Sex chat - seviyeli sohbet - kameralı sohbet - sohbet et - cinsel sohbet - sex sohbet - mirc - mirc indir - kameralı mirc - turkce mirc - sohbet siteleri - cet - chat kanali - chat kanalları - sohbet kanali - sohbet kanalları - Video izle - izmir sohbet - kaliteli sohbet - seviyeli chat - sesli sohbet

9:20 AM  
Blogger jon said...

Its really a wonderful post. Keep it up.


Generic Viagra

11:46 PM  
Blogger The Motoring said...

Interesting steps. Thanks for the share.
usedcarsforsale

8:24 AM  
Blogger mark said...

best organic seo services
Thanks for the informative writing. Would mind updating some good tips about it. I still wait your next place. ;)

11:13 AM  
Blogger Ricky Martin said...

Thank you, I have recently been searching for information about this topic for ages and yours is the best I have discovered so far.





buy vicodin online

11:57 AM  
Blogger weerah said...

This is such a helpful reading material for me, I’ve learned a lot of new things. Thanks for the great post!
buy codeine online

12:16 PM  
Blogger Jane said...

I really liked your article. Keep up the good work.I love extreme bondage sex

12:54 AM  
Blogger nike mercurial soccer cleats said...

Ah good exciting content! Will always come to our attention. To bring you good news-works perfect! So how is the Nike Football Cleats cleatschanged? the original Nike Speed boot!New products Nike Mercurial Vapor Superfly for us.the new Vapor football boots have undergone the same new paint work as the nike mercurial vapor superfly III and now feature the Nike Football Boots updated asymmetric.

8:19 AM  
Blogger Natasha said...

I am also searching that type of blogs and i find your blogs is one of the best in my searching thanks for sharing informative knowledge.



Free Classified Ads

1:00 PM  
Blogger weerah said...

Its amazing, looking at the time and effort you put into your blog and detailed information you provide. I’ll bookmark your blog and visit it weekly for your new posts.buy xanax online

8:23 AM  
Blogger Ricky Martin said...

This site is excellent and so is how the subject matter was explained. I also like some of the comments too.Waiting for next post.



buy online vicodin es

1:14 PM  
Blogger Den said...

Great website, looks very clean and organized. Keep up the good work! lesbian dildo bondage

6:42 AM  
Blogger Muhammad Alexander said...

Thanks for sharing the information!
I found this article very interesting and informative!
Keep sharing!


the best seo company

12:20 PM  
Blogger adlai said...

the procedure in your tutorial is very wonderful . . tnx for sharing. .

phone spy software for the safety of my phone.Android phone locator for the tracking of my location.
android gps apps locator and tracking my route.

android tracker also a tracker for my gps.

gps track cell phone
cell phone tracker software
cell phone locator
cell phone location
parental control phones

7:18 AM  
Blogger john said...

The positive comments and do well wishes are very motivational and greatly appreciated.
organic seo service

3:10 PM  
Blogger suzan said...

Hi buddy, your blog's design is simple and clean and i like it. Your blog posts are superb. Please keep them coming. Greets!!!


maquinas de coser
maquinas de bordar
reparacion maquinas de coser

6:16 AM  
Blogger mark said...

Hey great stuff, thank you for sharing this useful information and i will let know my friends as well. drug discussion
drug discussion forum
drug forum

3:39 PM  
Blogger rose said...

Thanks for sharing the information!
I found this article very interesting and informative!
Keep sharing!
Sarongs

9:02 AM  
Blogger Silviu said...

I am a new programmer and I had trouble building a signed MIDlet and installing it on a handset like you said. Thanks to your steps I will surelly make it.


bani online fara investitie

9:09 AM  
Blogger philip said...

Its really a nice one.thanks for sharing it.



Buy Kamagra Online

10:35 PM  
Blogger Tariq said...

If you want to buy xanax online then I think you are at right place mycare pharmacy is one of the best pharmacy . Here you can buy medicines at very cheap rates as like buy ritalin online and many more .

8:22 AM  
Blogger anita grace said...

Interesting Article. Hoping that you will continue posting an article having a useful information.
Birthday parties for kids in Miami
Kids birthday parties in Miami

3:53 AM  
Blogger Farrah said...

Thanks i like your blog very much , i come back most days to find new posts like this.

doctor ratings and reviews | find doctor list | doctor reviews by patients | doctor ratings and reviews by patients

4:48 AM  
Blogger Natural supplements said...

I'm still learning from you, but I try to reach my goals. Since then enjoy
reading all the information that appears on your blog.Keep come. Loved it!

|Testosterone Booster|Natural Weight Loss|

4:10 AM  
Blogger Abby said...

WAO its totally indifferent i'm so impressed the way you presented thisbuy codeine online

7:55 AM  
Blogger luck said...

uggs clearance A good suggestion will be to have the boots at a discount rate through the getaway or festival season when there would probable be sales on the stores so you Uggs Outlet can get yourself an excellent discount. But for this, you should be wanting to wait. Also for the duration of summers, there may be Ugg boot gross sales which might deliver you the winter season boots at the lowest obtainable selling prices ugg boots clearance.

11:14 PM  
Blogger Chris Suja said...

I believe this blog post is one of the most informative thing not only for the technique learner but also for necessary for all Buy Nexium stage people.

2:13 AM  
Blogger Blessed beyond measure said...

Great post, thanks for the very helpful information.
http://www.abellosroofing.com

4:41 PM  
Blogger saim said...

I think its a pretty good idea not that there aren't other sites out there that already do something similar but I think it might catch on here pretty well.



buy curcumin

10:23 PM  
Blogger organic vitamins said...

You provided a valuable service to the community. Thank you for doing such a
great job all these years.
organic vitamins

2:21 AM  
Blogger Indiana said...

I was interested read this post.
ED Trial Pack

1:19 AM  
Blogger Ankit Girdhar said...

well do all , and my app is working well on nokia mobiles , but not on samsung emulator ,using netbeans import samsung ktoolbar as not able to open prj in ktoolbar , now it is running on samsung emulator but while exiting build failed....plz help

11:10 PM  
Blogger brandan said...

If you need more traffic to your website check out the website in my name. It really helped me and i think it can help your website.
buy medicine

8:58 AM  
Blogger iori said...

testimonial voiceovers
I am speechless after seeing these pictures! I love them all! I teach kindergarten
and I'm going to make a theme, and photographs have given me so many ideas! You are so talented! Thanks!


testimonial voiceovers

10:54 PM  
Blogger suzan said...

organic vitamins
Great post!! Keep up the good work - I'm sure someday soon, someone will be doing an Ada Lovelace post about you

2:47 AM  
Blogger iori said...

Natural supplements

Your site is good Actually, i have seen your post and That was very informative
and very entertaining for me. Thanks for posting Really Such Things. I should
recommend your site to my friends. Cheers.

Natural supplements

4:39 AM  
Blogger Adam said...

You made some good points .I did a little research on the topic and found that most people agree with your blog. Thanks.
buy percocet online

11:04 AM  
Blogger Colin said...

Great blog ...Thanks for your great information, the contents are quiet interesting.I will be waiting for your next post.
buy watson

11:47 AM  
Blogger Colin said...

I would like to think you for sharing your thoughts and time into your comments! Thumbs Up !
drug forum

1:53 PM  
Blogger anita grace said...

organic vitamins

What's up with the potatoes? Potatoes suck. They don't belong in burritos.

10:42 PM  
Blogger sahib said...

Nice post. We are impressed by your clear description of your topic. Thanks for the information. Keep on writing.

doctor ratings and reviews
find doctors list

5:31 AM  
Blogger 0Zero7 said...

I was very fantastic why i not see your blog before i would come back.
web hosting Pakistan

10:04 PM  
Blogger anita grace said...

weight loss spray
I love this post! Thank you for the nice information on non-touch screen handset. This is definitely good.

9:54 PM  
Blogger iori said...

Thank you for for sharing so great thing to us. I definitely enjoying every
little bit of it I have you bookmarked to check out new stuff you post nice post,
thanks for sharing.

3d ultrasounds
4d ultrasounds
4d3d ultrasounds

11:34 PM  
Blogger iori said...

I had a great time reading your article and I found it interesting.
This is such a beautiful topic that my friends are talking about. Thanks
for this blog, we are enlightened.

tubal ligation reversal

1:47 AM  
Blogger anita grace said...

Appetite Control spray
Hi, great Blog. The way you explained it is really awesome and makes everyone to read till the end. Keep posting..

10:14 PM  
Blogger anita grace said...

naturalsleep aid
VERY clever, I would never have thought of re-creating spaghetti-0's, but I'll bet the grandkids will love them.

10:31 PM  
Blogger Android app development said...

This is one of the efficient post.I like your blog details.This is one of the knowledgeable post.
Android app developers

2:55 AM  
Blogger anita grace said...

Curcumin, a derivative of turmeric, may have potential cancer treatment properties especially for glioblastoma, a fatal type of brain cancer
buy curcumin
curcumin

9:35 PM  
Blogger Bob said...

Thank you for the article. It was very informative. I appreciate the work you do! Keep Up the good work
Thanks!
health insurance california

11:15 PM  
Blogger Melany Flemmings said...

This is exactly what I was looking for. This is really good information I have visited this blog to read something fresh and I really admire you efforts in doing so. Thanks for sharing this great article.

Carlyle Hotel New York

1:39 AM  
Blogger suzan said...

Healthy Green provides the finest Natural supplements, organic supplements and Medicinal vitamins. No fillers, binders, or chemical excipients.
organic supplements
=|=natural supplements
=|=organic vitamins

5:06 AM  
Blogger 00seven said...

I thought I would leave my first comment. I don’t know what to say. Nice blog,I would keep visiting this blog very often.
top 10 hospitals in america

11:42 PM  
Blogger Adim said...

Thanks for your great post.I like this very much, please write more about these,wait for your update
Aerospace Logo

1:11 AM  
Blogger LetoAtreides said...

Okay. It's a very nice tutorial, but it didn't worked for me. Everything went fine, but when I install my app on the phone it says that the certificate is not on the phone or sim. But when I go to the security setting I can see my certificate there. Can you help me fix this problem? I did everything as you said. Executed the 3 openssl commands, made a php file, donwloaded and installed the certifiacte on the phone. In this step there was a little problem because I couldn't do this step: "Configure the installed certificate on the handset". My phone is a Nokia C3-01 S40 mobile. But I can see my certificate in the root certificates. Than I created a new keypair and a csr. I executed the new openssl command and did the thing with the Internet Explorer thing. Then I successfully imported the package in the carbide.j tool and signed the jad. I installed the certificate on my phone but it says the the certifiacte is not on the phone or sim.

12:56 AM  
Blogger LetoAtreides said...

I realized that I leaved out this step: "Select "Create Application Package" view. In "General" tab choose "recreate based on existing package" option. Pick path to your JAD and JAR files." In my carbide.j the Create Application package is not available (is grayed out). Is this an important step? And if it is what can I do to make it work? Thank for the replies.

1:33 AM  
Blogger Derzu said...

Congratulations for the post. Can you share the generated files with us?

12:51 PM  
Blogger Roger vivier flats said...

Following a springtime summer time 2012 marketing rehearsals, Miu Miu Flats released a brand new joining materials style Cameo sequence jewellery. Mosaic very Metal Pendant, gem as well as jewellery inlaid round convex buckle band through throwing technologies as well as total, and also the historic custom associated with high-end jewellery while using exact same guide abilities.

12:11 AM  
Blogger joli said...

I would never have thought of re-creating spaghetti-0's, but I'll bet the grandkids will love them.
Locksmith in brooklyn
::locksmith in nyc

2:55 PM  
Blogger Faisal Mehar said...

wow, I like your post it`s a mind blowing post and I hope you will be post more. it’s a amazing post for the reson of good lack of information has your article I like it so much. Søgemaskineoptimering

6:20 AM  
Blogger azlaanaezi said...

I am very surprised at how nice your site is organized and how much information it contains. Continue the good work. generico

8:34 AM  
Blogger azlaanaezi said...

I like the helpful information you provide in your articles. I'll bookmark your blog and check again here regularly. I am quite sure I will learn plenty of new stuff right here! Best of luck for the next! generic cialis

1:09 AM  
Blogger azlaanaezi said...

I've found this very interesting and has a good stuff for the readers and designers. I would be glad to recommend the post for its quality content. Nice post. generic viagra

8:10 AM  
Blogger azlaanaezi said...

Thanks for sharing Interesting post. Thanks for taking this opportunity to discuss this, I appreciate with this and I like learning about this subject. If possible, as you gain information, please update this blog with more information. I have found it really useful. generico

5:33 AM  
Blogger azlaanaezi said...

I like to say that This blog again looking too interesting I got a nice and great read on this blog. this time I want to thank along with my whole team. We also like to thank to blogger for his best thinking. http://buytadalafilau.com/products/cialis.htm

6:20 AM  
Blogger iffi said...

I enjoy reading this article. I scarcity to learn more on this topic... Hold responsible you over the extent of scribble literary works this considerable info.. army combat boots

12:22 AM  
Blogger azlaanaezi said...

The post is written in very good manner and it contains many useful information for me. you have a very inpressive writing style .I really enjoyed what you had to say.Well, at least i am interested. buy Relevant Backlinks

3:31 AM  
Blogger sse said...

但没有找到它的错误的事情。我无法想象任何人更好地写这篇文章的。我很惊讶你的网站是不错的组织,它包含了多少信息。继续良好的工作。 Brighton Tiles

7:51 AM  
Blogger azlaanaezi said...

This is a good site to spent time on .I just stumbled upon your informative blog and wanted to say that I have really enjoyed reading your blog posts. I will be your frequent visitor, that’s for sure. youtube views and subscribers

1:07 AM  
Blogger azlaanaezi said...

This is a good site to spent time on .I just stumbled upon your informative blog and wanted to say that I have really enjoyed reading your blog posts. I will be your frequent visitor, that’s for sure. High PR Backlinks

4:31 AM  
Blogger Faisal Mehar said...

I am glad that I found your site. I wanted to thank you for this great read!! I definitely enjoying every bit of it and I have you bookmarked to check out the new stuff you post.
Schluter Ditra Matting

5:58 AM  
Blogger wood said...

100% natural male enhancement pill with 100% money back guarantee! Try Vigrx risk free today! http://www.vigrx-online.com/

3:52 AM  
Blogger Sabbir Ahmed Noman said...


Thank you for a very informative blog. What else could I get that kind of information written in such a perfect way?
I have a mission that I am just now working on, and I've been on the look out for such infoSequence Hair

5:29 AM  
Blogger sse said...

I would like to thnkx for the efforts you have put in writing this web site. I am hoping the same high-grade web site post from you in the upcoming as well. Actually your creative writing abilities has encouraged me to get my own site now. Really the blogging is spreading its wings quickly. Your write up is a good example of it. traitement de laser

12:45 AM  
Blogger sse said...

Thank you for an additional essential article. wherever else might anyone get that sort of knowledge in such a whole approach of writing ? I even have a presentation incoming week, and that i am on the lookout for such info. Gemini Tiles

1:14 AM  
Blogger Calvin Brock said...

If you have a different handset things can be slightly different. However the basic signed MIDlet security model should be the same. video seo services

2:57 AM  
Blogger iffi said...

Hi, I'm so excited that I have found this your post because I have been searching for some information about it almost three hours. You helped me a lot indeed and reading this your article I have found many new and useful information about this subject. Thanks for sharing this! hotel

1:23 AM  
Blogger ko chess said...

Hi,

I've succeeded to import the certificate (on another PC), the install is ok.

But when I run the midlet I still have the security request for user approval! cheap Hockey Jerseys

1:06 AM  
Blogger sse said...

Good articles are visible in this blog that to this is very nice approach is visible in this blog. I had really like it very much for using the nice impression in this blog. Thanks a lot for providing the great info. British Ceramic Tile

7:54 AM  
Blogger Hunza Batool said...

Caterpillar Japan Ltd. acquired Caterpillar Tohoku Ltd. In August 2012, Platinum Equity, LLC. acquired a majority interest in Caterpillar Logistics Services.
Companies Office

12:34 AM  
Blogger sse said...

Nice information, valuable and excellent design, as share good stuff with good ideas and concepts, lots of great information and inspiration, both of which I need, thanks to offer such a helpful information here. comptables laval

6:01 AM  
Blogger sse said...

Well written! Thanks for keeping me posted with yet another brilliant piece. I subscribed to your RSS feeds. Hope it helps create some magic. Keep up the good work. discount cigarettes

2:52 AM  
Blogger rabqa batool said...

Nice post with some excellent concept.
Sofa Re Upholstery

9:09 AM  
Blogger iffi said...

Useful details and fantastic style you got here! I would like to thank you for discussing your ideas and time into the products you post!! Thumbs up systeme d alarme

3:00 AM  
Blogger Muneer Hussian said...

case study solution
case study solution
case study solution
case study solution

case study solution
case study solution
case study solution
case study solution

case study solution
case study solution
case study solution
case study solution

case study solution
case study solution
case study solution
case study solution

case study solution
case study solution
case study solution
case study solution

case study solution
case study solution
case study solution
case study solution

case study solution
case study solution
case study solution
case study solution

case study solution
case study solution
case study solution
case study solution

4:53 AM  
Blogger sse said...

Cubase upgrade is dependent on which version you already have, The version you're upgrading from will determine the cost and method of upgrade. You can also upgrade as far back! publicite internet

12:39 AM  
Blogger sse said...

We've examine your blog publish and i had a very useful and experienced information and facts through the website.it's a genuine good write-up. publicite internet

12:40 AM  
Blogger Naser Ahmed said...

This is truly a great addition. I have read this great post. Thanks for posting article about it. I really like your way of writing.
resumerabbit.com discount code

11:13 AM  
Blogger shamoon bahader said...

detail were just perfect. I think that your perspective is deep, its just well thought out and really fantastic to see someone who knows how to put these thoughts down so well. Great hd wallpapers

10:12 PM  
Blogger Sohaib said...

Again, you can't connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. WCO

3:16 PM  
Blogger saranya zinavo said...

See your blog I feel very honored. Because it gave me a lot of help.Let your life rich rise. This is a very meaningful. I like to do so!
Professional Website Design Company Bangalore

5:19 AM  
Blogger Manohar singh said...

his porter from Lightning Brewery was notable for its sweetness, which apparently could be a good thing or bad thing depending on your taste:
Designer lehenga

12:53 AM  
Blogger Naser Ahmed said...

These look so lovely — those berries are gorgeous! I hope you continue to feel a little bit better each day. Thinking of you!
thesis motivation

9:32 PM  
Blogger Best Article Websites said...

Hi! This is my first visit to your blog! We are a team of volunteers and new initiatives in the same niche. The blog gave us useful information to work. You have done an amazing job!
Advertising agencies in Karachi | Advertising agencies in Pakistan

3:06 AM  
Blogger Calyin Dyol said...

Nice Post Love Reading Its

Generic Viagra

online pharmacy viagra

9:50 PM  
Blogger Naser Ahmed said...

there is a problem installing the certificate, make sure the certificate is valid as mentioned in step3 work them
thesis writing services

8:31 AM  

Post a Comment

Subscribe to Post Comments [Atom]

<< Home