获取服务端https证书
最近开发一个需求,涉及获取服务端https证书。一般进行https调用我们都不太关心底层细节,直接使用WebClient或者HttpWebRequest来发送请求,这两种方法都无法获取证书信息,需要用到ServicePoint,这个类用于提供HTTP连接的管理。
写个Demo,拿新浪首页试一下:
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获取ServicePointvar 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);}} }
运行看效果:
上半部分是程序运行结果,下面是用Firefox查看的服务端证书信息,各项信息都能对应上。如果程序中涉及多个不同服务器的访问也没关系,关键在于根据Uri获取ServicePoint,然后取到的证书就是此服务器的了。
获取服务端https证书相关推荐
- [react] 怎样使用Hooks获取服务端数据?
[react] 怎样使用Hooks获取服务端数据? import React, { useState, useEffect } from 'react'; import axios from 'axi ...
- AJAX学习笔记(基本使用,请求参数传递,获取服务端响应,错误处理,低版本IE浏览器缓存问题及解决)
1. Ajax实现步骤 创建ajax对象 let xhr = new XMLHttpRequest(); 告诉ajax请求地址及请求方式 xhr.open('get','http://www.exam ...
- asp.net获取服务端和客户端信息
为什么80%的码农都做不了架构师?>>> asp.net获取服务端和客户端信息 获取服务器名:Page.Server.ManchineName 获取用户信息:Page.User ...
- 魔方APP项目-01-移动端开发相关概念、移动端自适配、元信息(meta)、开发准备、移动端项目搭建(模拟器调试)、APICloud(APICloud 前端框架,获取服务端API接口)
一.移动端开发相关概念 1.APP类型 ①.Native APP Native APP又称原生APP,就是我们平时说的手机应用软件. 原生APP 是针对IOS.Android.Windows等不同的手 ...
- 移动端HTTPS证书校验过程是怎样的
写了几篇关于HTTPS证书的文章之后,让我对HTTPS证书的内容以及证书的申请下载等问题,有了一定的了解.今天在这篇里咱再了解一下关于移动端HTTPS证书校验的相关问题,HTTPS证书购买和HTTPS ...
- easyconnect获取服务端配置信息失败_图文解析 Nacos 配置中心的实现
本文不会贴太多源码,基本靠图片和文字叙述 全文共 2582 字,预计阅读时间 12 分钟 什么是 Nacos 配置中心的架构 Nacos 使用示例 官方代码示例 Properties 解读 配置项的层 ...
- easy connect 获取服务端配置信息失败_安装配置mysql
qq: 512714507 pip install mysql-connector-python pip install mysql https://jingyan.baidu.com/article ...
- easy connect 获取服务端配置信息失败_如何统计 Mysql 服务器状态信息?
最近在看<高性能的 Mysql>一书,下面是关于如何学习统计 Mysql 服务器状态的学习总结,主要是学习使用 SHOW STATUS,SHOW ENGINE INNODB STATUS, ...
- 如何获取网站的HTTPS证书?
如果你的网站需要收集敏感信息(包括电子邮件和密码等),那么就需要保证网站的安全.最好的方法之一是启用HTTPS,以便自动加密进出服务器的任何信息,防止黑客窃取和篡改访客的信息. HTTPS超文本传输协 ...
最新文章
- excel设置单元格为文本
- EDM HTML编写建议和规范
- RuntimeError: The full_object_detection must use the iBUG 300W 68 point face landmark style.
- SVN本地代码未提交而被覆盖
- csv格式清洗与转换python123,Python Pandas 清理错误格式数据
- JSON 数据格式(基础知识)
- Java虚拟机(六)——虚拟机栈
- 通过表达式树构建URL时正确识别ActionNameAttribute
- i.MX应用处理器-iMX8系列产品介绍
- 微软官网win10系统下载地址
- spring cloud - 概述
- 效果图是怎么做出来的?
- 鸿蒙大陆罪恶深渊哪里出,库库马力
- 磁盘清理软件:BlueHarvest for Mac
- 使用Adobe Acrobat编辑PDF,实现文件签名
- 关于学校邮箱收不到matlab验证短信
- K8s学习之yum安装
- LZY踢石头(优先队列)
- linux磁盘分区方法 重新分区方法 新建分区方法
- 在命令行cmd中运行带相对路径的py脚本时, 找不到路径的解决方案