diff options
Diffstat (limited to 'src/applets/ECKeyTester.java')
| -rw-r--r-- | src/applets/ECKeyTester.java | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/applets/ECKeyTester.java b/src/applets/ECKeyTester.java index d6ff6c1..acfb64e 100644 --- a/src/applets/ECKeyTester.java +++ b/src/applets/ECKeyTester.java @@ -143,16 +143,12 @@ public class ECKeyTester { short result = ISO7816.SW_NO_ERROR; try { ecdsaSignature.init(signKey, Signature.MODE_SIGN); - short sigLength = ecdsaSignature.sign(inputBuffer, inputOffset, inputLength, sigBuffer, sigOffset); - if (sigLength != 20) { // per javacard.security.Signature an ALG_ECDSA_SHA should be 20 bytes. - result = SimpleECCApplet.SW_SIG_LENGTH_MISMATCH; - } else { - ecdsaSignature.init(verifyKey, Signature.MODE_VERIFY); - boolean correct = ecdsaSignature.verify(inputBuffer, inputOffset, inputLength, sigBuffer, sigOffset, sigLength); - if (!correct) { - result = SimpleECCApplet.SW_SIG_VERIFY_FAIL; - } + + ecdsaSignature.init(verifyKey, Signature.MODE_VERIFY); + boolean correct = ecdsaSignature.verify(inputBuffer, inputOffset, inputLength, sigBuffer, sigOffset, sigLength); + if (!correct) { + result = SimpleECCApplet.SW_SIG_VERIFY_FAIL; } } catch (CryptoException ce) { result = ce.getReason(); |
