ASP.NETサイトのスマートカードと通信する必要があります。Windowsのカードリーダーで動作するdll(Winscard.dllとSCM Micro ReaderのdllであるMCSCM.dllを使用)を作成しましたが、ASP.NETでは使用できません。プロジェクトはIEでのみ実行され、Javascriptを回避する必要があります。
お手伝いありがとう。
ASP.NETサイトのスマートカードと通信する必要があります。Windowsのカードリーダーで動作するdll(Winscard.dllとSCM Micro ReaderのdllであるMCSCM.dllを使用)を作成しましたが、ASP.NETでは使用できません。プロジェクトはIEでのみ実行され、Javascriptを回避する必要があります。
お手伝いありがとう。
私は8年前にこの問題を抱えていましたが、当時はASPと呼んでいました
問題は、ASP コードがリモート サーバーで実行されるのに対し、スマートカード リーダーはハードウェアのローカル部分であることです。
私がそれを回避した方法は、カードの挿入/取り外しのためにスマートカードリーダーを定期的にポーリングする小さなクライアントアプリケーションでした. カードが挿入されると、Web サービスを呼び出してサーバーに警告し、カードと乱数に基づいて一意のキーを作成しました。次に、カード ID と乱数に関連する PIN の入力をユーザーに求めました。
これは、特定のカードと再現不可能な番号が必要であることを意味していました。SSL を使用して Web サービス メッセージを暗号化したことは間違いありませんが、これはもちろん、システムの最も脆弱な部分です。
それが私がやった方法です。SCM の技術サポート担当者は非常に親切で、優れた英語を話します。彼らに声をかける価値があるかもしれません。
私は解決策を見つけました。ActiveXobject を作成する Javascript をロードし、クライアントにインストールされている dll を使用します。このようなもの:
<script language="javascript">
function Run()
{
var x = new ActiveXObject("ASC.SC");
txtRd.value = x.AutoRead();
}
</script>
ご協力ありがとうございました。
私の会社では、この目的のために商用プラグインを作成しています。
IE および firefox/chrome のサポートが含まれており、スマート カードを制御する単純なサーバー側スクリプトを作成するためのスクリプト言語を提供します。また、ブラウザーと対話するための関数も含まれています (スマート カードから読み取った値を Web ページのフィールドに入力したり、別の Web ページに移動したりするなど)。
要件に合っているかどうかを確認するために使用できるオンラインのデモンストレーションが多数あります: https://cardboss.cometway.com
認証にスマート カードを使用する場合は、私の同僚が作成したSmartcard Authentication Moduleを使用する必要があります。それは非常に安全で、うまくいくはずです。