2017-03-02 4 views
0

Linuxマシンで証明書を生成し、これをカードに転送して暗号化します。それを保管して後で取り戻すことができます。私はカード上で4k RSAデータのようなものを得る方法を知っています。 APDUと連携していますか?Java Cardがカード上のデータを取得する

答えて

1

証明書は一般に暗号化する必要はありません。一般に公開情報が含まれています。複数のAPDUコマンドを使用してカードにデータを送信することができます。このために、コマンド連鎖を使用することができます。コマンドを複数回繰り返してデータを送信します。 UPDATE BINARYにオフセットを使用することもできます。

コマンドチェインまたはUPDATE BINARYは、そのままJava Cardに実装されていないため、機能を自分で実装する必要があります。仕様はISO/IEC 7816-4: "Identification cards -- Integrated circuit cards -- Part 4: Organization, security and commands for interchange"です。

Java Card自体には最大2^15-1バイトのバイト配列がサポートされています。これは、一般的なX509v3証明書よりも32Kほどです。平文または暗号文をそこに格納することができます。

はい、この種の機能は「with APDU」です。 APDUはほとんどのカードのための唯一の普遍的なインターフェースなので、そこでは多くの実装が必要です。とにかく私が設計/実装したものは少なくとも。


Java Cardのはまた、(アプレットによってExtendedLengthインタフェースを実装することによって)延長された長さのAPDUのをサポートすることができます。しかし、最大APDUバッファは、すべてではないにしても、ほとんどの場合4K以下です。だから、あなたは確かにこれのために拡張された長さのAPDUを使用することができますが、あなたはそれで完全な問題を解決することはできません。

+0

2^15-1バイトでなければなりませんか? (すなわち、署名されたショートとして与えられた長さ) –

+1

@MichaelRoland D'oh!ありがとう、固定。 –

関連する問題