dotnet-core/release-notes/1.0/1.0.0-api/1.0.0-api_System.Net.Security.md

116 lines
7 KiB
Markdown
Raw Normal View History

2017-07-05 23:24:38 +02:00
# System.Net.Security
``` diff
+namespace System.Net.Security {
+ public abstract class AuthenticatedStream : Stream {
+ protected AuthenticatedStream(Stream innerStream, bool leaveInnerStreamOpen);
+ protected Stream InnerStream { get; }
+ public abstract bool IsAuthenticated { get; }
+ public abstract bool IsEncrypted { get; }
+ public abstract bool IsMutuallyAuthenticated { get; }
+ public abstract bool IsServer { get; }
+ public abstract bool IsSigned { get; }
+ public bool LeaveInnerStreamOpen { get; }
+ protected override void Dispose(bool disposing);
+ }
+ public enum AuthenticationLevel {
+ MutualAuthRequested = 1,
+ MutualAuthRequired = 2,
+ None = 0,
+ }
+ public enum EncryptionPolicy {
+ AllowNoEncryption = 1,
+ NoEncryption = 2,
+ RequireEncryption = 0,
+ }
+ public delegate X509Certificate LocalCertificateSelectionCallback(object sender, string targetHost, X509CertificateCollection localCertificates, X509Certificate remoteCertificate, string[] acceptableIssuers);
+ public class NegotiateStream : AuthenticatedStream {
+ public NegotiateStream(Stream innerStream);
+ public NegotiateStream(Stream innerStream, bool leaveInnerStreamOpen);
+ public override bool CanRead { get; }
+ public override bool CanSeek { get; }
+ public override bool CanTimeout { get; }
+ public override bool CanWrite { get; }
+ public virtual TokenImpersonationLevel ImpersonationLevel { get; }
+ public override bool IsAuthenticated { get; }
+ public override bool IsEncrypted { get; }
+ public override bool IsMutuallyAuthenticated { get; }
+ public override bool IsServer { get; }
+ public override bool IsSigned { get; }
+ public override long Length { get; }
+ public override long Position { get; set; }
+ public override int ReadTimeout { get; set; }
+ public virtual IIdentity RemoteIdentity { get; }
+ public override int WriteTimeout { get; set; }
+ public virtual Task AuthenticateAsClientAsync();
+ public virtual Task AuthenticateAsClientAsync(NetworkCredential credential, ChannelBinding binding, string targetName);
+ public virtual Task AuthenticateAsClientAsync(NetworkCredential credential, ChannelBinding binding, string targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel);
+ public virtual Task AuthenticateAsClientAsync(NetworkCredential credential, string targetName);
+ public virtual Task AuthenticateAsClientAsync(NetworkCredential credential, string targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel);
+ public virtual Task AuthenticateAsServerAsync();
+ public virtual Task AuthenticateAsServerAsync(NetworkCredential credential, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel requiredImpersonationLevel);
+ public virtual Task AuthenticateAsServerAsync(NetworkCredential credential, ExtendedProtectionPolicy policy, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel requiredImpersonationLevel);
+ public virtual Task AuthenticateAsServerAsync(ExtendedProtectionPolicy policy);
+ public override void Flush();
+ public override int Read(byte[] buffer, int offset, int count);
+ public override long Seek(long offset, SeekOrigin origin);
+ public override void SetLength(long value);
+ public override void Write(byte[] buffer, int offset, int count);
+ }
+ public enum ProtectionLevel {
+ EncryptAndSign = 2,
+ None = 0,
+ Sign = 1,
+ }
+ public delegate bool RemoteCertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors);
+ public enum SslPolicyErrors {
+ None = 0,
+ RemoteCertificateChainErrors = 4,
+ RemoteCertificateNameMismatch = 2,
+ RemoteCertificateNotAvailable = 1,
+ }
+ public class SslStream : AuthenticatedStream {
+ public SslStream(Stream innerStream);
+ public SslStream(Stream innerStream, bool leaveInnerStreamOpen);
+ public SslStream(Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback);
+ public SslStream(Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback);
+ public SslStream(Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback, EncryptionPolicy encryptionPolicy);
+ public override bool CanRead { get; }
+ public override bool CanSeek { get; }
+ public override bool CanTimeout { get; }
+ public override bool CanWrite { get; }
+ public virtual bool CheckCertRevocationStatus { get; }
+ public virtual CipherAlgorithmType CipherAlgorithm { get; }
+ public virtual int CipherStrength { get; }
+ public virtual HashAlgorithmType HashAlgorithm { get; }
+ public virtual int HashStrength { get; }
+ public override bool IsAuthenticated { get; }
+ public override bool IsEncrypted { get; }
+ public override bool IsMutuallyAuthenticated { get; }
+ public override bool IsServer { get; }
+ public override bool IsSigned { get; }
+ public virtual ExchangeAlgorithmType KeyExchangeAlgorithm { get; }
+ public virtual int KeyExchangeStrength { get; }
+ public override long Length { get; }
+ public virtual X509Certificate LocalCertificate { get; }
+ public override long Position { get; set; }
+ public override int ReadTimeout { get; set; }
+ public virtual X509Certificate RemoteCertificate { get; }
+ public virtual SslProtocols SslProtocol { get; }
+ public TransportContext TransportContext { get; }
+ public override int WriteTimeout { get; set; }
+ public virtual Task AuthenticateAsClientAsync(string targetHost);
+ public virtual Task AuthenticateAsClientAsync(string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
+ public virtual Task AuthenticateAsServerAsync(X509Certificate serverCertificate);
+ public virtual Task AuthenticateAsServerAsync(X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
+ public override void Flush();
+ public override int Read(byte[] buffer, int offset, int count);
+ public override long Seek(long offset, SeekOrigin origin);
+ public override void SetLength(long value);
+ public void Write(byte[] buffer);
+ public override void Write(byte[] buffer, int offset, int count);
+ }
+}
```