summaryrefslogtreecommitdiffstats
path: root/bcprov/src/main/java/org/bouncycastle/crypto/tls/SecurityParameters.java
diff options
context:
space:
mode:
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.java108
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;
+ }
+}