No edit summary |
|||
Line 66: | Line 66: | ||
|- | |- | ||
| >0x91 || throw unknown command error || N/A | | >0x91 || throw unknown command error || N/A | ||
|- | |||
|} | |||
== SEDaemon Supported XPC Commands == | |||
{| class="wikitable" | |||
! ID !! Command !! Object | |||
|- | |||
| <0x20 || [NFCardManagerApplet XPCConnection:didReceiveCommand] || raw challenge data | |||
|- | |||
| 0x20 || [SEDaemon setDbgURL:|| dict{Authtype=??, SSEHandle=??} | |||
|- | |||
| 0x21 || [SEDaemon getStateInfo] || ??? | |||
|- | |||
| 0x22 || [SEDaemon getNextPushInfo] || ??? | |||
|- | |||
| 0x23 || ??? || ??? | |||
|- | |||
| 0x24 || [SEDaemon pushTopicList:] || ??? | |||
|- | |||
| 0x25 || [SEDaemon isWiredModeAvailable:] || ??? | |||
|- | |||
| 0x26 || updateRegionalRegistrationData || ??? | |||
|- | |||
| 0x27 || [SEDaemon sharedRegistry] ||??? | |||
|- | |||
| 0x30 || register event listenter || ??? | |||
|- | |||
| 0x31 || something else for event listening? || ??? | |||
|- | |||
| >0x31 || [NFCardManagerApplet XPCConnection:didReceiveCommand] || ??? | |||
|- | |- | ||
|} | |} |
Revision as of 03:20, 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 | Object |
---|---|---|
0x0 - 0x8 | throw "unknown command" error | ??? |
0x11 | [NFCardManagerAgent signChallenge:callback:] | raw challenge data |
0x12 | [NFCardManagerAgent authorize:callback:] | dict{Authtype=??, SSEHandle=??} |
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 | N/A |
0x90 | call [NFCardManagerAgent dumpAppData:callback:] | ??? |
0x91 | call [NFCardManagerAgent dumpRestrictedModeLogWithCallBack:] | ??? |
>0x91 | throw unknown command error | N/A |
SEDaemon Supported XPC Commands
ID | Command | Object |
---|---|---|
<0x20 | [NFCardManagerApplet XPCConnection:didReceiveCommand] | raw challenge data |
0x20 | [SEDaemon setDbgURL: | dict{Authtype=??, SSEHandle=??} |
0x21 | [SEDaemon getStateInfo] | ??? |
0x22 | [SEDaemon getNextPushInfo] | ??? |
0x23 | ??? | ??? |
0x24 | [SEDaemon pushTopicList:] | ??? |
0x25 | [SEDaemon isWiredModeAvailable:] | ??? |
0x26 | updateRegionalRegistrationData | ??? |
0x27 | [SEDaemon sharedRegistry] | ??? |
0x30 | register event listenter | ??? |
0x31 | something else for event listening? | ??? |
>0x31 | [NFCardManagerApplet XPCConnection:didReceiveCommand] | ??? |