aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/applet
diff options
context:
space:
mode:
authorJ08nY2019-03-14 13:38:22 +0100
committerJ08nY2019-03-14 13:38:22 +0100
commitf3accb655d349bb6d78fdc3c66a5d2d0cd15731d (patch)
tree440a0b1c90af555c5363271fff6d0cccc2ea6bbb /src/cz/crcs/ectester/applet
parentdd620345feba56c413fcba1376c8a536033940b6 (diff)
downloadECTester-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')
-rw-r--r--src/cz/crcs/ectester/applet/AppletBase.java9
-rw-r--r--src/cz/crcs/ectester/applet/ECTesterApplet.java2
-rw-r--r--src/cz/crcs/ectester/applet/ECTesterAppletExtended.java2
3 files changed, 8 insertions, 5 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;
diff --git a/src/cz/crcs/ectester/applet/ECTesterApplet.java b/src/cz/crcs/ectester/applet/ECTesterApplet.java
index 95009aa..b222d46 100644
--- a/src/cz/crcs/ectester/applet/ECTesterApplet.java
+++ b/src/cz/crcs/ectester/applet/ECTesterApplet.java
@@ -22,7 +22,7 @@
*/
/*
* PACKAGEID: 4543546573746572
- * APPLETID: 45435465737465723031
+ * APPLETID: 454354657374657230333262 // VERSION v0.3.2
*/
package cz.crcs.ectester.applet;
diff --git a/src/cz/crcs/ectester/applet/ECTesterAppletExtended.java b/src/cz/crcs/ectester/applet/ECTesterAppletExtended.java
index 8ddfeb9..c31544a 100644
--- a/src/cz/crcs/ectester/applet/ECTesterAppletExtended.java
+++ b/src/cz/crcs/ectester/applet/ECTesterAppletExtended.java
@@ -22,7 +22,7 @@
*/
/*
* PACKAGEID: 4543546573746572
- * APPLETID: 45435465737465723031
+ * APPLETID: 454354657374657230333278 // VERSION v0.3.2
*/
package cz.crcs.ectester.applet;