プロジェクト分析のため、Javaがスマートカードにアクセスする方法について学習しようとしています。Javaでテストを行うために使用できる仮想スマートカードはあるのでしょうか。
ちなみに、Java Cardについて読んだことがありますが、Javaを使用したスマートカードデータアクセスではなく、カードでJavaを実行するために使用されているようです。
このチュートリアルと例を見てください。そして関連する。(私はこれらの例を使用しましたが、正常に機能します)。
重要な点は、スマートカードから何も取り出せないということです。あなたはそのプロセッサに物事を送ることができるだけです。したがって、PrivateKey
オブジェクトを取得するときはいつでも、実際には秘密鍵を持っていません。これはSmartCardプロセッサのプロキシにすぎず、そのメソッドを呼び出すと、プロセッサが呼び出されます。
ただし、仮想スマートカードについては知りません。
関心のあるAPIはjavax.smartcardio
Java CardDevelopmentKitにバンドルされているJavaCardエミュレータがあります。ある段階で実際のカードを使用する予定がある場合は、バージョン2.2.1または2.2.2を入手してください。しばらくの間、バージョン3のカードは期待できません。カードを置くには、アプレットが必要です。Javaカードはそれ自体では何もしません。カードアプレットをロードするまで、有用な機能は実行されません。
JCDKのエミュレーターの問題の1つは、javax.smartcardioを使用してカードにアクセスできないことです。これは、現時点でカードと通信するための推奨される方法です。他の人気のある代替手段であるOpenCardFrameworkは、しばらくの間積極的に保守されていません。
ここで仮想スマートカード(および仮想リーダー)を入手できます:http ://sourceforge.net/projects/vsmartcard/
JavacardはJavaを使用しますJava開発のサブセットのみJava開発環境を使用しない方がよい特殊効果があるためサポートされていませんプラグインまたは専用の開発IDEをダウンロードできます。ここからダウンロードできますwww.javacos.com関連する開発環境。
JavaCardをエミュレートする必要がある場合は、jCardSimを使用してみてください:http://jcardsim.org。また、javax.smartcardioAPIおよびapdu-scriptsを介したアクセスもサポートしています。