Thursday, September 3, 2009

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());
}
Post a Comment