私の質問は、.NetとJavaスマートカードとの間のPKCS11実装に関する違いに焦点を当てています。
より一般的には、スマートカードは特定の「OS」(またはファームウェア)を使用し、ミドルウェア/アプリケーション層のみが異なりますか?両方のミドルウェアをフォーマットして切り替えるのは簡単ですか?
私はスマートカード関連のものにかなり錆びていますが、とにかく答えに亀裂があります。
スマートカードは、それ自体が小さな組み込みコンピュータであるため、非常にシンプルなOSを実際に使用しています。あなたが言及する2つは標準的なものです。
それらはすべて、OSに特に依存しないいくつかの標準機能を備えています。証明書の提示、一部のデータの暗号化/復号化、PINの要求などの機能はすべて、スマートカード仕様の一部です。これらの機能には、ホストコンピューターから標準インターフェイスライブラリ(通常はPCSC)を介してアクセスします。
さらに、過去10年間のすべてのスマートカードは、すべてではないにしても、非常に単純な汎用コンピュータとして機能することができ、そこに違いがあります。 Javaスマートカードは、Oracleの組み込みバージョンを実行しますJava OSとして使用し、Javaをプログラミング言語として使用します。NETカードはMicrosoft .NETの埋め込みバージョンを同様の方法で使用します。元々は、「ダム」スマートカードとJavaベースの「スマート」スマートカードしかありませんでした。今、.NETの方がはるかに多いと思いますもっと一般的。
お役に立てれば。