NegotiateStream Constructor (Stream)

Initializes a new instance of the NegotiateStream class using the specified Stream.

Namespace:  System.Net.Security
Assembly:  System (in System.dll)

public NegotiateStream(
	Stream innerStream
)

Parameters

innerStream
Type: System.IO.Stream

A Stream object used by the NegotiateStream for sending and receiving data.

The following code example demonstrates calling this constructor.

 // Establish the remote endpoint for the socket. 
 // For this example, use the local machine.
 IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
 IPAddress ipAddress = ipHostInfo.AddressList[0];
 // Client and server use port 11000. 
 IPEndPoint remoteEP = new IPEndPoint(ipAddress,11000);
 // Create a TCP/IP socket.
TcpClient client = new TcpClient();
 // Connect the socket to the remote endpoint.
 client.Connect(remoteEP);
 Console.WriteLine("Client connected to {0}.",
     remoteEP.ToString());
 // Ensure the client does not close when there is  
 // still data to be sent to the server.
 client.LingerState = (new LingerOption(true,0));
 // Request authentication.
 NetworkStream clientStream = client.GetStream();
 NegotiateStream authStream = new NegotiateStream(clientStream); 
 // Request authentication for the client only (no mutual authentication). 
 // Authenicate using the client's default credetials. 
 // Permit the server to impersonate the client to access resources on the server only. 
 // Request that data be transmitted using encryption and data signing.
 authStream.AuthenticateAsClient(
      (NetworkCredential) CredentialCache.DefaultCredentials, 
      "",
      ProtectionLevel.EncryptAndSign,
      TokenImpersonationLevel.Impersonation);

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft