diff options
| author | J08nY | 2018-07-24 22:46:49 +0200 |
|---|---|---|
| committer | J08nY | 2018-07-25 21:52:29 +0200 |
| commit | 713b14add9496ae5b3df5bb51b02d449f4ca0cef (patch) | |
| tree | 0aaf253c03792ed80c1740002f4be73212302eb6 /src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java | |
| parent | 2e91b252aa7ce4400c0fb6b586e78216717147e5 (diff) | |
| download | ECTester-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.java | 40 |
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"); + } + } } |
