public override byte[] GetMasterSecret(PseudoRandomFunction prf, byte[] seed)
 {
     var masterSecret = prf.CreateDeriveBytes(preMasterSecret, "master secret", seed).GetBytes(48);
     this.logger?.Debug("Master Secret: " + BitConverter.ToString(masterSecret));
     return masterSecret;
 }
		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);
		}
		public override byte[] GetMasterSecret(PseudoRandomFunction prf, byte[] seed)
		{
			return prf.CreateDeriveBytes(_preMasterSecret, "master secret", seed).GetBytes(48);
		}