Proxmox上のlinuxで BonCasLink のサーバーを実現する

先日 Proxmox 上の仮想マシンで BCAS のカードリーダーを使えるように説明しました。今回はそれを活用したいと思います。 Windows では BonCasLink というソフトウェアがありました。LAN内でBCASを共有してしまおうというやつです。これのサーバー側を Linux で実現するプログラムで bcs-perl というものがあるのでこれを使ってみようと思います。

準備

  • 以前に構築した仮想マシン
  • 仮想マシンにスマートカードリーダーを接続
  • 動作確認のための Windows PCなど

インストール

GitHub(https://github.com/walkure/bcs-perl) にあるので git を使ってローカルに落としてきます。

gitがインストールされていないと思うので準備します。

# yum install git

ここからは専用の一般ユーザー(bcasuser)を作成してこちらで作業しました。Perlスクリプトで実現されているため、clone したら即使えそうだったのですが、改行コードの問題から一度変換してやる必要があります。

$ cd ~/
$ git clone https://github.com/walkure/bcs-perl
Initialized empty Git repository in /home/bcasuser/bcs-perl/.git/
remote: Counting objects: 31, done.
remote: Total 31 (delta 0), reused 0 (delta 0), pack-reused 31
Unpacking objects: 100% (31/31), done.

$ cd bcs-perl
$ mv bcs-perl.pl bcs-perl.bak; tr -d \\r < bcs-perl.bak > bcs-perl.pl
$ chmod -x bcs-perl.bak
$ chmod +x bcs-perl.pl

まずは実行してカードリーダーの情報を確認します。以下のような感じで出てくると思います。出てこないようであれば、うまくリーダーが接続できていないのでそこから確認してみてください。

$ ./bcs-perl.pl list
>>List of PC/SC card reader
SCM SCR 3310 NTTCom (21234567890123) 01 02
>>EOL

この文字列を bcs-perl.pl 内に記載する必要があります。ソースコード中に以下の文字列があるのでこの中に上記で得られた文字列を記入します。

my $selected_reader = 'SCM SCR 3310 NTTCom [Vendor Interface] (21120651345180) 00 00';

設定したら今度は普通に実行します。
”>>Begin Listening(0.0.0.0:6900)…..”
なる文字列が出てくればうまくうごいていると思います。

動作検証

Windowsなどの環境で BonCasLink のクライアントを動作させて、この仮想マシンに接続させてみます。うまくいかない場合には、仮想マシンのファイアウォールを見直しするとかSELinuxが切れているかを確認してみましょう。

最後に

ここではやりませんが、あとはスクリプトをログアウトしても動くように nohup 付きで起動するとか、自動起動するようにスクリプトを書くとか、体裁を整えるのまでやればより完璧でしょう。

proxmox 録画環境
すらりんをフォローする
すらりん日記

コメント

タイトルとURLをコピーしました