Skip to main content
.NET Framework Class Library
WebResponse..::.IsMutuallyAuthenticated Property

Gets a Boolean value that indicates whether mutual authentication occurred.

Namespace: System.Net
Assembly: System (in System.dll)
Syntax
Public Overridable ReadOnly Property IsMutuallyAuthenticated As Boolean
public virtual bool IsMutuallyAuthenticated { get; }
public:
virtual property bool IsMutuallyAuthenticated {
	bool get ();
}
abstract IsMutuallyAuthenticated : bool
override IsMutuallyAuthenticated : bool

Property Value

Type: System..::.Boolean
true if both client and server were authenticated; otherwise, false.
Remarks

To request mutual authentication, set the WebRequest..::.AuthenticationLevel property using the MutualAuthRequested or MutualAuthRequired enumeration value. The default value for the WebRequest..::.AuthenticationLevel property contains Delegation and MutualAuthRequested.

Examples

The following code example checks the value of this property.



' The following example uses the System, System.Net, 
' and System.IO namespaces.

Public Shared Sub RequestMutualAuth(ByVal resource As Uri)
    ' Create a new HttpWebRequest object for the specified resource.
    Dim request As WebRequest = CType(WebRequest.Create(resource), WebRequest)
    ' Request mutual authentication.
    request.AuthenticationLevel = AuthenticationLevel.MutualAuthRequested
    ' Supply client credentials.
    request.Credentials = CredentialCache.DefaultCredentials
    Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
    ' Determine whether mutual authentication was used.
    Console.WriteLine("Is mutually authenticated? {0}", response.IsMutuallyAuthenticated)
    ' Read and display the response.
    Dim streamResponse As Stream = response.GetResponseStream()
    Dim streamRead As New StreamReader(streamResponse)
    Dim responseString As String = streamRead.ReadToEnd()
    Console.WriteLine(responseString)
    ' Close the stream objects.
    streamResponse.Close()
    streamRead.Close()
    ' Release the HttpWebResponse.
    response.Close()
End Sub



// The following example uses the System, System.Net, 
// and System.IO namespaces.

public static void RequestMutualAuth(Uri resource)
{
    // Create a new HttpWebRequest object for the specified resource.
    WebRequest request=(WebRequest) WebRequest.Create(resource);
    // Request mutual authentication.
   request.AuthenticationLevel = AuthenticationLevel.MutualAuthRequested;
    // Supply client credentials.
    request.Credentials = CredentialCache.DefaultCredentials;
    HttpWebResponse response = (HttpWebResponse) request.GetResponse();
    // Determine whether mutual authentication was used.
    Console.WriteLine("Is mutually authenticated? {0}", response.IsMutuallyAuthenticated);
    // Read and display the response.
    Stream streamResponse = response.GetResponseStream();
    StreamReader streamRead = new StreamReader(streamResponse);
    string responseString = streamRead.ReadToEnd();
   Console.WriteLine(responseString);
    // Close the stream objects.
    streamResponse.Close();
    streamRead.Close();
    // Release the HttpWebResponse.
    response.Close();
}


// The following example uses the System, System.Net, 
// and System.IO namespaces.
static void RequestMutualAuth( Uri^ resource )
{
   // Create a new HttpWebRequest object for the specified resource.
   WebRequest^ request = dynamic_cast<WebRequest^>(WebRequest::Create( resource ));

   // Request mutual authentication.
   request->AuthenticationLevel = AuthenticationLevel::MutualAuthRequested;

   // Supply client credentials.
   request->Credentials = CredentialCache::DefaultCredentials;
   HttpWebResponse^ response = dynamic_cast<HttpWebResponse^>(request->GetResponse());

   // Determine whether mutual authentication was used.
   Console::WriteLine( L"Is mutually authenticated? {0}", response->IsMutuallyAuthenticated );

   // Read and display the response.
   Stream^ streamResponse = response->GetResponseStream();
   StreamReader^ streamRead = gcnew StreamReader( streamResponse );
   String^ responseString = streamRead->ReadToEnd();
   Console::WriteLine( responseString );

   // Close the stream objects.
   streamResponse->Close();
   streamRead->Close();

   // Release the HttpWebResponse.
   response->Close();
}

Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.