10
0
Fork 0
softsim/README

50 lines
1.8 KiB
Plaintext

SAP is a ruby implementation of the BTSAP (Bluetooth SIM Access Profile) spec.
client and server share common contsants, functions, pricipiles
this common part is defined in common.rb
client.rb is a child of common.rb, it implements the client part of SAP
server.rb is a child of common.rb, it implements the server part of SAP
client.rb and server.rb do not work on there own, but are "interfaces"
common.rb :
- is contains the contanst for SAP, the method to create and parse the message,
methods to get and send messages, and the state machine call
- the verbosity is definied in this class in VERBOSE
client.rb :
- it implements the client side of the state machine
- a IO to the server has to be provided
- it provides the main functions : connect,atr,apdu,disconnect
server.rb :
- it implements the server part of the state machine
- a IO to accept clients has to be provided
- the main functions have to be implemented to
bluetooth_client.rb :
- it searches for bluetooth SAP servers and connects to it
- a path to the serial port is provided
- it used BlueZ over dbus (see file head for details)
demo_client :
- it's purpose it to test the client implementation (just the basics)
- choose between :bt and :tcp if the head of the file
- if :tcp is chosen, it will connect to a SAP server using a network socket
- if :bt is chosen, it will connect to a SAP server using bluetooth
(using bluetooth_client.rb)
- the demo application will only connect to the server, get the ATR,
send a single APDU, and disconnect
demo_server.rb :
- nothing implemented yet
pcsc_server.rb :
- this is a server implementation that uses a classic smart card reader to
connect to the SIM
- it uses a network port to listen for clients
- the gem smartcard is used (see head for details)
STATE :
- it does not implement the functions for the proactive SIM : power_on/off,
reset , ...