Line 39: | Line 39: | ||
{| class="wikitable" | {| class="wikitable" | ||
! ID !! Command | ! ID !! Command !! Object | ||
|- | |- | ||
| 0x0 - 0x8 || throw "unknown command" error | | 0x0 - 0x8 || throw "unknown command" error || ??? | ||
|- | |- | ||
| 0x11 || [NFCardManagerAgent signChallenge:callback:] | | 0x11 || [NFCardManagerAgent signChallenge:callback:] || ??? | ||
|- | |- | ||
| 0x12 || [NFCardManagerAgent authorize:callback:] | | 0x12 || [NFCardManagerAgent authorize:callback:] || Authtype, SSEHandle | ||
|- | |- | ||
| 0x13 || [NFCardManagerAgent deauthorize] | | 0x13 || [NFCardManagerAgent deauthorize] || ??? | ||
|- | |- | ||
| 0x14 || [NFCardManagerAgent getApplications:] | | 0x14 || [NFCardManagerAgent getApplications:] || ??? | ||
|- | |- | ||
| 0x15 || [NFCardManagerAgent asActive:checkCache:callback:] | | 0x15 || [NFCardManagerAgent asActive:checkCache:callback:] || ??? | ||
|- | |- | ||
| 0x16 || [NFCardManagerAgent markAllApplicationsForDelete] | | 0x16 || [NFCardManagerAgent markAllApplicationsForDelete] || ??? | ||
|- | |- | ||
| 0x17 || [NFCardManagerAgent getActiveApplications:] | | 0x17 || [NFCardManagerAgent getActiveApplications:] || ??? | ||
|- | |- | ||
| 0x18 || [NFCardManagerAgent getRestrictedMode:] | | 0x18 || [NFCardManagerAgent getRestrictedMode:] ||??? | ||
|- | |- | ||
| 0x19-0x89 || throw unknown command error | | 0x19-0x89 || throw unknown command error || N/A | ||
|- | |- | ||
| 0x90 || call [NFCardManagerAgent dumpAppData:callback:] | | 0x90 || call [NFCardManagerAgent dumpAppData:callback:] || ??? | ||
|- | |- | ||
| 0x91 || | | 0x91 || call [NFCardManagerAgent dumpRestrictedModeLogWithCallBack:] || ??? | ||
|- | |- | ||
| | | >0x91 || throw unknown command error || N/A | ||
|- | |- | ||
|} | |} |
Revision as of 02:40, 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:] | ??? |
0x12 | [NFCardManagerAgent authorize:callback:] | 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 |