上面是用Firefox查看的服务端证书音信

今日开采三个急需,涉及拿到服务端https证书。日常实行https调用大家都不太关爱底层细节,直接运用WebClient恐怕HttpWebRequest来发送央浼,那三种艺术都无助获得证书消息,要求用到瑟维斯Point,这一个类用于提供HTTP连接的管住。

 

写个德姆o,拿今日头条首页试一下:

using System;
using System.Net;
using System.Security.Cryptography.X509Certificates;

namespace GetServerCertificateDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            //用WebClient访问新浪首页
            var http = new WebClient();
            var uri = new Uri("https://www.sina.com.cn");
            http.DownloadString(uri);

            //通过Uri获取ServicePoint
            var servicePoint = ServicePointManager.FindServicePoint(uri);

            //取服务端证书,X509Certificate格式,转一下
            var serverCert = new X509Certificate2(servicePoint.Certificate);
            Console.WriteLine("颁发给:{0}", serverCert.Subject);
            Console.WriteLine("颁发者:{0}", serverCert.Issuer);
            Console.WriteLine("序列号:{0}", serverCert.SerialNumber);
            Console.WriteLine("指  纹:{0}", serverCert.Thumbprint);
            Console.WriteLine("起  始:{0}", serverCert.NotBefore);
            Console.WriteLine("过  期:{0}", serverCert.NotAfter);
        }
    }
}

 

运作看效果:

图片 1

上半局地是程序运维结果,上边是用Firefox查看的服务端证书音讯,每一种信息都能对应上。倘若程序中涉及三个不等服务器的拜谒也没提到,关键在于依据Uri获取ServicePoint,然后取到的证件正是此服务器的了。

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website