問題タブ [pcsc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
370 参照

.net - PowerShellからチップカードにアクセスするにはどうすればよいですか?

チップカードコマンド(APDU)をチップカードに送信し、チップカードからの応答を読み取りたいのですが。

Windowsシステムに追加のインストールはないはずなので、WindowsPowerShell内でインストールしたいと思います。

これを行う簡単な方法はありますか?

0 投票する
1 に答える
10067 参照

windows-7 - Windows 7 がスマート カードに干渉する

PC/SC API を使用してスマート カードと通信するアプリケーションがあります。Windows 7 では、奇妙な結果が得られます。カードから返されたデータに一貫性がなく、特定のコマンドでは無効です。グループ ポリシーでスマート カード プラグ アンド プレイ サービスを無効にすると、すべて正常に動作します。誰かが似たようなことを経験しましたか? スマート カードのプラグ アンド プレイ サービスを正常に動作させる方法はありますか? 無効にする必要がないのはいいことです...

0 投票する
1 に答える
1988 参照

usb - スマートカード リーダーの命名: リーダーを削除すると、残りの名前が変更されます

私はスマートカードアプリケーションを書いています。このアプリケーションは、カードをリーダーに接続し、時々それで動作します。リーダーが使用できなくなったときに監視する必要があります (カードが取り出されるか、リーダーが USB から取り外されます)。

リーダーはSCardStatusChangeを使用して監視されます。この機能には、監視するリーダー名が必要です。

カード付きの 2 つのリーダーを USB スロットに挿入します。「USB Smart Card Reader 0」「USB Smart Card Reader 1」として認識されます。リーダーを 1 つ削除します。Windows は、「USB スマート カード リーダー 1」がまだ接続されていると表示します。私はそれを挿入します - 両方とも利用可能です。今、私は2番目のものを削除します。Windows はまだ「USB スマート カード リーダー 1」が接続されていると表示します。そして、まだ接続されている「USB Smart Card Reader 0」であるため、これが問題です。名前が変更されたため、追跡ルーチンはリーダーを監視できません。

ドライバーの問題ですか、それとも XP スマートカード サブシステムの問題ですか? 使用されるドライバーは、USB CCID Compliant バージョン 5.2.3790.1830 (VID 076B、PID A021)、usbccid.sys です。

0 投票する
1 に答える
1453 参照

c++ - PINなしのCACからの証明書の一覧表示

CAC認証アプリを開発しています。

RHEL 5.5を実行していて、マシンにカードリーダーが接続されています。スマートカード/CACを挿入すると、時計のあるウィンドウの右上にポップアップ通知が表示され、アイコン(ロックされたカード)をクリックすると「スマートカードマネージャー」GUIにアクセスできます。それが表示されます。スマートカードマネージャーが表示されていると、PINを入力しなくても、カードの証明書のリストや詳細などを表示できます。

一方、C ++コードでnssライブラリを使用してスロットとリスト証明書を取得した場合、ピンを入力せずに証明書のリストを取得することはできません。

私がやりたいのは、カードから証明書のリストを取得し、そのリストをピンテキストフィールドとともにダイアログボックスでユーザーに提示して、ユーザーがピンを入力し、認証に使用する証明書を選択できるようにすることですALL IN ONEアプリケーションがPIN用の別のダイアログボックスを表示してから証明書を選択するためのポップアップを表示する代わりにステップしますが、nssライブラリを使用することはできないようですが、スマートカードマネージャーのGUIはこれを簡単に行うことができます。CACから証明書のリストを取得するために使用できる別のAPIがあるかどうかについて、誰かが私に正しい方向を示すことができますか?ありがとう!

0 投票する
1 に答える
4597 参照

smartcard - SFI を介してスマート カードの EF を選択する

一部のスマート カードには、5 ビットの数値である SFI (短いファイル識別子) でファイルを参照するオプションがあります。対照的に、典型的なファイル識別子の長さは 2 バイトです。

ISO 7816-4内で答えを見つけることができなかったため、その方法を理解するのに助けが必要です。

まず、セクション 5.3.1.1の状態 (強調鉱山)

短い EF 識別子による選択 — 短い EF 識別子は、任意の EF を参照できます。すべてが等しくない 5 ビット、つまり 1 から 30 までの任意の数で構成されます。短い EF 識別子として使用される場合、数字のゼロ、つまり 2 進数の 00000 は現在の EF を参照します。MF レベルでは、数値 30、つまり 2 進数で 11110 が予約されています (8.2.1.1 を参照)。短い EF 識別子は、パスまたは EF 識別子として (たとえば、SELECT コマンドで) 使用することはできません。

この文を解釈する私の方法は、「SFI を使用してスマート カード上のファイルを選択することはできません」です。これは、私が期待するものではありません。

さらに、セクション 7.1.1では、SELECT APDU コマンドの使用方法が規定されています。表 39 は、P1 の内容を示しています。ただし、SFI を介してアドレス指定する方法を示す例はありません (それらはすべて約 2 バイトの識別子です)。

だから私の質問は:

  1. SFI を追加する理由は何ですか? 識別子ごとに 2 バイトは多すぎますか?
  2. SFI がわかっている場合、ファイルをどのように選択できますか?
0 投票する
1 に答える
6450 参照

c++ - Visual C++/PCSC を使用して Java カード アプレット (.cap ファイル) をプログラムでロードする方法

私は現在、JavaCard アプリケーション アプレット ( .cap ) ファイルを JavaCard にロードする必要があるプロジェクトに取り組んでいます。私たちのフレームワークは Visual C++ と PCSC に基づいているため、一連の JavaCard に同じアプレットをロードする必要があります。これをどのように処理できるか知っている人はいますか?つまり、どこから始めればよいのでしょうか。ありがとう!

0 投票する
1 に答える
6331 参照

java - ACR122 USB SDK - Winscard.dll への JNI 呼び出し

NFC テスト用に ACR122 USB SDK を購入しました。ACR122U-A2 NFC リーダー用のテスト デスクトップ アプリケーションをビルドしたいと考えています。Microsoft Windows 7 プラットフォーム上の Java で開発しています。

Winscard.dll から PC/SC を使用するには、JNI 呼び出しを行う必要があると予想していました。そのためには、JNI 呼び出し用の C/C++ ラッパー ライブラリを準備する必要があります。

サンプル アプリケーションは JNI ラッパー Jacspcsc.dll を参照しているため、これは SDK の一部である必要があると思いますが、ライブラリはそこにありません。誰か似たような経験がありますか?Winscard.dll で使用できる JNI ラッパーはありますか?

ありがとうございます

0 投票する
2 に答える
18253 参照

smartcard - PC/SC リーダーのプログラミング時の ATR コマンド

MIFARE Ultralight および TOPAZ/Jewel IC タグのプログラミング インターフェイスを確認しました。API は、バイトがカードに保存される方法、メモリ ブロックのアドレス指定方法、読み取り、全読み取り、OTP (One Time Programmable) 機能の使用、ROM バイトの読み取り方法、アイドル状態からレディ状態に切り替える方法 (REQA、WUPA コマンド)、コマンドが CRC で保護されているかどうか、タグ UID にアクセスする方法などを示します。

NFC リーダー (ACR122U または SCL010) のプログラムをじっと見ていると、PCD (リーダー) と PICC (タグ) の間のすべての通信が ATR (Answer-To-Reset) コマンドで始まることがわかりました。 PCD は識別目的で PICC に送信します。

しかし、どのタグのドキュメントにも ATR コマンドが記載されていません。電源が入ったときのタグとのすべての通信 (PQR) は、カードを Ready モードに切り替えるための REQA、WUPA コマンドで始まります。

私の理解では、ATR はリーダーが通信した NFC カードに基づいて PC/SC によって構築されます。リーダーが、それに基づいてタグがどのタイプのテクノロジーであるかを検出すると、ATR が作成されます。また、ドキュメントによると、異なる NFC リーダーの ATR は、同じ NFC タグに対して異なります。

私は正しいですか?PC/SC は ATR を構築しますか?

BR STEN

0 投票する
2 に答える
8877 参照

windows - WinSCard で PCSC リーダーのシリアル番号を取得する

カードがリーダーに存在しない場合、PCSC リーダーのシリアル番号を取得する際に問題があります。winscard.dll と c++ を使用しています。

次のコードは、カードがリーダーに存在する場合にのみ機能します。それ以外の場合、SCardHandle は取得されません。SCardHandle を取得する他の方法は見つかりませんでした。

カードに接続せずにリーダーのシリアル番号を取得する方法はありますか?

0 投票する
1 に答える
4494 参照

c# - O2Micro リーダーの WINSCARD.DLL メソッド SCardTransmit からの不明な応答と応答長情報

スマートカードとの通信には、WINSCARD.DLL を API として使用して APDU コマンドをスマートカードに送信します。いくつかのカードリーダーでは、これは期待どおりに機能していますが、送信するとメソッドから不明な戻り値が返されます ( http://msdn.microsoft.com/en-us/library/ms936965.aspxSCardTransmitにはありません)。コマンドを O2Micro リーダーに送信します。

何が機能していますか: コマンド (16 進数の値) を送信した場合:

私は応答を得るSW1: 61. SW2: 1F

応答は、0x1F使用可能なバイトがあることを示しています。だから私はコマンドを送ります:

しかし、そのコマンドでは、データを取得せず、 value を返します0x57

0x57私の質問は、戻り値が何を伝えているのか、そしておそらくそれを解決または回避する方法を誰かが知っているかどうかです。