public TlsHandshakeHash stopTracking() { return new CombinedHash(this); }
public TlsHandshakeHash notifyPRFDetermined() { int prfAlgorithm = context.getSecurityParameters().getPrfAlgorithm(); if (prfAlgorithm == PRFAlgorithm.tls_prf_legacy) { CombinedHash legacyHash = new CombinedHash(); legacyHash.init(context); buf.updateDigest(legacyHash); return legacyHash.notifyPRFDetermined(); } this.prfHashAlgorithm = Shorts.valueOf(TlsUtils.getHashAlgorithmForPRFAlgorithm(prfAlgorithm)); checkTrackingHash(prfHashAlgorithm); return this; }
/** * @see org.bouncycastle.crypto.Digest#doFinal(byte[], int) */ public int doFinal(byte[] output, int outOff) { if (context != null && TlsUtils.isSSL(context)) { ssl3Complete(md5, SSL3Mac.IPAD, SSL3Mac.OPAD, 48); ssl3Complete(sha1, SSL3Mac.IPAD, SSL3Mac.OPAD, 40); } int i1 = md5.doFinal(output, outOff); int i2 = sha1.doFinal(output, outOff + i1); return i1 + i2; }
public TlsHandshakeHash notifyPRFDetermined() { int prfAlgorithm = context.getSecurityParameters().getPrfAlgorithm(); if (prfAlgorithm == PRFAlgorithm.tls_prf_legacy) { CombinedHash legacyHash = new CombinedHash(); legacyHash.init(context); buf.updateDigest(legacyHash); return legacyHash.notifyPRFDetermined(); } this.prfHashAlgorithm = Shorts.valueOf(TlsUtils.getHashAlgorithmForPRFAlgorithm(prfAlgorithm)); checkTrackingHash(prfHashAlgorithm); return this; }
/** * @see org.bouncycastle.crypto.Digest#doFinal(byte[], int) */ public int doFinal(byte[] output, int outOff) { if (context != null && TlsUtils.isSSL(context)) { ssl3Complete(md5, SSL3Mac.IPAD, SSL3Mac.OPAD, 48); ssl3Complete(sha1, SSL3Mac.IPAD, SSL3Mac.OPAD, 40); } int i1 = md5.doFinal(output, outOff); int i2 = sha1.doFinal(output, outOff + i1); return i1 + i2; }
public Digest forkPRFHash() { return new CombinedHash(this); }
public Digest forkPRFHash() { return new CombinedHash(this); }
public TlsHandshakeHash stopTracking() { return new CombinedHash(this); }
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 clonePRFHash(int prfAlgorithm, Digest hash) { switch (prfAlgorithm) { case PRFAlgorithm.tls_prf_legacy: return new CombinedHash((CombinedHash)hash); default: return cloneHash(getHashAlgorithmForPRFAlgorithm(prfAlgorithm), hash); } }
public static Digest createHash(SignatureAndHashAlgorithm signatureAndHashAlgorithm) { return signatureAndHashAlgorithm == null ? new CombinedHash() : createHash(signatureAndHashAlgorithm.getHash()); }
public static Digest clonePRFHash(int prfAlgorithm, Digest hash) { switch (prfAlgorithm) { case PRFAlgorithm.tls_prf_legacy: return new CombinedHash((CombinedHash)hash); default: return cloneHash(getHashAlgorithmForPRFAlgorithm(prfAlgorithm), hash); } }