diff options
Diffstat (limited to 'src/cz/crcs/ectester/reader/Util.java')
| -rw-r--r-- | src/cz/crcs/ectester/reader/Util.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/cz/crcs/ectester/reader/Util.java b/src/cz/crcs/ectester/reader/Util.java index aa0dfd5..1464728 100644 --- a/src/cz/crcs/ectester/reader/Util.java +++ b/src/cz/crcs/ectester/reader/Util.java @@ -1,6 +1,12 @@ package cz.crcs.ectester.reader; +import cz.crcs.ectester.applet.ECTesterApplet; +import javacard.framework.ISO7816; +import javacard.security.CryptoException; + /** + * Utility class, some byte/hex manipulation, convenient byte[] methods. + * * @author Petr Svenda petr@svenda.com * @author Jan Jancar johny@neuromancer.sk */ @@ -79,4 +85,33 @@ public class Util { } return out; } + + public static String getPrintError(short code) { + if (code == ISO7816.SW_NO_ERROR) { + return "OK\t(0x9000)"; + } else { + String codeStr = "unknown"; + switch (code) { + case CryptoException.ILLEGAL_VALUE: + codeStr = "ILLEGAL_VALUE"; + break; + case CryptoException.UNINITIALIZED_KEY: + codeStr = "UNINITIALIZED_KEY"; + break; + case CryptoException.NO_SUCH_ALGORITHM: + codeStr = "NO_SUCH_ALG"; + break; + case CryptoException.INVALID_INIT: + codeStr = "INVALID_INIT"; + break; + case CryptoException.ILLEGAL_USE: + codeStr = "ILLEGAL_USE"; + break; + case ECTesterApplet.SW_SIG_VERIFY_FAIL: + codeStr = "SIG_VERIFY_FAIL"; + break; + } + return String.format("fail\t(%s,\t0x%4x)", codeStr, code); + } + } } |
