問題タブ [smartcard]

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 投票する
3 に答える
5447 参照

java - JavaCardのアプレットIDとAPDU

私のプロジェクトでは、スマートカードに生体認証データ(指紋テンプレートなど)を書き込みたいと思っています。いくつかの良い研究の後、私は自分のプロジェクトにJavaカードを選びました。しかし、私はこのプラットフォームに不慣れで、これについてほとんど知りません:(

Sunのチュートリアルも読んだことがありますが、いくつかの混乱を解決できませんでした。

1.)カードから生体認証データを読み書きしたいのですが、Javaカードでアプレットを設計する必要がありますか?スマートカードリーダーの単純な読み取り/書き込み機能を使用して、スマートカードのメモリ上の生体認証データを読み取り/書き込みすることはできませんか?

2.)Java Card用のアプレットを作成する場合、どのようにアプレットIDを付与しますか?アプレットIDは各アプレットに固有です。また、事前に作成されたアプレットのアプレットIDをどのように知ることができますか?

3.)アプリケーションプロトコルデータユニット(APDU)とは何ですか?そして、彼らはカードのデータの読み取り/書き込みをどのように助けてくれるのでしょうか?

私はこれらすべてが基本的な質問であることを知っていますが、私は本当に混乱しています。だからみんなを助けてください!

前もって感謝します。

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

java - Java Card 2.x (現在は Classic Edition) に Map 実装がないのはなぜですか?

確かに、Java SE HashMap には「高価な」ハッシュ関数があり、その可変サイズは潜在的にメモリ不足エラーを引き起こす可能性がありますが、定数サイズに関連する単純なハッシュを持つ定数サイズ Map はどうでしょうか?

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

java - apduToolTask​​ が見つかりません

私は Java カード プラットフォームを初めて使用し、現在 Java カード クラシック エディション v 3.0.1 を使用しています。Apache ANT コマンド - ant allを使用して build.xml ファイルを作成すると、次のエラーが発生します。

c:\java\java_card_kit-2_2_2\samples\build.xml:17: taskdef クラス com.sun.javacard.ant.tasks.APDUToolTask​​ が見つかりません

ANTのシステムパスもセットアップするように求められるところまで、すでに指示に従っています。ANT 1.8.1 を使用しています。

誰か助けてください。

よろしく、

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 投票する
2 に答える
1579 参照

security - CACカードと「汎用」スマートカードの違いは何ですか?

リッチクライアントのC++WindowsアプリケーションでDoDCACカードを利用できるようにしようとしています。

SSLを使用してクライアント/サーバー通信を保護するためにサードパーティのライブラリを使用しており、証明書が独自のバンドルされたアプリケーションによって作成された場合にのみ、汎用スマートカードを認識/処理します。

なんで?証明書は証明書ではありませんか?それらはどのように変化しますか?

具体的には、関連する標準によって義務付けられているものと、実装が定義されたままになっているものを説明する、要約された技術文書を誰かに指摘できますか?実際の仕様を見てみましたが、詳細すぎて、質問に答えられない非常に漠然とした記事を見つけました。間に何かを探しています。

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

byte - スマート カードからのデータの読み取り (できれば Java を使用)

I would like to be able to read a few bytes of unencrypted data which is stored in a smart card. I have the reader and know that the Sun version of Java 6 includes javax.smartcardio and I have read a bit about these APIs.

Having never worked with smart cards before I wonder if there is a simple way to read bytes of date in a given sector of a smart card. I am not trying to do anything more complicated that that but was hoping someone in this community has had experience of working with Smart Cards.

The specific chips being used in the cards are: JTOP 10/18k

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

java - CAC カード/カードリーダー用 PKCS11 ドライバー

CAC カードと対話するための pkcs11 ドライバーを取得する方法について疑問があります。私が理解している限り、カードリーダーがドライバーを提供する必要があります。SCR331 カード リーダーを確認したところ、pkcs11 ドライバーがないようです。ただし、米国国防総省と契約している ActivClient には、SCR331 で動作するものがあるようです。また、OpenSC には Windows pkcs11 ドライバー opensc-pkcs11.dll があることも知りました。これは SCR331 カード リーダーで動作しますか。また、Putty-CAC プロジェクトから、Litronics NetSign カード リーダーが独自の pkcs11 ドライバーを提供していることがわかりました。「C:\WINNT\system32\core32.少しややこしいようですが、提供しないカードリーダーと提供するカードリーダーがあります。

以前に Sun SCA6000 暗号化アクセラレータ カードを使用し、提供されたライブラリ ファイルを使用して対話しました。

ですから、理想的には pkcs11 ドライバーがカードリーダーに付属しているべきではありませんか? OpenSC による pkcs11 ドライバーが独自のカード リーダーとどのように連携する可能性がありますか? 異なるカードリーダーで動作する可能性はありますか?

明確にしてくれてありがとう

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

smartcard - サードパーティの CSP を使用して、cryptoApi または CAPICOM から特定の ADPU 機能にアクセスする

過去 2 か月間、成功していませんでしたが、ここで質問する時が来たと思います。

私はスマート カードを持っていて、クライアントから CSPを受け取りました。実行できる (および実行方法を知っている) APDU コマンドを説明するドキュメントがあります。

名前、住所、写真などの小さなファイル (データ) をカードに保存する必要があります。後で証明書を保存します。

ドキュメントでは、後で安全なメッセージングを使用してカード上のファイルにアクセスするには、外部認証を行う必要があることを読みました。相互認証アルゴリズムのどこかにエラーがあります (MAC、DES、TRIPPLE DES などを計算する必要があり、それを機能させるために何週間も試みました...) 相互認証を必要とする機能を除いて、カードですべてを行う方法を知っています認証。

CSP が提供する機能を調べたところ、外部認証が見当たりません。非 APDU レベルの外部認証を見た唯一の場所は、CardAuthenticateEx のような関数が表示される「Windows スマート カード ミニドライバー仕様」でした。しかし、それらを呼び出す方法がわかりません(どのdllにあるのか)。これらの関数を CSP に含める必要がありますか?

私がCSPを持っているときにAPDUコマンドで低レベルになるのは間違ったアプローチですか? 代わりに CryptoAPI または CAPICOM を使用する必要がありますか? もしそうなら、ファイルに書き込む関数がない(または見つからない)場合、外部認証してファイルを使用するにはどうすればよいですか。(繰り返しますが、これらの機能はすべて「Windows スマート カード ミニドライバー仕様」にあります。

0 投票する
3 に答える
13913 参照

java - Javaでスマートカードを操作する方法は?

スマートカードと対話できるJavaのライブラリ(API)はありますか?WinSCardライブラリに似ています。

スマートカードに接続して、そこからデータを読み取ることができる必要があります。どのOS(Linux、Mac、Windows)でも使用できるように、Javaで実装する必要があります。以来、WinSCardライブラリはDLL(WinSCard.dll)を使用しているため、Windowsでのみ機能します。

JavaのWinSCardほど良いものはありますか?

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

asp.net-mvc - ASP.NET MVC 2 および要求クライアント証明書 (スマート カード認証)

ユーザーの X.509 証明書をカードから取得し、ASP.NET MVC でのフォーム認証のためにユーザー テーブルにマップする必要があります。VS 2008 で MVC (ver 2) プロジェクトを作成しました。このプロジェクトは、デフォルト テンプレートを使用して、Vista のローカル IIS のデフォルト Web サイトで仮想ディレクトリとして実行するように構成されていますが、アカウント/ログオン ActionResult に RequireHttpsAttribute を追加しました。その他の変更はありません。ローカルの IIS マネージャーを使用して、自己署名証明書を作成して適用し、Account/Logon.aspx ページを [SSL が必要] および [クライアント証明書が必要] に設定しました。

デバッグで実行し、ウェルカム ページ (ホーム/インデックス ビュー) から [ログオン] リンクをクリックすると、https を使用して Account/Logon.aspx に正しくルーティングされますが、証明書のプロンプトは表示されません。Dynatrace (すばらしい、http://ajax.dynatrace.com ) を使用すると、応答ステータスが 403 に設定されていることがわかりますが、やはり証明書プロンプトは表示されません。

健全性チェックとして、Vista の既定の Web サイト (上記の MVC プロジェクトと同じ) の仮想ディレクトリで実行する既定の asp.net Web アプリ プロジェクトをセットアップし、SSL が必要でクライアント証明書が必要になるように default.aspx ページを構成しました。上記の MVC プロジェクトで行ったように。実行して正常に動作し、証明書のプロンプトが表示され、証明書を選択してカードの PIN を入力し、コード ビハインドの request.clientcertificate オブジェクトから X.509 を読み取ることができます。

両方の仮想ディレクトリのアプリケーション プールは、統合パイプライン モードで Classic .NET AppPool に設定されます。

ヘルプ?!

更新: 非常に厄介な回避策が進行中です。「Auth」フォルダーと「GetCert.aspx」ファイルを MVC プロジェクトに追加し、「routes.IgnoreRoute("Auth/{*pathInfo}")」をグローバルに追加しました。 .asax. GetCert.aspx 応答の分離コードは、X.509 から必要なデータを書き込みます。次に、GetCert.aspx を呼び出す jquery.get 呼び出しを LogOn.aspx に追加し、証明書の件名の結果を文字列として LogOn.aspx の div に返します。cert プロンプトが表示され、MVC ビューで結果が表示されるようになりましたが、これでは実行できません!