3

javacard.security.Signature クラスの ALG_HMAC_SHA1 メソッドを使用したい。しかし、私の javacard フレームワークのバージョンは 2.2.1 であるため、Signature クラスにはこのバージョンのこのメソッドは含まれていません。このメソッドは 2.2.2 以降に含まれています。フレームワークのバージョンアップをしなくてもこの方法は使えますか?

4

2 に答える 2

4

ALG_HMAC_SHA1定数(= )の 2.2.2 フレームワークで見つけた値をいつでも使用して、メソッド(byte)24に渡すことができます。Signature.getInstance()したがって、の使用は問題ではありません。ただし、アプレットを実行するスマート カード ハードウェアがこのアルゴリズムをサポートしている必要があります。

そのため、スマートカード ハードウェアが JC 2.2.1 をサポートしてgetInstance()いる場合、 の値でメソッドを呼び出すと、ALG_HMAC_SHA1通常、アルゴリズムがサポートされておらず、JC 2.2.1 が HMAC アルゴリズムをサポートしていないことを示すCryptoException理由 ( ) が発生します)。CryptoException.NO_SUCH_ALGORITHMpublic 定数を直接使用すると、アップロードまたはインストールが失敗する可能性があります。

ここで明確にするために、別のバージョンのフレームワーク用にコンパイルすることで問題が突然解決される可能性があることを示唆しているわけではありません。カードで利用可能な機能を単純にアップグレードすることはできないことをお勧めします。

于 2013-12-11T16:39:54.263 に答える