Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/spongycastle/crypto/tls/TlsContext.java')
-rw-r--r--core/src/main/java/org/spongycastle/crypto/tls/TlsContext.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/core/src/main/java/org/spongycastle/crypto/tls/TlsContext.java b/core/src/main/java/org/spongycastle/crypto/tls/TlsContext.java
new file mode 100644
index 00000000..a47d1d6e
--- /dev/null
+++ b/core/src/main/java/org/spongycastle/crypto/tls/TlsContext.java
@@ -0,0 +1,45 @@
+package org.spongycastle.crypto.tls;
+
+import java.security.SecureRandom;
+
+import org.spongycastle.crypto.prng.RandomGenerator;
+
+public interface TlsContext
+{
+ RandomGenerator getNonceRandomGenerator();
+
+ SecureRandom getSecureRandom();
+
+ SecurityParameters getSecurityParameters();
+
+ boolean isServer();
+
+ ProtocolVersion getClientVersion();
+
+ ProtocolVersion getServerVersion();
+
+ /**
+ * Used to get the resumable session, if any, used by this connection. Only available after the
+ * handshake has successfully completed.
+ *
+ * @return A {@link TlsSession} representing the resumable session used by this connection, or
+ * null if no resumable session available.
+ * @see TlsPeer#notifyHandshakeComplete()
+ */
+ TlsSession getResumableSession();
+
+ Object getUserObject();
+
+ void setUserObject(Object userObject);
+
+ /**
+ * Export keying material according to RFC 5705: "Keying Material Exporters for TLS".
+ *
+ * @param asciiLabel indicates which application will use the exported keys.
+ * @param context_value allows the application using the exporter to mix its own data with the TLS PRF for
+ * the exporter output.
+ * @param length the number of bytes to generate
+ * @return a pseudorandom bit string of 'length' bytes generated from the master_secret.
+ */
+ byte[] exportKeyingMaterial(String asciiLabel, byte[] context_value, int length);
+}