SslStream::RemoteCertificate Property

 

Gets the certificate used to authenticate the remote endpoint.

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

public:
property X509Certificate^ RemoteCertificate {
	virtual X509Certificate^ get();
}

Property Value

Type: System.Security.Cryptography.X509Certificates::X509Certificate^

An X509Certificate object that represents the certificate supplied for authentication or null if no certificate was supplied.

Exception Condition
InvalidOperationException

Authentication failed or has not occurred.

The following code example demonstrates displaying the certificate returned by this property.

   static void DisplayCertificateInformation( SslStream^ stream )
   {
      Console::WriteLine( L"Certificate revocation list checked: {0}", stream->CheckCertRevocationStatus );
      X509Certificate^ localCertificate = stream->LocalCertificate;
      if ( stream->LocalCertificate != nullptr )
      {
         Console::WriteLine( L"Local cert was issued to {0} and is valid from {1} until {2}.", 
             localCertificate->Subject, 
             localCertificate->GetEffectiveDateString(), 
             localCertificate->GetExpirationDateString() );
      }
      else
      {
         Console::WriteLine( L"Local certificate is null." );
      }

      X509Certificate^ remoteCertificate = stream->RemoteCertificate;
      if ( stream->RemoteCertificate != nullptr )
      {
         Console::WriteLine( L"Remote cert was issued to {0} and is valid from {1} until {2}.", 
            remoteCertificate->Subject, 
            remoteCertificate->GetEffectiveDateString(), 
            remoteCertificate->GetExpirationDateString() );
      }
      else
      {
         Console::WriteLine( L"Remote certificate is null." );
      }
   }


private:

.NET Framework
Available since 2.0
Return to top
Show: