2016-09-18 4 views
1

私のJavaカードにはアプレットを、SAMには他のアプレットを書きました。私は乱数を送信して相互認証を作成したいと思っています。 読者のモデルは次のとおりです。Javacard上のアプレットとSAM(Secure Access Module)上のアプレットの認証

c:\>gp.exe -all -d 
# Detected readers from SunPCSC 
[*] ACS ACR1281 1S Dual Reader PICC 0 
[*] ACS ACR1281 1S Dual Reader SAM 0 

私はSAM上のアプレットを選択し、乱数を作成して送信します。それから、私はSAMのランダムとカードによる新しいランダム作成で文字列を作成し、混合ランダムを送信するJavaカード上のアプレットを選択します。

ランダムにチェックするためにSAM上でアプレットを再度選択する必要がありますが、私のランダムが一時的なClear_ON_RESETメモリにあるため、それらはなくなりました。

一時的に乱数が必要ですCLEAR_ON_RESETメモリ。私はgp.exeを使ってAPDUを送信します。

SAMとカードの両方を選択できる方法はありますか?私はそれらを両方持っている方法があるはずだと思います。

答えて

5

異なる(論理的な)リーダーデバイスを使用している場合は、もう一方のリーダーデバイスを使用している間にどちらか一方のチャネルを閉じる必要はありません。同じスレッドからでも、それらを同時に使用できるはずです。

問題は、そのような用途のために書かれていないツールであるgp.exeを使用しています。代わりにJava & javax.smartcardioを使用してアプリケーションをコーディングしてください。