summary refs log tree commit diff
path: root/crypto/src/tls/TlsServer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/tls/TlsServer.cs')
-rw-r--r--crypto/src/tls/TlsServer.cs11
1 files changed, 11 insertions, 0 deletions
diff --git a/crypto/src/tls/TlsServer.cs b/crypto/src/tls/TlsServer.cs
index 783c8c14d..fe88d7c43 100644
--- a/crypto/src/tls/TlsServer.cs
+++ b/crypto/src/tls/TlsServer.cs
@@ -23,6 +23,17 @@ namespace Org.BouncyCastle.Tls
 
         byte[] GetNewSessionID();
 
+        /// <summary>Return the <see cref="TlsPskExternal">external PSK</see> to select from the ClientHello.</summary>
+        /// <remarks>
+        /// WARNING: EXPERIMENTAL FEATURE, UNSTABLE API
+        /// Note that this will only be called when TLS 1.3 or higher is amongst the offered protocol versions, and one
+        /// or more PSKs are actually offered.
+        /// </remarks>
+        /// <param name="identities">an <see cref="IList"/> of <see cref="PskIdentity"/> instances.</param>
+        /// <returns>The <see cref="TlsPskExternal"/> corresponding to the selected identity, or null to not select
+        /// any.</returns>
+        TlsPskExternal GetExternalPsk(IList identities);
+
         void NotifySession(TlsSession session);
 
         /// <exception cref="IOException"/>