laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/pysim/+/35460?usp=email )


Change subject: global_platform: Add support for more GET DATA TLVs
......................................................................

global_platform: Add support for more GET DATA TLVs

Example:

pySIM-shell (00:MF/ADF.ISD)> get_data extended_card_resources_info
{
    "extended_card_resources_info": [
        {
            "number_of_installed_app": 8
        },
        {
            "free_non_volatile_memory": 354504
        },
        {
            "free_volatile_memory": 10760
        }
    ]
}

Change-Id: I129e43c377b62dae1b9a88a0a2dc9663ac2a97da
---
M pySim/global_platform.py
1 file changed, 87 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/60/35460/1

diff --git a/pySim/global_platform.py b/pySim/global_platform.py
index 0ceb884..e04e845 100644
--- a/pySim/global_platform.py
+++ b/pySim/global_platform.py
@@ -114,6 +114,60 @@
 class KeyInformation(BER_TLV_IE, tag=0xe0, nested=[KeyInformationData]):
     pass

+# GlobalPlatform v2.3.1 Section H.4
+class ScpInformation(BER_TLV_IE, tag=0xa0):
+    pass
+class PrivilegesAvailableSSD(BER_TLV_IE, tag=0x81):
+    pass
+class PrivilegesAvailableApplication(BER_TLV_IE, tag=0x82):
+    pass
+class SupportedLFDBHAlgorithms(BER_TLV_IE, tag=0x83):
+    pass
+class CiphersForLFDBEncryption(BER_TLV_IE, tag=0x84):
+    pass
+class CiphersForTokens(BER_TLV_IE, tag=0x85):
+    pass
+class CiphersForReceipts(BER_TLV_IE, tag=0x86):
+    pass
+class CiphersForDAPs(BER_TLV_IE, tag=0x87):
+    pass
+class KeyParameterReferenceList(BER_TLV_IE, tag=0x88):
+    pass
+class CardCapabilityInformation(BER_TLV_IE, tag=0x67, nested=[ScpInformation, 
PrivilegesAvailableSSD,
+                                                              
PrivilegesAvailableApplication,
+                                                              
SupportedLFDBHAlgorithms,
+                                                              
CiphersForLFDBEncryption, CiphersForTokens,
+                                                              
CiphersForReceipts, CiphersForDAPs,
+                                                              
KeyParameterReferenceList]):
+    pass
+
+class CurrentSecurityLevel(BER_TLV_IE, tag=0xd3):
+    _construct = Int8ub
+
+# GlobalPlatform v2.3.1 Section 11.3.3.1.3
+class ApplicationAID(BER_TLV_IE, tag=0x4f):
+    _construct = HexAdapter(GreedyBytes)
+class ApplicationTemplate(BER_TLV_IE, tag=0x61, ntested=[ApplicationAID]):
+    pass
+class ListOfApplications(BER_TLV_IE, tag=0x2f00, nested=[ApplicationTemplate]):
+    pass
+
+# GlobalPlatform v2.3.1 Section 11.3.3.1.2 + TS 102 226
+class NumberOFInstalledApp(BER_TLV_IE, tag=0x81):
+    _construct = GreedyInteger()
+class FreeNonVolatileMemory(BER_TLV_IE, tag=0x82):
+    _construct = GreedyInteger()
+class FreeVolatileMemory(BER_TLV_IE, tag=0x83):
+    _construct = GreedyInteger()
+class ExtendedCardResourcesInfo(BER_TLV_IE, tag=0xff21, 
nested=[NumberOFInstalledApp, FreeNonVolatileMemory,
+                                                                
FreeVolatileMemory]):
+    pass
+
+# GlobalPlatform v2.3.1 Section 7.4.2.4 + GP SPDM
+class SecurityDomainManagerURL(BER_TLV_IE, tag=0x5f50):
+    pass
+
+
 # card data sample, returned in response to GET DATA (80ca006600):
 # 66 31
 #    73 2f
@@ -216,7 +270,13 @@
                                                 CardData,
                                                 KeyInformation,
                                                 SequenceCounterOfDefaultKvn,
-                                                ConfirmationCounter]):
+                                                ConfirmationCounter,
+                                                # v2.3.1
+                                                CardCapabilityInformation,
+                                                CurrentSecurityLevel,
+                                                ListOfApplications,
+                                                ExtendedCardResourcesInfo,
+                                                SecurityDomainManagerURL]):
     pass

 def decode_select_response(resp_hex: str) -> object:

--
To view, visit https://gerrit.osmocom.org/c/pysim/+/35460?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I129e43c377b62dae1b9a88a0a2dc9663ac2a97da
Gerrit-Change-Number: 35460
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <lafo...@osmocom.org>
Gerrit-MessageType: newchange

Reply via email to