public abstract CreateDeriveBytes ( byte secret, byte seed ) : |
||
secret | byte | |
seed | byte | |
return |
public override byte[] GetMasterSecret(PseudoRandomFunction prf, byte[] seed) { // TODO: Add more PRF IDs and their respective master secrets byte[] prfID = prf.CreateDeriveBytes(new byte[0], new byte[0]).GetBytes(48); if (CompareArrays(prfID, SSLv3ID)) { return GetSSLv3MasterSecret(seed); } else if (CompareArrays(prfID, TLSv1ID)) { return GetTLSv1MasterSecret(seed); } else { throw new Exception("Unidentified PRF while getting ECDHE master secret"); } }
public override byte[] GetMasterSecret(PseudoRandomFunction prf, byte[] seed) { if (_preMasterSecret == null) throw new CryptographicException("Premaster secret not defined"); return prf.CreateDeriveBytes(_preMasterSecret, "master secret", seed).GetBytes(48); }