Skip to main content

How to save server certificate to blackberry key store

  • First you have to download the certificate file manually. To do this open your Firefox browser and type the URL which enables SSL. Then you can see a Padlock bottom of the browser.
image
  • Double click the pad clock. then you can see the certificate window. Click View Certificate button. In the certificate viewer window select Details Tab and select Export button.
image image
  • Then Save your Certificate as X.509 (PEM) format.  You will get this kind of file.
image
  • Open eclipse and Create new Blackberry Project. Copy Certificate file in to the same package that class created. (In here I'm writing my code in Main.java class thus i copied the certificate file in to Main package.)image
  • Following shows code sample
public Certificate ReadFile()
{   
try {
Class classs = Class.forName("com.ironone.main.Main");
InputStream is = classs.getResourceAsStream("/DigiCertEVRootCA.crt");
// Certificate File Name :DigiCertEVRootCA.crt
byte[] data = new byte[is.available()];
is.read(data, 0, is.available());
Certificate c =CertificateUtilities.readCertificateFile(null, data);
// Import net.rim.device.api.crypto.certificate.CertificateUtilities
return c;    
}
catch (Exception ioe) {
return null;    
}        
}
public void addCertToDeviceKeyStore (Certificate certificate)
{
KeyStore keyStore = DeviceKeyStore.getInstance();
//check if certificate is not already in the DeviceKeyStore
if (!keyStore.isMember(certificate))
{
try{
String SFN = certificate.getSubjectFriendlyName();
CertificateStatus CS=certificate.getStatus();
keyStore.set(null,SFN ,certificate,CS , keyStore.getTicket());
}
catch (Exception e)
{ } 
}
}
public static void main(String args[])
{ 
Main TheMain = new Main();
TheMain.enterEventDispatcher();
}
public Main()
{
addCertToDeviceKeyStore(ReadFile());
}

Comments

Hema said…
Hello Mr Mellick,

i was searching for the same thing from the past one week.Thanks for the post.Can you please tell me about the resources from where you get all these info.
b said…
Hi Hema,

actually i didn't found any specific source, doing many researches and referring blackberry forum i wrote this code.
Hema said…
ok Melick Thank You.
ecsz said…
Hi, thank you for the post, it is useful.

I would like to add a certificate to use in a TLS connection, but even if I add it to the DeviceKeyStore, the device pops up a dialog that the certificate is not trusted. Is it possible to add it somewhere else to avoid this problem?
Theja said…
Hi Mellick,

Thanks dude, I was exactly looking for this. You saved my many precious hours.
b said…
@ecsz - if you use certified authority (verysign) then it will not prompt as a untrasted one.

@ Thanks All ...
simon_hain said…
Thanks for posting the code, it was very helpful.
Let me know if you need anything over at the bb supportforums :)