- 如果SIM卡是一個Java卡 - 它包含了從JCRE太陽JCRE規範?
是的,JCRE符合 「太陽」 JCRE規範反正(Sun不存在了,它是所有現在Oracle)。
2a。如果SIM卡具有JCRE - 它實際上是卡的操作系統還是有另一層?
可能有多個圖層。通常你也會有本地的加密庫和一個HAL - 硬件抽象(或適應)層。如果還有另一個/本地操作系統取決於該卡(但我沒有看到它爲SIM卡的任何理由)。
2b。如果有,我可以在哪裏閱讀?是否可以選擇與JCRE和APDU以及讀卡器進行互動?
您必須諮詢操作系統/芯片的製造商。而且,如果這些不可用,請與經銷商聯繫。
- JCRE和卡片管理器是同一個實體還是卡片管理器是原生小程序?
卡片管理器是全球平臺規格的一部分。大多數Java卡都符合這些要求。該卡可以是本地,字節碼或組合。再一次,這取決於製造商。
如果這些不同,當通過SMS接收到OTA更新時,JCRE是否先處理它,然後將其轉發給小程序,或者卡管理器是直接接收它?
它們通常相互交織在一起。我認爲HAL(見上文)處理直接通信和APDU緩衝區,但只要該卡符合相應的標準,什麼都可以。
只要它很好地描述,如果沒有,那麼製造商可能會與FIPS或Common Criteria認證機構進行嚴厲的談話。但設計文件通常不是由製造商發佈的。
謝謝你的真棒答案!我有2個後續問題 - SIM卡有JCRE。 JCRE可以調用任何applet的任何方法嗎?如果是這樣的話,可以使用RMI和INVOKE apdu(或使用apdu的任何其他方式)完成調用(任何方法)? – Bluestar
從['Remote'](https://docs.oracle.com/javacard/3.0.5/api/java/rmi/Remote.html):只有那些在「remote interface」中指定的方法'java.rmi.Remote'遠程可用。 –
除了RMI,通常你只能使用'install'方法,'process'方法和'select'方法(但最後一個不帶任何參數) - 除了附加的SIM接口/回調。 –