2014-03-19 79 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