2014-03-19 54 views
1

我无法加载.p12证书到我的android.project。这里是源代码的链接:如何将.p12证书添加到android设备

char[] password = "<my pass>".toCharArray(); 
FileInputStream fIn = new FileInputStream("<name of cert>"); 
KeyStore keystore = KeyStore.getInstance("PKCS12"); 
keystore.load(fIn, password); 

在线2发生错误打开证书文件。

任何人都可以帮助我。我该如何正确地将cert文件添加到我的android程序中?

回答

2

试试这个

File cert = new File("mnt/sdcard/" + filename + ".p12"); 
InputStream inputStreamFromDownload = null; 

keyStore = KeyStore.getInstance("PKCS12"); 
inputStreamFromDownload = new BufferedInputStream(new FileInputStream(cert)); 

Log.i("Certificate", inputStreamFromDownload.available() + ""); 
+0

在哪里我必须放置我的.p12证书?主要问题是,我不知道从什么地方android读取证书。我只使用内部存储,我没有SD卡。我把.p12文件放到Android文件夹和数据文件夹中。我在设备上找不到可调试应用程序的文件夹。 – user3437564

+1

@ user3437564你找到了证书的放置位置吗? – Feytality

0

...

在Android中,我看到人们在 以下方式编程方式安装密钥库(代码是从Android开发者博客):

byte[] keystore = . . (read from a PKCS#12 keystore) 

Intent installIntent = KeyChain.createInstallIntent(); 
installIntent.putExtra(KeyChain.EXTRA_PKCS12, keystore); 
startActivityForResult(installIntent, INSTALL_KEYSTORE_CODE); 

我也看到人们以编程方式安装只有证书 包装内部密钥库:

Intent intent = KeyChain.createInstallIntent(); 
intent.putExtra(KeyChain.EXTRA_CERTIFICATE, cert); 
startActivity(intent); 

...这会导致[email protected] question

可能会发现下面的链接一个更好的地方开始:

https://developer.android.com/studio/publish/app-signing.html#signing-manually