# System.Net.Security

``` diff
 namespace System.Net.Security {
     public readonly struct SslApplicationProtocol : IEquatable<SslApplicationProtocol> {
+        public static readonly SslApplicationProtocol Http3;
     }
+    public sealed class SslCertificateTrust {
+        public static SslCertificateTrust CreateForX509Collection(X509Certificate2Collection trustList, bool sendTrustInHandshake = false);
+        public static SslCertificateTrust CreateForX509Store(X509Store store, bool sendTrustInHandshake = false);
+    }
     public class SslStream : AuthenticatedStream {
+        public virtual Task NegotiateClientCertificateAsync(CancellationToken cancellationToken = default(CancellationToken));
     }
     public sealed class SslStreamCertificateContext {
-        public static SslStreamCertificateContext Create(X509Certificate2 target, X509Certificate2Collection additionalCertificates, bool offline = false);
+        public static SslStreamCertificateContext Create(X509Certificate2 target, X509Certificate2Collection additionalCertificates, bool offline);
+        public static SslStreamCertificateContext Create(X509Certificate2 target, X509Certificate2Collection additionalCertificates, bool offline = false, SslCertificateTrust trust = null);
     }
 }
```

