8

次の行でエラーが発生します。

final KeyStore keyStore = KeyStore.getInstance("BKS");

私が得るエラーは次のとおりです。

java.security.KeyStoreException: BKS not found
    at java.security.KeyStore.getInstance(Unknown Source)
    at AppListen.<init>(AppListen.java:84)

「参照ライブラリ」にbcprov-jdk16-146.jarを追加しましたが、まだ運がありません。

私の全体的なプログラムでは、SSL ソケット接続を使用して、Android フォンをコンピューターのマウスとキーボードとして使用できます。Android アプリには同じ行があり、エラーはありません。

私は何を間違っていますか?


編集:

おそらくこれはほとんどの人にとって常識ですが、私にはそうではなかったので、私のような人のためにこれを行いました.

私が BKS を使用していた理由は、それが Android で許可されている唯一の形式だからですが、Android 側でのみ必要であることを知りませんでした。サーバーで別の形式を使用してから、キーのコピーを作成して、 Android で使用する BKS により、BouncyCastle が不要になります。

サーバーにJKSキーを使用し、そのキーのコピーをBKSに変換して、portecleというプログラムを使用してAndroidで使用しました。

4

2 に答える 2

4

このエラーは、keytool がBKSキーストアをインスタンス化しようとしましたが、暗号化サービス プロバイダー (CSP) がそのような実装を提供できないことを示しています。BKSkeystore 型はBouncyCastle CSP
によって実装される型 なので、BouncyCastle プロバイダーを Java でインストールする必要があります。プロバイダーのインストール
とこれも調べてください

于 2012-07-27T10:25:18.390 に答える