Skip to content

Latest commit

 

History

History
 
 

README.md

Getting Started - Generic Example

Those examples make use of the Keyple Core library. They demonstrate how to observe insertion/removal of Secure Elements (smartcard) or Readers.

These examples involve several packages

  • Resources common to all Keyple Core demonstration examples

    `org.eclipse.keyple.example.common.generic`
    
  • PC platform launchers

    `org.eclipse.keyple.example.generic.pc.*`
    

The purpose of these examples is to demonstrate the use of the Core library

  • Reader management:

    • Observability of plugins to manage the insertion / removal of readers
    • Observability of readers to manage the insertion / removal of secure elements
  • SeRequest/SeResponse building

  • PO technology identification (protocol based filtering)

  • Application selection (AID or ATR based)

  • Two basic scenarios

    • Plugins and readers monitoring
    • PO selection
  • Five launchers working out of the box on a PC platform

    • Plugin and reader observability [Demo_ObservableReaderNotification]
      • Real mode with PC/SC readers (Secure Elements required [Calypso and/or others]) [Demo_ObservableReaderNotification_Pcsc.java]
      • Simulation mode (virtual Secure Elements included) [Demo_ObservableReaderNotification_Stub.java]
    • PO type detection through the use of the protocol flag mechanism [Demo_SeProtocolDetection]
      • Real mode with PC/SC readers (Secure Elements required [Calypso and/or others]) [Demo_SeProtocolDetection_Pcsc.java]
      • Simulation mode (virtual Secure Elements included) [Demo_SeProtocolDetection_Stub.java]
    • Use case multiple select: illustrates the possibility of selecting multiple SE applications using the same AID prefix and P2 standard values to select the first or next occurrence. [UseCase_Generic4_SequentialMultiSelection.java]

Available packages in details:

  • org.eclipse.keyple.example.common.generic
File Description
CustomProtocools.java Custom protocol definition
CustomProtocolSetting.java Custom protocols list
ObservableReaderNotificationEngine.java This class provides all the mechanisms to implement to perform the plugin/reader events handling.
SeProtocolDetectionEngine.java This class provides all the mechanisms to implement to perform the protocol detection.
DemoHelpers.java Helper class (reader management method)
PcscReadersSettings.java Interface defining PC/SC readers identifiers (for PO / SAM reader role assignment)
  • org.eclipse.keyple.example.generic.pc
File Description
Demo_ObservableReaderNotification_Pcsc.java Main class for the plugin/reader observability example (PC/SC)
Demo_ObservableReaderNotification_Stub.java Main class for the plugin/reader observability example (stub)
Demo_SeProtocolDetection_Pcsc.java Main class for the protocol detection example (PC/SC)
Demo_SeProtocolDetection_Stub.java Main class for the protocol detection example (stub)
  • org.eclipse.keyple.example.common.generic.stub
File Description
StubISO14443_4.java ISO 14443-4 stub SE
StubCalypsoBPrime.java Calypso B Prime stub SE
StubMemoryST25.java ST25 Memory stub SE
StubMifareClassic.java Mifare Classic stub SE
StubMifareDesfire.java Mifare Desfire stub SE
StubMifareUL.java Mifare Ultralight stub SE
StubSe1.java Generic stub SE 1
StubSe2.java Generic stub SE 2