SslStream.LocalCertificate Property

Definition

Gets the certificate used to authenticate the local endpoint.

public virtual System.Security.Cryptography.X509Certificates.X509Certificate? LocalCertificate { get; }
public virtual System.Security.Cryptography.X509Certificates.X509Certificate LocalCertificate { get; }

Property Value

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

Exceptions

Authentication failed or has not occurred.

Examples

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.");
    }
}

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1