Galera,
Estou precisando instalar programaticamente um certificado no Android, de modo que o usuário tenha o minimo de interação possível com o processo, então, estou tentando o seguinte código:
String certificateFilePath = activity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + File.separator + "star_tortuga_com_br.cer";
Intent intent = KeyChain.createInstallIntent();
FileInputStream finStream = new FileInputStream(certificateFilePath);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509Certificate x509 = (X509Certificate)cf.generateCertificate(finStream);
intent.putExtra(KeyChain.EXTRA_CERTIFICATE, x509.getEncoded());
intent.putExtra(KeyChain.EXTRA_NAME, "IAT Cert");
activity.startActivityForResult(intent, 0); // this works but shows UI
activity.sendBroadcast(intent); // this doesn't install cert
E da a seguinte Exception:
01-17 10:33:35.140: I/pedmobile(12525): java.io.IOException: Incorrect PEM encoding: '-----BEGIN CERTIFICATE-----' is expected as opening delimiter boundary.
Não conheço muito sobre o processo, poderiam dar uma luz?