Java カードの開発は初めてです。安全なキー値を Java カード アプレットに格納する方法を知りたいです。認証に PKI (公開鍵インフラストラクチャ) を使用したいからです。それは可能ですか?? はいの場合、キーを Java カード アプレットに保存する方法を教えてください。
質問する
1776 次
2 に答える
2
それは確かに可能であり、次のことを行う必要があります。
- card でキー ペアを生成し、最大のキー サイズ (2048 ビット) を試します。これには時間がかかる場合があることに注意してください。また、カードまたはリーダーが接続タイムアウトを適切に処理しない場合、問題が発生する可能性があります。
- 端末のカードで PKCS#10 証明書要求を作成します。これは、ASN.1 DER エンコーディングを利用するデータ構造です。
- 鍵ペアの秘密鍵を使用してPKCS#10 要求に署名します。
- PKCS#10 要求を認証局 (CA) に送信します。
- 返された証明書をインポートします。
Java Card は、RSA または EC キー ペアの生成と署名/検証操作をサポートしている必要があります。最近ではほとんどのカードがサポートしていますが、非対称コプロセッサを搭載していないカードもいくつかあるかもしれません。
古い秘密鍵を使用すると安全性が低下するため、この回答では新しい鍵ペアを作成することを前提としています。既存の秘密鍵をロードする場合は、 のすべてのセッターRSAPrivateKey
、またはより高速なを呼び出すだけRSAPrivateCrtKey
です。KeyBuilder
どちらのオブジェクトも、Java Cardインスタンスを使用して作成する必要があります。
これには多くの知識が必要になる場合があることに注意してください。MuscleCardなどのオープン ソース ソリューションを使用する方がよい場合があります。
于 2013-06-12T21:59:40.997 に答える