WindowsでOpenSCを使う(4. opensc-tool.exeでできることって?②)


はじめに

前回の記事でデフォルトのドライバーでサポートされていなかったカードを使用して試したオプション、
-n--serial--list-filesについて
きちんと実行できるように適切なドライバーを調べて実行します。

使用するツール

使用しているICカードで-nが使えるドライバーを調べる

以下のようにいろいろなドライバーを使用して実行してみようと思います。

opensc-tool.exe --card-driver カードドライバー名 -n

たくさんあるので全部は載せませんが、一部のドライバーでの結果を載せました。

使用できなかったドライバー
cardosgemsafeV1
使用できたドライバー
flexcyberflexgpkasepcos

6つのうちカード名が取得できたのはflexcyberflexgpkasepcosの4つでしたが、
取得できたカード名が全部違います。というか、--list-driversを使って取得したドライバー名の右側に出ている名前じゃないですか...
これ、本当にカード名なのでしょうか。

もしかして、取得できたのはドライバー名のみで、カード名がカードに設定されていないから出力されないのかも?
-vを使用したらもっと詳しい情報が出るかもしれません。

opensc-tool.exe --card-driver カードドライバー名 -v -n

-vを使用して実行したところ、
ドライバーとカード名がそれぞれ表示されました!

しかし、取得されたカード名は、やはり全部違うみたいです。どうして...?
たぶんオプションの使い方は上記で良さそうですが、
取得できるカード名がドライバーによってばらばらなのは謎です。
ドライバーの開発会社それぞれでカード名を定義しているのかな。
知ってる方、教えてください。

使用しているICカードで--serialが使えるドライバーを調べる

こちらもドライバーを指定して実行してみましょう。

opensc-tool.exe --card-driver カードドライバー名 -v --serial


-nの時にカード名が取得できたドライバーで試してみましたが、
前回の記事とあまり結果が変わりませんね。
カードにシリアル番号が定義されていないということでしょうか...

使用しているICカードで--list-filesが使えるドライバーを調べる

上記と同様ドライバーを指定して実行。

opensc-tool.exe --card-driver カードドライバー名 -v --list-files


--serialの時と同様、カード名が取得できたドライバーを使用しましたが、
前回の記事と同様の結果でした。
これは普通にカードにファイルが保存されてないのかもですね。

所感

オプションの使用法は多分あってると思うけど
何か根本的にわかってないところがあるんだろうな...という感想です。
OpenSCにはほかにもツールがあるようなので、そちらを調べていくとだんだんわかっていくかもしれません。

関連ページ

WindowsでOpenSCを使う(1.準備編)
WindowsでOpenSCを使う(2.カードのIDm確認編)
WindowsでOpenSCを使う(3.MIFARE Classicブロックデータ読み出し編①)
WindowsでOpenSCを使う(3.MIFARE Classicブロックデータ読み出し編②)
WindowsでOpenSCを使う(4. opensc-tool.exeでできることって?①)