summaryrefslogtreecommitdiff
path: root/STALExt/src
diff options
context:
space:
mode:
Diffstat (limited to 'STALExt/src')
-rw-r--r--STALExt/src/main/java/META-INF/MANIFEST.MF3
-rw-r--r--STALExt/src/main/java/at/gv/egiz/stal/ext/APDUScriptRequest.java72
-rw-r--r--STALExt/src/main/java/at/gv/egiz/stal/ext/APDUScriptResponse.java91
3 files changed, 166 insertions, 0 deletions
diff --git a/STALExt/src/main/java/META-INF/MANIFEST.MF b/STALExt/src/main/java/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..5e949512
--- /dev/null
+++ b/STALExt/src/main/java/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
diff --git a/STALExt/src/main/java/at/gv/egiz/stal/ext/APDUScriptRequest.java b/STALExt/src/main/java/at/gv/egiz/stal/ext/APDUScriptRequest.java
new file mode 100644
index 00000000..8d738632
--- /dev/null
+++ b/STALExt/src/main/java/at/gv/egiz/stal/ext/APDUScriptRequest.java
@@ -0,0 +1,72 @@
+/*
+* Copyright 2008 Federal Chancellery Austria and
+* Graz University of Technology
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package at.gv.egiz.stal.ext;
+
+import java.util.List;
+
+import at.gv.egiz.stal.STALRequest;;
+
+public class APDUScriptRequest extends STALRequest {
+
+ public static abstract class RequestScriptElement {
+
+ }
+
+ public static class Reset extends RequestScriptElement {
+
+ }
+
+ public static class Command extends RequestScriptElement {
+
+ private int sequence;
+
+ private byte[] commandAPDU;
+
+ private byte[] expectedSW;
+
+ public Command(int sequence, byte[] commandAPDU, byte[] expectedSW) {
+ this.sequence = sequence;
+ this.commandAPDU = commandAPDU;
+ this.expectedSW = expectedSW;
+ }
+
+ public int getSequence() {
+ return sequence;
+ }
+
+ public byte[] getCommandAPDU() {
+ return commandAPDU;
+ }
+
+ public byte[] getExpectedSW() {
+ return expectedSW;
+ }
+
+ }
+
+ private List<RequestScriptElement> script;
+
+ public APDUScriptRequest(List<RequestScriptElement> script) {
+ super();
+ this.script = script;
+ }
+
+ public List<RequestScriptElement> getScript() {
+ return script;
+ }
+
+}
diff --git a/STALExt/src/main/java/at/gv/egiz/stal/ext/APDUScriptResponse.java b/STALExt/src/main/java/at/gv/egiz/stal/ext/APDUScriptResponse.java
new file mode 100644
index 00000000..dd59f0bf
--- /dev/null
+++ b/STALExt/src/main/java/at/gv/egiz/stal/ext/APDUScriptResponse.java
@@ -0,0 +1,91 @@
+/*
+* Copyright 2008 Federal Chancellery Austria and
+* Graz University of Technology
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package at.gv.egiz.stal.ext;
+
+import java.util.List;
+
+import at.gv.egiz.stal.STALResponse;
+
+public class APDUScriptResponse extends STALResponse {
+
+ public static abstract class ResponseScriptElement {
+
+ }
+
+ public static class ATR extends ResponseScriptElement {
+
+ private byte[] atr;
+
+ public ATR(byte[] atr) {
+ this.atr = atr;
+ }
+
+ public byte[] getAtr() {
+ return atr;
+ }
+
+ }
+
+ public static class Response extends ResponseScriptElement {
+
+ public static final int RC_UNSPECIFIED = -1;
+
+ private int sequence;
+
+ private byte[] apdu;
+
+ private byte[] sw;
+
+ private int rc;
+
+ public Response(int sequence, byte[] apdu, byte[] sw, int rc) {
+ this.sequence = sequence;
+ this.apdu = apdu;
+ this.sw = sw;
+ this.rc = rc;
+ }
+
+ public int getSequence() {
+ return sequence;
+ }
+
+ public byte[] getApdu() {
+ return apdu;
+ }
+
+ public byte[] getSw() {
+ return sw;
+ }
+
+ public int getRc() {
+ return rc;
+ }
+
+ }
+
+ private List<ResponseScriptElement> script;
+
+ public APDUScriptResponse(List<ResponseScriptElement> script) {
+ super();
+ this.script = script;
+ }
+
+ public List<ResponseScriptElement> getScript() {
+ return script;
+ }
+
+}