Theoretically, this is possible for regular Java maps, given that:
- You can install the applet with the security domain privilege (support for this is optional);
- The security domain has the ability to execute INSTALL [for download] (support for this is optional);
- the applet can receive and modify the APDU buffer before the Security Domain functionality is activated (using
SecureChannel.processSecurity ) - since processSecurity itself must receive these commands in accordance with the specifications, this is hardly possible, you might think first; / li> - the applet was granted access to the keys for recounting the MAC (these keys are hidden from the applet itself), assuming that the card is in GP_SECURE mode.
In this case, you can convert your own APDU to a specific APDU that meets the GP specifications, and simply call SecureChannel.processSecurity to process them.
I practically donโt think it will ever be, but you never know. You are clearly looking at the security protocols specific to the implementation of the card, so Iโm sure that you will be asked very clear questions, someone is checking the solution.
Now, if you just want to install applets through your own security domain, this is clearly covered by the global platform. You just check the product manuals if the security domains and INSTALL [for download] are supported, and you are good to go.
As vojta already pointed out, there is no API for passing INSTALL [for Load] commands, so you are stuck programmatically.
An incredibly stupid way to do this is to program your own virtual machine and install it as an applet. This is probably not practical in 99.999% of cases. Of course, it will be available only as the virtual machine itself, it will not be provided with its own application identifier (AID).
source share