summary refs log tree commit diff
path: root/crypto/src/tls/TlsHandshakeHash.cs
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/tls/TlsHandshakeHash.cs')
-rw-r--r--crypto/src/tls/TlsHandshakeHash.cs29
1 files changed, 29 insertions, 0 deletions
diff --git a/crypto/src/tls/TlsHandshakeHash.cs b/crypto/src/tls/TlsHandshakeHash.cs
new file mode 100644
index 000000000..aa33c680d
--- /dev/null
+++ b/crypto/src/tls/TlsHandshakeHash.cs
@@ -0,0 +1,29 @@
+using System;
+using System.IO;
+
+using Org.BouncyCastle.Tls.Crypto;
+
+namespace Org.BouncyCastle.Tls
+{
+    /// <summary>Base interface for an object that can calculate a handshake hash.</summary>
+    public interface TlsHandshakeHash
+        : TlsHash
+    {
+        /// <exception cref="IOException"/>
+        void CopyBufferTo(Stream output);
+
+        void ForceBuffering();
+
+        void NotifyPrfDetermined();
+
+        void TrackHashAlgorithm(int cryptoHashAlgorithm);
+
+        void SealHashAlgorithms();
+
+        TlsHandshakeHash StopTracking();
+
+        TlsHash ForkPrfHash();
+
+        byte[] GetFinalHash(int cryptoHashAlgorithm);
+    }
+}