2017-08-25 99 views
0

私のAndroidアプリケーションではkeystore.p12という名前のキーストアファイルがあります。これは/data/data/com.company.myapp/filesにあります。私はこの特定のファイルを引っ張って、今はその中に格納されているキーを取得したいと思います。toDerInputStreamはタグタイプを拒否します0 - キーストアからキーを読み取ることができません

私はこのようなキーツールでそれを試してみました:

>keytool.exe -list -keystore C:\Users\user\Desktop\keystore.p12 -storepass letmein -storetype PKCS12 -v 

を残念ながら、私は、次のエラーを取得:

keytool error: java.io.IOException: toDerInputStream rejects tag type 0 
java.io.IOException: toDerInputStream rejects tag type 0 
     at sun.security.util.DerValue.toDerInputStream(DerValue.java:874) 
     at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1915) 
     at java.security.KeyStore.load(KeyStore.java:1445) 
     at sun.security.tools.keytool.Main.doCommands(Main.java:795) 
     at sun.security.tools.keytool.Main.run(Main.java:343) 
     at sun.security.tools.keytool.Main.main(Main.java:336) 

は、私は、Javaと同じことを試してみましたが、私は同じ例外が発生します。

public static void main(String[] args) { 
     try { 
      FileInputStream is = new FileInputStream("C:\\Users\\user\\Desktop\\keystore.p12"); 
      KeyStore keystore = KeyStore.getInstance("pkcs12"); 
      keystore.load(is, "letmein".toCharArray()); 
      is.close(); 
     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 
    } 

この問題をどのように解決できますか?

答えて

1

.p12ファイルはPKCS#12ファイルではなく、異なるキーストアタイプのようです。利用可能なすべてのキーストアタイプ(PKCS12、BKS、JKS、...)を使用してファイルを開こうとするKeystore Explorerで開こうとします。

ロードアルゴリズムが成功したメインウィンドーの下部にあるファイル情報に表示されるファイルをロードできます。

+0

ありがとうございました。実際にはPKCS#12ファイルではなく、BKSです。 –

関連する問題