You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
2.6 KiB
108 lines
2.6 KiB
using System;
|
|
|
|
using Org.BouncyCastle.Utilities;
|
|
|
|
namespace Org.BouncyCastle.Crypto.Tls
|
|
{
|
|
public class SecurityParameters
|
|
{
|
|
internal int entity = -1;
|
|
internal int cipherSuite = -1;
|
|
internal byte compressionAlgorithm = CompressionMethod.cls_null;
|
|
internal int prfAlgorithm = -1;
|
|
internal int verifyDataLength = -1;
|
|
internal byte[] masterSecret = null;
|
|
internal byte[] clientRandom = null;
|
|
internal byte[] serverRandom = null;
|
|
internal byte[] sessionHash = null;
|
|
internal byte[] pskIdentity = null;
|
|
internal byte[] srpIdentity = null;
|
|
|
|
// TODO Keep these internal, since it's maybe not the ideal place for them
|
|
internal short maxFragmentLength = -1;
|
|
internal bool truncatedHMac = false;
|
|
internal bool encryptThenMac = false;
|
|
internal bool extendedMasterSecret = false;
|
|
|
|
internal virtual void Clear()
|
|
{
|
|
if (this.masterSecret != null)
|
|
{
|
|
Arrays.Fill(this.masterSecret, (byte)0);
|
|
this.masterSecret = null;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return {@link ConnectionEnd}
|
|
*/
|
|
public virtual int Entity
|
|
{
|
|
get { return entity; }
|
|
}
|
|
|
|
/**
|
|
* @return {@link CipherSuite}
|
|
*/
|
|
public virtual int CipherSuite
|
|
{
|
|
get { return cipherSuite; }
|
|
}
|
|
|
|
/**
|
|
* @return {@link CompressionMethod}
|
|
*/
|
|
public virtual byte CompressionAlgorithm
|
|
{
|
|
get { return compressionAlgorithm; }
|
|
}
|
|
|
|
/**
|
|
* @return {@link PRFAlgorithm}
|
|
*/
|
|
public virtual int PrfAlgorithm
|
|
{
|
|
get { return prfAlgorithm; }
|
|
}
|
|
|
|
public virtual int VerifyDataLength
|
|
{
|
|
get { return verifyDataLength; }
|
|
}
|
|
|
|
public virtual byte[] MasterSecret
|
|
{
|
|
get { return masterSecret; }
|
|
}
|
|
|
|
public virtual byte[] ClientRandom
|
|
{
|
|
get { return clientRandom; }
|
|
}
|
|
|
|
public virtual byte[] ServerRandom
|
|
{
|
|
get { return serverRandom; }
|
|
}
|
|
|
|
public virtual byte[] SessionHash
|
|
{
|
|
get { return sessionHash; }
|
|
}
|
|
|
|
public virtual byte[] PskIdentity
|
|
{
|
|
get { return pskIdentity; }
|
|
}
|
|
|
|
public virtual byte[] SrpIdentity
|
|
{
|
|
get { return srpIdentity; }
|
|
}
|
|
|
|
public virtual bool IsExtendedMasterSecret
|
|
{
|
|
get { return extendedMasterSecret; }
|
|
}
|
|
}
|
|
}
|
|
|