javacard.security.Signature クラスの ALG_HMAC_SHA1 メソッドを使用したい。しかし、私の javacard フレームワークのバージョンは 2.2.1 であるため、Signature クラスにはこのバージョンのこのメソッドは含まれていません。このメソッドは 2.2.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_ALGORITHM
public 定数を直接使用すると、アップロードまたはインストールが失敗する可能性があります。
ここで明確にするために、別のバージョンのフレームワーク用にコンパイルすることで問題が突然解決される可能性があることを示唆しているわけではありません。カードで利用可能な機能を単純にアップグレードすることはできないことをお勧めします。
于 2013-12-11T16:39:54.263 に答える