2016-04-27 9 views
10

モジュラス、公開指数、プライベート指数を与えました。これらの値をAndroidに安全に保存する必要があります。それをどうすれば実現できますか?モジュラス、公開指数、プライベート指数をAndroidに安全に保存する方法は?

ほとんどの例では、n、d、eパラメータを取得せずに公開鍵と秘密鍵を作成しています。私はそれらのn、e、d値を与えて、それらを安全に保管し、それらの値を使ってICC公開鍵証明書を作成し、私の動的データに署名したいと思います。

どうすれば実現できますか?

+1

あなたはAndroidでデータを保存する最も安全な方法をお探しですか? – Devrim

+0

はい、Generate ACレスポンスを作成するには、このICC公開鍵コンポーネント(プライベート、パブリック、モジュラス)が必要です。これらをAndroidに安全に保存する必要があります。 –

+0

@Phillipはあなたの質問に答えました。 Android 4.3(APIレベル18)で導入された「Android Keystore System」についてお読みください。 – Devrim

答えて

6

Keystore Systemを使用してください。

setEntry()は、KeyStore.Entryを実装しているオブジェクトを保存できます。デフォルトに適合しないデータを格納する必要がある場合は、独自のサブタイプを実装するだけで済みます。 (RSAPrivateCrtKeyがありますが、これはPrivateKeyEntryに保存することができます)

2

おそらく、Androidデバイスの安全なストレージは、Android Keystore Systemだけです。

重要な要素はアプリケーションプロセスに入力されません。

キーマテリアルの安全なハードウェアに結合させることができます。

http://developer.android.com/training/articles/keystore.htmlを参照)

それに伴う問題は、あなたがあなたがそれに保存することができますどのように制限されていることです。 KeyChainクラスを使用すると、秘密鍵と証明書チェーンを格納できます。一方、キーストアプロバイダは、次の種類のエントリをサポートしています:PrivateKeyEntry、SecretKeyEntry、TrustedCertificateEntry。実際には、SecretKeyEntryのインスタンスを配置しようとすると例外が発生します。

キーストアに2つのエントリを入れることをお勧めします。あなたが事前にしなければならないあなたの自己署名証明書、とKeyStore.TrustedCertificateEntry(KeyFactoryにと一緒にクラスのRSAPrivateKeySpecを使用してモジュラスと非公開の指数から生成)のPrivateKey

  • 与えられたインスタンス化でき

    1. KeyStore.PrivateKeyEntry Javaキーツールを使用して生成し、実行時に資産からロードします。定義上秘密にするべきではありません。
  • 関連する問題