diff options
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/crypto/tls/SecurityParameters.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/crypto/tls/SecurityParameters.java | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/crypto/tls/SecurityParameters.java b/bcprov/src/main/java/org/bouncycastle/crypto/tls/SecurityParameters.java new file mode 100644 index 0000000..27f7625 --- /dev/null +++ b/bcprov/src/main/java/org/bouncycastle/crypto/tls/SecurityParameters.java @@ -0,0 +1,108 @@ +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; + } +} |