aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/common/util
diff options
context:
space:
mode:
authorJ08nY2019-07-18 17:31:57 +0200
committerJ08nY2019-07-18 17:31:57 +0200
commit628bfd7258bcefa5d0005a370d35e1227ce2f844 (patch)
tree9ae6ce6bfad822fd003424c0ea8a70219912b418 /src/cz/crcs/ectester/common/util
parente0a4956cafcbb98bdf18c9a25fbf799e4de4a35e (diff)
downloadECTester-628bfd7258bcefa5d0005a370d35e1227ce2f844.tar.gz
ECTester-628bfd7258bcefa5d0005a370d35e1227ce2f844.tar.zst
ECTester-628bfd7258bcefa5d0005a370d35e1227ce2f844.zip
Better handle KeyBuilder and KeyPair construction in the applet.
Diffstat (limited to 'src/cz/crcs/ectester/common/util')
-rw-r--r--src/cz/crcs/ectester/common/util/CardUtil.java27
-rw-r--r--src/cz/crcs/ectester/common/util/ECUtil.java2
2 files changed, 28 insertions, 1 deletions
diff --git a/src/cz/crcs/ectester/common/util/CardUtil.java b/src/cz/crcs/ectester/common/util/CardUtil.java
index a761949..5187c42 100644
--- a/src/cz/crcs/ectester/common/util/CardUtil.java
+++ b/src/cz/crcs/ectester/common/util/CardUtil.java
@@ -34,6 +34,23 @@ public class CardUtil {
public static String getSigHashAlgo(byte sigType) {
switch (sigType) {
case EC_Consts.Signature_ALG_ECDSA_SHA:
+ return "SHA1";
+ case EC_Consts.Signature_ALG_ECDSA_SHA_224:
+ return "SHA224";
+ case EC_Consts.Signature_ALG_ECDSA_SHA_256:
+ return "SHA256";
+ case EC_Consts.Signature_ALG_ECDSA_SHA_384:
+ return "SHA384";
+ case EC_Consts.Signature_ALG_ECDSA_SHA_512:
+ return "SHA512";
+ default:
+ return null;
+ }
+ }
+
+ public static String getSigHashName(byte sigType) {
+ switch (sigType) {
+ case EC_Consts.Signature_ALG_ECDSA_SHA:
return "SHA-1";
case EC_Consts.Signature_ALG_ECDSA_SHA_224:
return "SHA-224";
@@ -67,6 +84,16 @@ public class CardUtil {
}
}
+ public static String getKexHashName(byte kexType) {
+ switch (kexType) {
+ case EC_Consts.KeyAgreement_ALG_EC_SVDP_DH:
+ case EC_Consts.KeyAgreement_ALG_EC_SVDP_DHC:
+ return "SHA1";
+ default:
+ return "NONE";
+ }
+ }
+
public static String getSWSource(short sw) {
switch (sw) {
case ISO7816.SW_NO_ERROR:
diff --git a/src/cz/crcs/ectester/common/util/ECUtil.java b/src/cz/crcs/ectester/common/util/ECUtil.java
index 43ccf08..ccc6c48 100644
--- a/src/cz/crcs/ectester/common/util/ECUtil.java
+++ b/src/cz/crcs/ectester/common/util/ECUtil.java
@@ -365,7 +365,7 @@ public class ECUtil {
int bitSize = params.getOrder().bitLength();
// Hash the data.
byte[] hash;
- if (hashType.equals("NONE")) {
+ if (hashType == null || hashType.equals("NONE")) {
hash = data;
} else {
MessageDigest md = MessageDigest.getInstance(hashType);