CombinedHash() { this.md5 = TlsUtils.createHash(HashAlgorithm.md5); this.sha1 = TlsUtils.createHash(HashAlgorithm.sha1); }
CombinedHash() { this.md5 = TlsUtils.createHash(HashAlgorithm.md5); this.sha1 = TlsUtils.createHash(HashAlgorithm.sha1); }
protected void checkTrackingHash(Short hashAlgorithm) { if (!hashes.containsKey(hashAlgorithm)) { Digest hash = TlsUtils.createHash(hashAlgorithm.shortValue()); hashes.put(hashAlgorithm, hash); } } }
protected void checkTrackingHash(Short hashAlgorithm) { if (!hashes.containsKey(hashAlgorithm)) { Digest hash = TlsUtils.createHash(hashAlgorithm.shortValue()); hashes.put(hashAlgorithm, hash); } } }
static byte[] PRF_legacy(byte[] secret, byte[] label, byte[] labelSeed, int size) { int s_half = (secret.length + 1) / 2; byte[] s1 = new byte[s_half]; byte[] s2 = new byte[s_half]; System.arraycopy(secret, 0, s1, 0, s_half); System.arraycopy(secret, secret.length - s_half, s2, 0, s_half); byte[] b1 = new byte[size]; byte[] b2 = new byte[size]; hmac_hash(createHash(HashAlgorithm.md5), s1, labelSeed, b1); hmac_hash(createHash(HashAlgorithm.sha1), s2, labelSeed, b2); for (int i = 0; i < size; i++) { b1[i] ^= b2[i]; } return b1; }
static byte[] PRF_legacy(byte[] secret, byte[] label, byte[] labelSeed, int size) { int s_half = (secret.length + 1) / 2; byte[] s1 = new byte[s_half]; byte[] s2 = new byte[s_half]; System.arraycopy(secret, 0, s1, 0, s_half); System.arraycopy(secret, secret.length - s_half, s2, 0, s_half); byte[] b1 = new byte[size]; byte[] b2 = new byte[size]; hmac_hash(createHash(HashAlgorithm.md5), s1, labelSeed, b1); hmac_hash(createHash(HashAlgorithm.sha1), s2, labelSeed, b2); for (int i = 0; i < size; i++) { b1[i] ^= b2[i]; } return b1; }
public Digest forkPRFHash() { checkStopBuffering(); if (buf != null) { Digest prfHash = TlsUtils.createHash(prfHashAlgorithm.shortValue()); buf.updateDigest(prfHash); return prfHash; } return TlsUtils.cloneHash(prfHashAlgorithm.shortValue(), (Digest)hashes.get(prfHashAlgorithm)); }
public Digest forkPRFHash() { checkStopBuffering(); if (buf != null) { Digest prfHash = TlsUtils.createHash(prfHashAlgorithm.shortValue()); buf.updateDigest(prfHash); return prfHash; } return TlsUtils.cloneHash(prfHashAlgorithm.shortValue(), (Digest)hashes.get(prfHashAlgorithm)); }
public static Digest createHash(SignatureAndHashAlgorithm signatureAndHashAlgorithm) { return signatureAndHashAlgorithm == null ? new CombinedHash() : createHash(signatureAndHashAlgorithm.getHash()); }
public static Digest createPRFHash(int prfAlgorithm) { switch (prfAlgorithm) { case PRFAlgorithm.tls_prf_legacy: return new CombinedHash(); default: return createHash(getHashAlgorithmForPRFAlgorithm(prfAlgorithm)); } }
public static Digest createPRFHash(int prfAlgorithm) { switch (prfAlgorithm) { case PRFAlgorithm.tls_prf_legacy: return new CombinedHash(); default: return createHash(getHashAlgorithmForPRFAlgorithm(prfAlgorithm)); } }
public static Digest createHash(SignatureAndHashAlgorithm signatureAndHashAlgorithm) { return signatureAndHashAlgorithm == null ? new CombinedHash() : createHash(signatureAndHashAlgorithm.getHash()); }
protected DSA createDSAImpl(short hashAlgorithm) { return new ECDSASigner(new HMacDSAKCalculator(TlsUtils.createHash(hashAlgorithm))); }
protected DSA createDSAImpl(short hashAlgorithm) { return new ECDSASigner(new HMacDSAKCalculator(TlsUtils.createHash(hashAlgorithm))); }
protected DSA createDSAImpl(short hashAlgorithm) { return new DSASigner(new HMacDSAKCalculator(TlsUtils.createHash(hashAlgorithm))); }
protected DSA createDSAImpl(short hashAlgorithm) { return new DSASigner(new HMacDSAKCalculator(TlsUtils.createHash(hashAlgorithm))); }
/** * Create a {@link SimulatedTlsSRPIdentityManager} that implements the algorithm from RFC 5054 2.5.1.3 * * @param group the {@link SRP6GroupParameters} defining the group that SRP is operating in * @param seedKey the secret "seed key" referred to in RFC 5054 2.5.1.3 * @return an instance of {@link SimulatedTlsSRPIdentityManager} */ public static SimulatedTlsSRPIdentityManager getRFC5054Default(SRP6GroupParameters group, byte[] seedKey) { SRP6VerifierGenerator verifierGenerator = new SRP6VerifierGenerator(); verifierGenerator.init(group, TlsUtils.createHash(HashAlgorithm.sha1)); HMac mac = new HMac(TlsUtils.createHash(HashAlgorithm.sha1)); mac.init(new KeyParameter(seedKey)); return new SimulatedTlsSRPIdentityManager(group, verifierGenerator, mac); }
/** * Create a {@link SimulatedTlsSRPIdentityManager} that implements the algorithm from RFC 5054 2.5.1.3 * * @param group the {@link SRP6GroupParameters} defining the group that SRP is operating in * @param seedKey the secret "seed key" referred to in RFC 5054 2.5.1.3 * @return an instance of {@link SimulatedTlsSRPIdentityManager} */ public static SimulatedTlsSRPIdentityManager getRFC5054Default(SRP6GroupParameters group, byte[] seedKey) { SRP6VerifierGenerator verifierGenerator = new SRP6VerifierGenerator(); verifierGenerator.init(group, TlsUtils.createHash(HashAlgorithm.sha1)); HMac mac = new HMac(TlsUtils.createHash(HashAlgorithm.sha1)); mac.init(new KeyParameter(seedKey)); return new SimulatedTlsSRPIdentityManager(group, verifierGenerator, mac); }
AbstractTlsContext(SecureRandom secureRandom, SecurityParameters securityParameters) { Digest d = TlsUtils.createHash(HashAlgorithm.sha256); byte[] seed = new byte[d.getDigestSize()]; secureRandom.nextBytes(seed); this.nonceRandom = new DigestRandomGenerator(d); nonceRandom.addSeedMaterial(nextCounterValue()); nonceRandom.addSeedMaterial(Times.nanoTime()); nonceRandom.addSeedMaterial(seed); this.secureRandom = secureRandom; this.securityParameters = securityParameters; }
AbstractTlsContext(SecureRandom secureRandom, SecurityParameters securityParameters) { Digest d = TlsUtils.createHash(HashAlgorithm.sha256); byte[] seed = new byte[d.getDigestSize()]; secureRandom.nextBytes(seed); this.nonceRandom = new DigestRandomGenerator(d); nonceRandom.addSeedMaterial(nextCounterValue()); nonceRandom.addSeedMaterial(Times.nanoTime()); nonceRandom.addSeedMaterial(seed); this.secureRandom = secureRandom; this.securityParameters = securityParameters; }