aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java
diff options
context:
space:
mode:
authorJ08nY2018-07-24 22:46:49 +0200
committerJ08nY2018-07-25 21:52:29 +0200
commit713b14add9496ae5b3df5bb51b02d449f4ca0cef (patch)
tree0aaf253c03792ed80c1740002f4be73212302eb6 /src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java
parent2e91b252aa7ce4400c0fb6b586e78216717147e5 (diff)
downloadECTester-713b14add9496ae5b3df5bb51b02d449f4ca0cef.tar.gz
ECTester-713b14add9496ae5b3df5bb51b02d449f4ca0cef.tar.zst
ECTester-713b14add9496ae5b3df5bb51b02d449f4ca0cef.zip
WIP: Microsoft CryptoAPI Next Generation support.
Diffstat (limited to 'src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java')
-rw-r--r--src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java40
1 files changed, 38 insertions, 2 deletions
diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java
index 6e441e5..f7e7653 100644
--- a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java
+++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java
@@ -27,7 +27,7 @@ public abstract class NativeKeyPairGeneratorSpi extends KeyPairGeneratorSpi {
@Override
public void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException {
if (!paramsSupported(params)) {
- throw new InvalidAlgorithmParameterException("not supported.");
+ throw new InvalidAlgorithmParameterException("Not supported.");
}
this.params = params;
this.random = random;
@@ -41,8 +41,9 @@ public abstract class NativeKeyPairGeneratorSpi extends KeyPairGeneratorSpi {
return generate(keysize, random);
} else if (useParams) {
return generate(params, random);
+ } else {
+ throw new IllegalStateException("Uninitialized KeyPair.");
}
- return null;
}
abstract boolean keysizeSupported(int keysize);
@@ -173,4 +174,39 @@ public abstract class NativeKeyPairGeneratorSpi extends KeyPairGeneratorSpi {
@Override
native KeyPair generate(AlgorithmParameterSpec params, SecureRandom random);
}
+
+ public static abstract class Mscng extends NativeKeyPairGeneratorSpi {
+ private String type;
+
+ public Mscng(String type) {
+ this.type = type;
+ initialize(256, new SecureRandom());//TODO: maybe remove this default init?
+ }
+
+ @Override
+ native boolean keysizeSupported(int keysize);
+
+ @Override
+ native boolean paramsSupported(AlgorithmParameterSpec params);
+
+ @Override
+ native KeyPair generate(int keysize, SecureRandom random);
+
+ @Override
+ native KeyPair generate(AlgorithmParameterSpec params, SecureRandom random);
+ }
+
+ public static class MscngECDH extends Cryptopp {
+
+ public MscngECDH() {
+ super("ECDH");
+ }
+ }
+
+ public static class MscngECDSA extends Cryptopp {
+
+ public MscngECDSA() {
+ super("ECDSA");
+ }
+ }
}