1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FeliCa Lite-SのRC-S300での読み書き(Windows/Linux両対応)

1
Last updated at Posted at 2026-07-18

はじめに

の記事を元に、FeliCa Lite-SのRC-S300での読み書きライブラリーとツールをAntigravity CLIで作りました。

です。ビルド手順はここのREADME.mdをご覧ください。
 PC/SCを使いWindows/Linux両対応です。

ユーザ領域(SPAD)の割り振り

 FeliCa Lite-SにはSPAD0〜SPAD13までのユーザ領域がありますが、

  • SPAD0〜SPAD9は、NDEF(NFCタグ)で書き込みにMAC認証必要
  • SPAD10は、ユーザ名で読み書き共にMAC認証必要
  • SPAD11は、パスワードで読み書き共にMAC認証必要
  • SPAD12、SPAD13は、ドメイン名で読み書き共にMAC認証必要

と割り振りました。※SPAD10以降を秘密領域としてロックしているため、NDEF(URL等)として実際に書き込めるサイズは約139バイトまでになります。

fls

 flsは読み書きのツールです。
 引数なしで実行するとヘルプがでます。また、README.mdも参照してください。
 追記: 一次発行すると鍵は書き換えられませんが、ユーザ領域は認証つきで書き換えられます。

fls_ws

追記: サービス化する方法を追加
追記: ポート番号を変更しました。Keycloakログインの例を追加し、-pオプションも追加しました。
 fls_wsはカード情報をWebSocketでサーブします。WebSocketのアドレスはws://localhost:48080/wsです。ユーザ名とNDEFのみのシンプルなJSONを返します。
 サンプルWebアプリのクライアントも組み込まれていますので、http://localhost:48080にブラウザでアクセスしてください。
 また、ws_client.pyはpythonで書かれたクライアントです。
 Keycloakのログインの例をkeycloakフォルダに追加しました。JSONにパスワードも含める、-pオプションを追加しました。keycloak/README.mdを参照してください。
 サービス化については、LinuxはREADME.systemd.mdをWindowsはREADME.WindowsService.mdを参照してください。
追記:

を書きました。

pam_fls.so

 pam_fls.soは、Linuxのpamモジュールです。
 Ubuntuは/lib/x86_64-linux-gnu/security/へ、Fedoraは/usr/lib64/security/へコピーします。/etc/pam.d/のファイルに

auth sufficient pam_fls.so

と書き込んで使います。
 SPAD10のユーザ名のみで認証します。

FelicaCredentialProvider

 FelicaCredentialProviderはWindowsの認証dllです。インストールと使い方はFelicaCredentialProvider/README.mdを参照してください。

追記: Raspberry Pi OS(Trixie)

 Raspberry Pi OS(Trixie)では、pcscdがpolkitを使うようになっていて、一般ユーザ権限ではアクセス拒否されます。

PCSCD_ARGS="--disable-polkit"

と/etc/default/pcscdを作成して、

sudo systemctl restart pcscd

してください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?