SslStream.RemoteCertificate Property

 

Gets the certificate used to authenticate the remote endpoint.

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

public virtual X509Certificate RemoteCertificate { 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("Certificate revocation list checked: {0}", stream.CheckCertRevocationStatus);

    X509Certificate localCertificate = stream.LocalCertificate;
    if (stream.LocalCertificate != null)
    {
        Console.WriteLine("Local cert was issued to {0} and is valid from {1} until {2}.",
            localCertificate.Subject,
            localCertificate.GetEffectiveDateString(),
            localCertificate.GetExpirationDateString());
     } else
    {
        Console.WriteLine("Local certificate is null.");
    }
    // Display the properties of the client's certificate.
    X509Certificate remoteCertificate = stream.RemoteCertificate;
    if (stream.RemoteCertificate != null)
    {
    Console.WriteLine("Remote cert was issued to {0} and is valid from {1} until {2}.",
        remoteCertificate.Subject,
        remoteCertificate.GetEffectiveDateString(),
        remoteCertificate.GetExpirationDateString());
    } else
    {
        Console.WriteLine("Remote certificate is null.");
    }
}

.NET Framework
Available since 2.0
Return to top
Show: