はじめに
前回の記事でデフォルトのドライバーでサポートされていなかったカードを使用して試したオプション、
-n
、--serial
、--list-files
について
きちんと実行できるように適切なドライバーを調べて実行します。
使用するツール
- コマンドプロンプト
- opensc-tool.exe(WindowsでOpenSCを使う(1.準備編)参照)
- カードリーダー:PaSoRi RC-S380
- ICカード=Felica
使用しているICカードで-n
が使えるドライバーを調べる
以下のようにいろいろなドライバーを使用して実行してみようと思います。
opensc-tool.exe --card-driver カードドライバー名 -n
たくさんあるので全部は載せませんが、一部のドライバーでの結果を載せました。
使用できなかったドライバー
cardos
、gemsafeV1
使用できたドライバー
flex
、cyberflex
、gpk
、asepcos
6つのうちカード名が取得できたのはflex
、cyberflex
、gpk
、asepcos
の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でできることって?①)