在我的应用中导入密钥库

时间:2011-10-08 14:16:54

标签: android ssl https ssl-certificate keystore

我成功创建了myKeystore.bks文件,我保存到位于“C:\ test \ myKeystore.bks”的文件中。 如何在我的应用程序中导入此密钥库以完成握手?

InputStream in = context.getResources().openRawResource(R.raw.mykeystore);

我有来自Antoine博客的以下代码,其中说明“现在您可以将密钥库作为原始资源复制到您的Android应用下的res / raw /”

private SSLSocketFactory newSslSocketFactory() {   
  try {   
    // Get an instance of the Bouncy Castle KeyStore format  
       KeyStore trusted = KeyStore.getInstance("BKS");  
    // Get the raw resource, which contains the keystore with           
    // your trusted certificates (root and any intermediate certs)   
       InputStream in = context.getResources().openRawResource(R.raw.mykeystore);      
       try {  

提前谢谢。

1 个答案:

答案 0 :(得分:3)

老问题。这个答案现在很重要。

假设您使用的是Android Studio。

将文件放在特定资源文件夹中 在项目资源管理器中,

  1. 打开项目文件夹。
  2. 找到res文件夹并展开twistie以显示不同的资源文件夹。

    • 如果你没有一个叫“Raw”,那么:
    • 在项目资源管理器中选择了“Res”文件夹,
    • 转到文件下拉菜单,然后选择,新建> Android资源目录。
      • 表格将打开,“新资源目录”。填写以下内容。
      • 目录名称:raw
      • 资源类型:原始
      • 来源集:主要
  3. 现在您有一个“Raw”文件夹,右键单击它并选择打开文件系统上的位置(在Mac上,它是“在Finder中显示”)

  4. 打开文件夹后,将密钥库放在那里。 Android工作室应自动在Raw文件夹内的Project Explorer中显示它。

  5. 希望这有帮助。

    注意:我正在使用OSX,因此流程可能会有所不同,但您会得到一般的想法。