blob: b523c95778d17c8703e45cc790f5bdff7196c7d3 [file] [log] [blame]
package org.bouncycastle.crypto.tls;
import org.bouncycastle.util.Arrays;
public class SecurityParameters
{
int entity = -1;
int cipherSuite = -1;
short compressionAlgorithm = CompressionMethod._null;
int prfAlgorithm = -1;
int verifyDataLength = -1;
byte[] masterSecret = null;
byte[] clientRandom = null;
byte[] serverRandom = null;
byte[] sessionHash = null;
byte[] pskIdentity = null;
byte[] srpIdentity = null;
// TODO Keep these internal, since it's maybe not the ideal place for them
short maxFragmentLength = -1;
boolean truncatedHMac = false;
boolean encryptThenMAC = false;
boolean extendedMasterSecret = false;
void clear()
{
if (this.masterSecret != null)
{
Arrays.fill(this.masterSecret, (byte)0);
this.masterSecret = null;
}
}
/**
* @return {@link ConnectionEnd}
*/
public int getEntity()
{
return entity;
}
/**
* @return {@link CipherSuite}
*/
public int getCipherSuite()
{
return cipherSuite;
}
/**
* @return {@link CompressionMethod}
*/
public short getCompressionAlgorithm()
{
return compressionAlgorithm;
}
/**
* @return {@link PRFAlgorithm}
*/
public int getPrfAlgorithm()
{
return prfAlgorithm;
}
public int getVerifyDataLength()
{
return verifyDataLength;
}
public byte[] getMasterSecret()
{
return masterSecret;
}
public byte[] getClientRandom()
{
return clientRandom;
}
public byte[] getServerRandom()
{
return serverRandom;
}
public byte[] getSessionHash()
{
return sessionHash;
}
/**
* @deprecated Use {@link SecurityParameters#getPSKIdentity()}
*/
public byte[] getPskIdentity()
{
return pskIdentity;
}
public byte[] getPSKIdentity()
{
return pskIdentity;
}
public byte[] getSRPIdentity()
{
return srpIdentity;
}
public boolean isExtendedMasterSecret()
{
return extendedMasterSecret;
}
}