@Override public void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException { if (params instanceof EdDSAParameterSpec) { edParams = (EdDSAParameterSpec) params; } else if (params instanceof EdDSAGenParameterSpec) { edParams = createNamedCurveSpec(((EdDSAGenParameterSpec) params).getName()); } else throw new InvalidAlgorithmParameterException("parameter object not a EdDSAParameterSpec"); this.random = random; initialized = true; }
public void initialize(int keysize, SecureRandom random) { AlgorithmParameterSpec edParams = edParameters.get(Integer.valueOf(keysize)); if (edParams == null) throw new InvalidParameterException("unknown key type."); try { initialize(edParams, random); } catch (InvalidAlgorithmParameterException e) { throw new InvalidParameterException("key type not configurable."); } }
java.security.KeyPair kp; if (type.getBaseAlgorithm() == SigAlgo.EdDSA) { net.i2p.crypto.eddsa.KeyPairGenerator kpg = new net.i2p.crypto.eddsa.KeyPairGenerator(); kpg.initialize(type.getParams(), _context.random()); kp = kpg.generateKeyPair(); } else { KeyPairGenerator kpg = KeyPairGenerator.getInstance(type.getBaseAlgorithm().getName());
/** * Use this method once to generated an "authToken" which is the * combination of a random "user" and the hash of an EdDSA-key. * Persist the authToken somewhere, either in a static final, inside a property etc. * * @return An authToken to be used with the constructor of AirPlayAuth. */ public static String generateNewAuthToken() { String clientId = AuthUtils.randomString(16); return clientId + "@" + net.i2p.crypto.eddsa.Utils.bytesToHex(new KeyPairGenerator().generateKeyPair().getPrivate().getEncoded()); }
/** * Creates a random ED25519 key pair. */ public Key() { KeyPair keypair = gen.generateKeyPair(); sk = (EdDSAPrivateKey) keypair.getPrivate(); pk = (EdDSAPublicKey) keypair.getPublic(); }
public KeyPair generateKeyPair() { if (!initialized) initialize(DEFAULT_KEYSIZE, RandomSource.getInstance()); byte[] seed = new byte[edParams.getCurve().getField().getb()/8]; random.nextBytes(seed); EdDSAPrivateKeySpec privKey = new EdDSAPrivateKeySpec(seed, edParams); EdDSAPublicKeySpec pubKey = new EdDSAPublicKeySpec(privKey.getA(), edParams); return new KeyPair(new EdDSAPublicKey(pubKey), new EdDSAPrivateKey(privKey)); }
@Override public void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException { if (params instanceof EdDSAParameterSpec) { edParams = (EdDSAParameterSpec) params; } else if (params instanceof EdDSAGenParameterSpec) { edParams = createNamedCurveSpec(((EdDSAGenParameterSpec) params).getName()); } else throw new InvalidAlgorithmParameterException("parameter object not a EdDSAParameterSpec"); this.random = random; initialized = true; }
public void initialize(int keysize, SecureRandom random) { AlgorithmParameterSpec edParams = edParameters.get(Integer.valueOf(keysize)); if (edParams == null) throw new InvalidParameterException("unknown key type."); try { initialize(edParams, random); } catch (InvalidAlgorithmParameterException e) { throw new InvalidParameterException("key type not configurable."); } }
public KeyPair generateKeyPair() { if (!initialized) initialize(DEFAULT_KEYSIZE, new SecureRandom()); byte[] seed = new byte[edParams.getCurve().getField().getb()/8]; random.nextBytes(seed); EdDSAPrivateKeySpec privKey = new EdDSAPrivateKeySpec(seed, edParams); EdDSAPublicKeySpec pubKey = new EdDSAPublicKeySpec(privKey.getA(), edParams); return new KeyPair(new EdDSAPublicKey(pubKey), new EdDSAPrivateKey(privKey)); }