diff options
| author | J08nY | 2019-03-14 13:38:22 +0100 |
|---|---|---|
| committer | J08nY | 2019-03-14 13:38:22 +0100 |
| commit | f3accb655d349bb6d78fdc3c66a5d2d0cd15731d (patch) | |
| tree | 440a0b1c90af555c5363271fff6d0cccc2ea6bbb /src/cz/crcs/ectester/applet/AppletBase.java | |
| parent | dd620345feba56c413fcba1376c8a536033940b6 (diff) | |
| download | ECTester-f3accb655d349bb6d78fdc3c66a5d2d0cd15731d.tar.gz ECTester-f3accb655d349bb6d78fdc3c66a5d2d0cd15731d.tar.zst ECTester-f3accb655d349bb6d78fdc3c66a5d2d0cd15731d.zip | |
Add better chunking support and detect it at runtime.
Diffstat (limited to 'src/cz/crcs/ectester/applet/AppletBase.java')
| -rw-r--r-- | src/cz/crcs/ectester/applet/AppletBase.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/cz/crcs/ectester/applet/AppletBase.java b/src/cz/crcs/ectester/applet/AppletBase.java index 94f790b..31ddbd9 100644 --- a/src/cz/crcs/ectester/applet/AppletBase.java +++ b/src/cz/crcs/ectester/applet/AppletBase.java @@ -97,10 +97,13 @@ public abstract class AppletBase extends Applet { // go to proprietary data dataOffset++; */ + short resetMemory = JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_RESET); + short deselectMemory = JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_DESELECT); + byte memoryType = (resetMemory > deselectMemory) ? JCSystem.CLEAR_ON_RESET : JCSystem.CLEAR_ON_DESELECT; - ramArray = JCSystem.makeTransientByteArray(ARRAY_LENGTH, JCSystem.CLEAR_ON_RESET); - ramArray2 = JCSystem.makeTransientByteArray(ARRAY_LENGTH, JCSystem.CLEAR_ON_RESET); - apduArray = JCSystem.makeTransientByteArray(APDU_MAX_LENGTH, JCSystem.CLEAR_ON_RESET); + ramArray = JCSystem.makeTransientByteArray(ARRAY_LENGTH, memoryType); + ramArray2 = JCSystem.makeTransientByteArray(ARRAY_LENGTH, memoryType); + apduArray = JCSystem.makeTransientByteArray(APDU_MAX_LENGTH, memoryType); randomData = RandomData.getInstance(RandomData.ALG_SECURE_RANDOM); EC_Consts.randomData = randomData; |
