List of usage examples for org.bouncycastle.crypto.agreement.srp SRP6VerifierGenerator init
public void init(BigInteger N, BigInteger g, Digest digest)
From source file:com.aelitis.azureus.core.pairing.impl.PairingManagerTunnelHandler.java
License:Open Source License
public void setSRPPassword(char[] password) { if (password == null || password.length == 0) { SRP_SALT = null;//from w w w.jav a2 s . com SRP_VERIFIER = null; CryptoManagerFactory.getSingleton().setSRPParameters(null, null); } else { start(); try { byte[] I = DEFAULT_IDENTITY.getBytes("UTF-8"); byte[] P = new String(password).getBytes("UTF-8"); byte[] salt = new byte[16]; RandomUtils.nextSecureBytes(salt); SRP6VerifierGenerator gen = new SRP6VerifierGenerator(); gen.init(N_3072, G_3072, new SHA256Digest()); BigInteger verifier = gen.generateVerifier(salt, I, P); CryptoManagerFactory.getSingleton().setSRPParameters(salt, verifier); SRP_SALT = salt; SRP_VERIFIER = verifier; } catch (Throwable e) { Debug.out(e); } } updateActive(); }
From source file:org.forgerock.openicf.framework.remote.SecurityUtil.java
License:CDDL license
/** * Generate Secure Remote Password (SRP) * * @param username user name (aka "identity") * @param password password// w w w. j a v a 2s .c o m * @param random the source of randomness for this generator * @param params group parameters (prime, generator) * @return generated verifier and random */ public static Pair<String, byte[]> generateVerifier(String username, String password, SecureRandom random, SRPGroupParameter params) { byte[] I = username.getBytes(); byte[] P = password.getBytes(); byte[] s = new byte[16]; random.nextBytes(s); SRP6VerifierGenerator gen = new SRP6VerifierGenerator(); gen.init(params.N, params.g, new SHA256Digest()); BigInteger v = gen.generateVerifier(s, I, P); return Pair.of(v.toString(16), s); }