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!
OpenSSL - to create and sign certificates
Goal
Step 1: Build and (try to) test your MIDlet on Emulator
Tool used: KToolbar (Sun WTK)
Step 2: Set permissions and create MIDlet package
Make sure :
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
Now you have generated 3 files
[code]
$file = path_to_your_CA_CER_FILE
Important! You can install certificates ONLY in DER format so make sure path_to_your_CA_CER_FILE points to ca.cer.
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
openssl x509 -req -days 365 -in code-sign.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out code-sign.crt
Step9: MIDlet signing
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.
Step10: Verify your jad file
Step11: Install the MIDlet on your handset
[head]
[title]MySignedMIDlet[/title]
[/head]
[body]
[a href=http://mywebsite/my_midlet_folder/mymidlet.jad] mymidlet.jad [/a]
[/body]
[/html]
Step12: Relax
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
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.
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.
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
- 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)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.
- 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]
Now, load the cer file to the location specified in the script above and start the webserver.
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.
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.
- 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”
If you are gotten this far, you’re 99% done !!
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 !!
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]
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.
Good luck :)

160 Comments:
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
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
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
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
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
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/
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
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
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.).
Very usefull tutorial. I made it on my N70 for MIDlet-Permissions-Opt: javax.microedition.pim.ContactList.read, javax.microedition.pim.ContactList.write
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);
}
}
}
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);
Manoj Kumar,
Thank you for posting that servlet code - definitly useful.
~b
1) Two step5?
2) If we don't have carbide.j (which is not support any more) what should we use?
I tried the step 4 on my nokia 6085 phone, it givesme "Authority certificate corrupted", what can be wrong?
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
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.
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
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?
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
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?
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.
nice article
this works only for series 60 mobile.
but you can't control messaging Security Alerts.
you can send this .cer file in bluetooth also.
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....
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
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
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).
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
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
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
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
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??
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.
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
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?
my mail is: mohammad.samadani@gmail.com
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
GREAT !
Great! Thanks :)
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
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.
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
Tried on Nokia 5800, unable to install. Certificate Error. Contact the service provider
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.
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"
buy viagra
viagra online
generic viagra
Great To See such a nice blog.
.....Alex
cheap viagra
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
scrub m65 kamagra attorney lawyer body scrub field jacket lovegra marijuana attorney injury lawyer 14k gold ed hardy 14k yellow gold
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.
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
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
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
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
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
This comment has been removed by the author.
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
Just love your site. Smart tips from an inteligent guy. auto insurance quotes
was able to install a root cert on my nokia 6682.business logo design
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.
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.
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 .
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
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
Nice post. Great blog. Thanks for sharing.
Angry birds clone| Airbnb clone|
Nice post! Thanks for sharing!
Comprare Viagra
I got gathered all the information. It was very interesting and meaningful.
groupon clone| Angry birds clone|
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.
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.
Such a wonderful post. Thanks for the share.
Groupon Clone| Formspring Clone|
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
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.
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
Its really a wonderful post. Keep it up.
Generic Viagra
Interesting steps. Thanks for the share.
usedcarsforsale
best organic seo services
Thanks for the informative writing. Would mind updating some good tips about it. I still wait your next place. ;)
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
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
I really liked your article. Keep up the good work.I love extreme bondage sex
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.
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
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
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
Great website, looks very clean and organized. Keep up the good work! lesbian dildo bondage
Thanks for sharing the information!
I found this article very interesting and informative!
Keep sharing!
the best seo company
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
The positive comments and do well wishes are very motivational and greatly appreciated.
organic seo service
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
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
Thanks for sharing the information!
I found this article very interesting and informative!
Keep sharing!
Sarongs
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
Its really a nice one.thanks for sharing it.
Buy Kamagra Online
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 .
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
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
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|
WAO its totally indifferent i'm so impressed the way you presented thisbuy codeine online
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.
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.
Great post, thanks for the very helpful information.
http://www.abellosroofing.com
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
You provided a valuable service to the community. Thank you for doing such a
great job all these years.
organic vitamins
I was interested read this post.
ED Trial Pack
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
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
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
organic vitamins
Great post!! Keep up the good work - I'm sure someday soon, someone will be doing an Ada Lovelace post about you
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
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
Great blog ...Thanks for your great information, the contents are quiet interesting.I will be waiting for your next post.
buy watson
I would like to think you for sharing your thoughts and time into your comments! Thumbs Up !
drug forum
organic vitamins
What's up with the potatoes? Potatoes suck. They don't belong in burritos.
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
I was very fantastic why i not see your blog before i would come back.
web hosting Pakistan
weight loss spray
I love this post! Thank you for the nice information on non-touch screen handset. This is definitely good.
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
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
Appetite Control spray
Hi, great Blog. The way you explained it is really awesome and makes everyone to read till the end. Keep posting..
naturalsleep aid
VERY clever, I would never have thought of re-creating spaghetti-0's, but I'll bet the grandkids will love them.
This is one of the efficient post.I like your blog details.This is one of the knowledgeable post.
Android app developers
Curcumin, a derivative of turmeric, may have potential cancer treatment properties especially for glioblastoma, a fatal type of brain cancer
buy curcumin
curcumin
Thank you for the article. It was very informative. I appreciate the work you do! Keep Up the good work
Thanks!
health insurance california
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
Healthy Green provides the finest Natural supplements, organic supplements and Medicinal vitamins. No fillers, binders, or chemical excipients.
organic supplements
=|=natural supplements
=|=organic vitamins
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
Thanks for your great post.I like this very much, please write more about these,wait for your update
Aerospace Logo
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.
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.
Congratulations for the post. Can you share the generated files with us?
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.
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
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
I am very surprised at how nice your site is organized and how much information it contains. Continue the good work. generico
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
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
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
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
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
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
但没有找到它的错误的事情。我无法想象任何人更好地写这篇文章的。我很惊讶你的网站是不错的组织,它包含了多少信息。继续良好的工作。 Brighton Tiles
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
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
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
100% natural male enhancement pill with 100% money back guarantee! Try Vigrx risk free today! http://www.vigrx-online.com/
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
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
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
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
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
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
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
Caterpillar Japan Ltd. acquired Caterpillar Tohoku Ltd. In August 2012, Platinum Equity, LLC. acquired a majority interest in Caterpillar Logistics Services.
Companies Office
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
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
Nice post with some excellent concept.
Sofa Re Upholstery
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
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
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
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
Post a Comment
Subscribe to Post Comments [Atom]
<< Home