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;
        }
    }

    
Returns:ConnectionEnd
/** * @return {@link ConnectionEnd} */
public int getEntity() { return entity; }
Returns:CipherSuite
/** * @return {@link CipherSuite} */
public int getCipherSuite() { return cipherSuite; }
Returns:CompressionMethod
/** * @return {@link CompressionMethod} */
public short getCompressionAlgorithm() { return compressionAlgorithm; }
Returns:PRFAlgorithm
/** * @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 getPSKIdentity()
/** * @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; } }