Seld: Difference between revisions

From iPhone Development Wiki
m (Minor adjustments.)
No edit summary
Line 34: Line 34:
* NFCardManagerAgent
* NFCardManagerAgent
* NFCardManagerAgent_XPC
* NFCardManagerAgent_XPC
== NFCardManagerAgent Supported XPC Commands ==
{| class="wikitable"
! ID !! Command
|-
| 0x0 - 0x8 || throw "unknown command" error
|-
| 0x11 || [NFCardManagerAgent signChallenge:callback:]
|-
| 0x12 || [NFCardManagerAgent authorize:callback:]
|-
| 0x13 || [NFCardManagerAgent deauthorize]
|-
| 0x14 || [NFCardManagerAgent getApplications:]
|-
| 0x15 || [NFCardManagerAgent asActive:checkCache:callback:]
|-
| 0x16 || [NFCardManagerAgent markAllApplicationsForDelete]
|-
| 0x17 || [NFCardManagerAgent getActiveApplications:]
|-
| 0x18 || [NFCardManagerAgent getRestrictedMode:]
|
| 0x19-0x89 || throw unknown command error
|
| 0x90 || call [NFCardManagerAgent dumpAppData:callback:]
|-
| 0x91 || throw unknown command error
|-
| 0x92 || call [NFCardManagerAgent dumpRestrictedModeLogWithCallBack:]
|-
|}

Revision as of 02:35, 1 October 2015

This is the "Secure Element Daemon" used to communicate with the secure element hardware on the device. It is interacted with by the nfcd daemon using XPC.

SELD plist:

{
    EnablePressuredExit = 1;
    EnableTransactions = 1;
    ExitTimeOut = 40;
    Label = "com.apple.seld";
    MachServices =     {
        "com.apple.seld" = 1;
        "com.apple.seld.aps" = 1;
    };
    Program = "/usr/libexec/seld";
    RunAtLoad = 1;
    UserName = mobile;
}

ApplePay personalization is performed using EMV BER-TLV commands to the secure element.

Major objects in the seld binary are:

  • NFSecureElement(CertificateAuthority)
  • SEDaemon
  • NFSecureElement(ISO7816)
  • NFSecureElement
  • NFSecureElement(ContactlessRegistry)
  • NFSecureElementCache
  • NFSecureElementRemoteAdminAgent
  • NFSecureElementRemoteAdminRequest
  • NFSecureElementRemoteAdminRegistry
  • NFResponseAPDU
  • NFCardManagerAgent
  • NFCardManagerAgent_XPC


NFCardManagerAgent Supported XPC Commands

ID Command
0x0 - 0x8 throw "unknown command" error
0x11 [NFCardManagerAgent signChallenge:callback:]
0x12 [NFCardManagerAgent authorize:callback:]
0x13 [NFCardManagerAgent deauthorize]
0x14 [NFCardManagerAgent getApplications:]
0x15 [NFCardManagerAgent asActive:checkCache:callback:]
0x16 [NFCardManagerAgent markAllApplicationsForDelete]
0x17 [NFCardManagerAgent getActiveApplications:]
0x18 [NFCardManagerAgent getRestrictedMode:] 0x19-0x89 throw unknown command error 0x90 call [NFCardManagerAgent dumpAppData:callback:]
0x91 throw unknown command error
0x92 call [NFCardManagerAgent dumpRestrictedModeLogWithCallBack:]