私はphp/mysqlアプリケーションを開発しており、ストアはいくつかのデータを作成しました。次のステップでは、スマートカードリーダーをブラウザー(Chrome、Firefox、IE)とインターフェースして、データを抽出してmysqlデータベースに保存する必要があります。
私はそれを行うのに役立つものを見つけることができないので、私はいくつかの情報/ヘルプを持っているためにここにいます。どうすればそれが可能ですか?
私はphp/mysqlアプリケーションを開発しており、ストアはいくつかのデータを作成しました。次のステップでは、スマートカードリーダーをブラウザー(Chrome、Firefox、IE)とインターフェースして、データを抽出してmysqlデータベースに保存する必要があります。
私はそれを行うのに役立つものを見つけることができないので、私はいくつかの情報/ヘルプを持っているためにここにいます。どうすればそれが可能ですか?
合理的に確実な唯一の方法は、Java でアプレットを作成し、サンドボックスから抜け出し、javax.smartcardio
ライブラリを使用することです。にjavax
あるため、存在するかどうかは定かではなく、追加のアクセス ルールが適用される可能性があります。
アプレットは署名されている必要があり、ユーザーはアプレットが信頼されていることを示す必要があります。もちろん、比較的新しい Java ランタイムをコンピュータにインストールする必要があります。javax.smartcardio
はデフォルトで PCSC スマート カード リーダーのみを使用できるため、存在することを確認する必要があります。さらに、PCSC とjavax.smartcardio
do は、ISO 7816 準拠のプロセッサ カードを前提としています。
以前は、Java アプレットを使用してネイティブ ライブラリをインストールし、スマート カードと通信することもできましたが、現在のオペレーティング システムでは、これがうまくいくとは思えません。
多くの作業と多くのテストに備える。
更新2016-12-24
Java 9 では、アプレットが依存しているプラグインは廃止されていますが、まだ削除されていません。直接的な答えではありませんが、Java Web Startを使用すると、これに対する解決策になる可能性があります。
Web Crypto API など、ブラウザーでの暗号化に関しては、さまざまな検討が行われています。スマートカードへの直接アクセスに関しては、行動するよりも考え続けているようです。執筆時点では、セキュア トークンへのアクセスは含まれていないようです。
スマート カードのプラグインをブラウザーに提供することは、一般的ではありますがやや難しい方法です。ただし、これにはブラウザーのサポート (個別のブラウザーごとに)、管理者権限が必要です。多くのブラウザは、このようなプラグイン構造から移行しようとしているため、この種のソリューションは将来的に保証されない可能性があります.
最後に、(署名された) ネイティブ アプリを使用して、ブラウザーから参照することができます。アプリはアプリで利用可能にすることができます。さまざまなオペレーティング システムのストア。
ほとんどの場合、必要に応じてブラウザーにインストールされ、リーダーなどのコンピューター デバイス、または少なくとも証明書ストレージまたはシステム API にアクセスするために完全な信頼で実行されるネイティブ アプリケーションを開発する必要があります。
次に、IE 用のNPAPIや ActiveX/COMなどのブラウザへのスクリプト インターフェイス、またはその他の独自のスクリプト技術を提供する必要があります。