aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java
diff options
context:
space:
mode:
authorJ08nY2018-07-28 18:34:09 +0200
committerJ08nY2018-07-28 18:34:09 +0200
commitf7cd2f14fec676fedc6484eff9a64ebc41d3d910 (patch)
treea9a0ff30952750a72dd40186dc5b64e878f9c76c /src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java
parent4399ba5e724763675ddda41a9f9380fa565f5584 (diff)
downloadECTester-f7cd2f14fec676fedc6484eff9a64ebc41d3d910.tar.gz
ECTester-f7cd2f14fec676fedc6484eff9a64ebc41d3d910.tar.zst
ECTester-f7cd2f14fec676fedc6484eff9a64ebc41d3d910.zip
Redo Mscng key storage.
Diffstat (limited to 'src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java')
-rw-r--r--src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java
index 81c7948..b60f2c6 100644
--- a/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java
+++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java
@@ -92,6 +92,23 @@ public abstract class NativeSignatureSpi extends SignatureSpi {
abstract boolean verify(byte[] signature, byte[] data, byte[] pubkey, ECParameterSpec params);
}
+ private abstract static class ExtendedSignatureSpi extends NativeSignatureSpi {
+
+ @Override
+ protected byte[] engineSign() throws SignatureException {
+ return sign(buffer.toByteArray(), signKey, params);
+ }
+
+ @Override
+ protected boolean engineVerify(byte[] sigBytes) throws SignatureException {
+ return verify(sigBytes, buffer.toByteArray(), verifyKey, params);
+ }
+
+ abstract byte[] sign(byte[] data, ECPrivateKey privkey, ECParameterSpec params);
+
+ abstract boolean verify(byte[] signature, byte[] data, ECPublicKey pubkey, ECParameterSpec params);
+ }
+
public static class TomCryptRaw extends SimpleSignatureSpi {
@Override
@@ -311,7 +328,7 @@ public abstract class NativeSignatureSpi extends SignatureSpi {
}
}
- public abstract static class Mscng extends SimpleSignatureSpi {
+ public abstract static class Mscng extends ExtendedSignatureSpi {
private String type;
public Mscng(String type) {
@@ -319,10 +336,10 @@ public abstract class NativeSignatureSpi extends SignatureSpi {
}
@Override
- native byte[] sign(byte[] data, byte[] privkey, ECParameterSpec params);
+ native byte[] sign(byte[] data, ECPrivateKey privkey, ECParameterSpec params);
@Override
- native boolean verify(byte[] signature, byte[] data, byte[] pubkey, ECParameterSpec params);
+ native boolean verify(byte[] signature, byte[] data, ECPublicKey pubkey, ECParameterSpec params);
}
public static class MscngECDSAwithSHA1 extends Mscng {