3

私はphp/mysqlアプリケーションを開発しており、ストアはいくつかのデータを作成しました。次のステップでは、スマートカードリーダーをブラウザー(Chrome、Firefox、IE)とインターフェースして、データを抽出してmysqlデータベースに保存する必要があります。

私はそれを行うのに役立つものを見つけることができないので、私はいくつかの情報/ヘルプを持っているためにここにいます。どうすればそれが可能ですか?

4

2 に答える 2

3

合理的に確実な唯一の方法は、Java でアプレットを作成し、サンドボックスから抜け出し、javax.smartcardioライブラリを使用することです。にjavaxあるため、存在するかどうかは定かではなく、追加のアクセス ルールが適用される可能性があります。

アプレットは署名されている必要があり、ユーザーはアプレットが信頼されていることを示す必要があります。もちろん、比較的新しい Java ランタイムをコンピュータにインストールする必要があります。javax.smartcardioはデフォルトで PCSC スマート カード リーダーのみを使用できるため、存在することを確認する必要があります。さらに、PCSC とjavax.smartcardiodo は、ISO 7816 準拠のプロセッサ カードを前提としています。

以前は、Java アプレットを使用してネイティブ ライブラリをインストールし、スマート カードと通信することもできましたが、現在のオペレーティング システムでは、これがうまくいくとは思えません。

多くの作業と多くのテストに備える。

更新2016-12-24

Java 9 では、アプレットが依存しているプラ​​グインは廃止されていますが、まだ削除されていません。直接的な答えではありませんが、Java Web Startを使用すると、これに対する解決策になる可能性があります。


Web Crypto API など、ブラウザーでの暗号化に関しては、さまざまな検討が行われています。スマートカードへの直接アクセスに関しては、行動するよりも考え続けているようです。執筆時点では、セキュア トークンへのアクセスは含まれていないようです。


スマート カードのプラグインをブラウザーに提供することは、一般的ではありますがやや難しい方法です。ただし、これにはブラウザーのサポート (個別のブラウザーごとに)、管理者権限が必要です。多くのブラウザは、このようなプラグイン構造から移行しようとしているため、この種のソリューションは将来的に保証されない可能性があります.


最後に、(署名された) ネイティブ アプリを使用して、ブラウザーから参照することができます。アプリはアプリで利用可能にすることができます。さまざまなオペレーティング システムのストア。

于 2012-09-06T22:11:21.233 に答える
0

ほとんどの場合、必要に応じてブラウザーにインストールされ、リーダーなどのコンピューター デバイス、または少なくとも証明書ストレージまたはシステム API にアクセスするために完全な信頼で実行されるネイティブ アプリケーションを開発する必要があります。

次に、IE 用のNPAPIや ActiveX/COMなどのブラウザへのスクリプト インターフェイス、またはその他の独自のスクリプト技術を提供する必要があります。

于 2012-09-07T04:05:17.800 に答える