Читати англійською Редагувати

Поділитися через


SslStream.RemoteCertificate Property

Definition

Gets the certificate used to authenticate the remote endpoint.

C#
public virtual System.Security.Cryptography.X509Certificates.X509Certificate? RemoteCertificate { get; }
C#
public virtual System.Security.Cryptography.X509Certificates.X509Certificate RemoteCertificate { 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.

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

Remarks

If the property is accessed, the remote certificate will not be disposed when the SslStream instance is disposed. The caller of the property is responsible for disposing the returned X509Certificate object.

Applies to

Продукт Версії
.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, 10
.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