c# .net 查找并安装CA根证书
https CA根证书
用的是证书指纹来查找。
在用 collection.Find 之前 ,X509Store 一定要打开(Open),否则找到的数量(X509Certificate2Collection)为0.
--
X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);//获取本地计算机受信任的根证书的储存区
store.Open(OpenFlags.MaxAllowed); //查找证书前,一定要打开 X509Certificate2Collection collection = store.Certificates;//获取储存区上的所有证书
//DigiCert Global Root CA,Thumbprint: A8985D3A65E5E5C4B2D7D66D40C6DD2FB19C5436
string Thumbprint = "A8985D3A65E5E5C4B2D7D66D40C6DD2FB19C5436";
//按指纹查找,系统是否内置了这个根证书
X509Certificate2Collection fcollection = collection.Find(X509FindType.FindByThumbprint, Thumbprint, false); try
{
if (fcollection != null)
{
if (fcollection.Count > )
{
DialogResult dr = MessageBox.Show("查找数量:" + fcollection.Count.ToString() + " ,是否删除?", "", MessageBoxButtons.YesNo);
if (dr == DialogResult.Yes)
{
store.RemoveRange(fcollection);
return;
}
}
else
{
MessageBox.Show("查找数量:" + fcollection.Count.ToString());
}
} if (fcollection != null && fcollection.Count == )
{
// MessageBox.Show("没有 DigiCert Global Root CA");
DialogResult dr = MessageBox.Show("没有 'DigiCert Global Root CA' ,是否导入?", "", MessageBoxButtons.YesNo);
if (dr == DialogResult.No)
return; string crtFullName = Path.Combine(Application.StartupPath, "DigiCertGlobalRootCA.crt");
if (File.Exists(crtFullName))
{
X509Certificate2 x509 = new X509Certificate2(crtFullName);
//安装证书,证书(本地计算机)-受信任的根证书的储存区
store.Add(x509);
} }
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
store.Close(); //finally关闭
}
--
c# .net 查找并安装CA根证书的更多相关文章
- 使用OpenSsl自己CA根证书,二级根证书和颁发证书(亲测步骤)
---恢复内容开始--- 一.介绍 企业自用, 到证书机构签发证书的费用和时间等都可以省下..... SSl证书的背景功用.......(省略万字,不废话) 可以参考: SSL证书_百度百科 X509 ...
- 手动为Android 4.x 手机加入�自己的根证书(CA 证书)
首先看Android 4.x 系统的证书存放位置: AOSP Android系统中CA证书文件的位置在:/ system/etc/security/cacerts/一系列的以数字命名的.0文件 方法一 ...
- 苹果系统 MacOS 安装根证书
12306 网上购票以及一些其他内部使用的系统,需要安装.cer扩展名的根证书的情况,windows安装较为简单大家也比较熟悉,使用mac安装根证书在此做下详细介绍. 当前以10.13.5版本为例,其 ...
- nginx配置https双向验证(ca机构证书+自签证书)
nginx配置https双向验证 服务端验证(ca机构证书) 客户端验证(服务器自签证书) 本文用的阿里云签发的免费证书实验,下载nginx安装ssl,文件夹有两个文件 这两个文件用于做服务器http ...
- 关于DNS 和根证书你了解多少?
由于最近发生的一些事件,我们(Privacy Today 组织)感到有必要写一篇关于此事的短文.它适用于所有读者,因此它将保持简单 —— 技术细节可能会在稍后的文章发布. 什么是 DNS,为什么它与你 ...
- 添加自签发的 SSL 证书为受信任的根证书
原文:http://cnzhx.net/blog/self-signed-certificate-as-trusted-root-ca-in-windows/ 添加自签发的 SSL 证书为受信任的根证 ...
- 自建 ca 及使用 ca 颁发证书
创建CA: 一.安装openssl [root@localhost ~]# yum install -y openssl 二.创建CA的相关文件及目录 mkdir /opt/root_ca & ...
- K8S从入门到放弃系列-(2)集群根证书准备
k8s从1.8版本开始,集群中各个组件需要使用TLS证书对通信进行加密,每个k8s集群都需要有独立的CA证书体系,这里我们采用比较常用的CloudFlare 的 PKI 工具集 cfssl 来生成 C ...
- 生成CA免费证书
环境 OpenSSL 1.0.2k FireFox 60.0 64位 Chrome 66.0.3359.181 (正式版本)(32位) Internet Explorer 11.2248.14393. ...
随机推荐
- (尚014)Vue过渡与动画
操作元素时有个过渡或动画的效果(渐变和移动的效果和放大缩小的效果) 过渡:trasition 动画:animation 1.vue动画的理解 1)操作css的trasition或animation(它 ...
- RookeyFrame Bug 表单管理 -> 查看表单 ->编辑字段页面 JS报错
表单管理 -> 查看表单 ->编辑字段页面 小bug onchange里面直接就是方法,修改:去掉外面的function(){},直接把方法体写在onchange里面就可以了. 后台方法: ...
- mysql 函数表
Name Description ABS() Return the absolute value ACOS() Return the arc cosine ADDDATE() Add time val ...
- fft相关的复习
任意长度卷积 CZT 就是一波推导 \[ \begin{aligned} b_i &= \sum_{j=0}^{n-1} \omega^{ij}a_j \\ &= \sum_{j=0} ...
- 20、Task原理剖析与源码分析
一.Task原理 1.图解 二.源码分析 1. ###org.apache.spark.executor/Executor.scala /** * 从TaskRunner开始,来看Task的运行的工作 ...
- 【一起来烧脑】读懂HTTP知识体系
背景 读懂HTTP很重要,参加过面试的小伙伴都很清楚,无论是技术面试面试题出得怎样,都有机会让你讲解一下HTTP,大部分都会问一下. 面试官:考考你网络协议的知识,TCP协议和UDP协议的区别,HTT ...
- [golang][译]使用os/exec执行命令
[golang][译]使用os/exec执行命令 https://colobu.com/2017/06/19/advanced-command-execution-in-Go-with-os-exec ...
- LVM卷
sdb和sdc创建为LVM并且挂载到/benet/ 将sdd扩展到之前的lvm卷 新建2块1G的磁盘和1块2G的磁盘 将分区ID改为8e 创建PV阶段 pvcreate /dev/sdb1 /dev/ ...
- vue+vue-resource设置请求头(带上token)
前言 有这样的一个需求,后台服务器要求把token放在请求头里面 嗯一般是通过data里面通过参数带过去的 第一种方法 全局改变: Vue.http.headers.common['token'] = ...
- GPS 经纬度
经纬度地图: http://www.gpsspg.com/maps.htm http://www.gzhatu.com/dingwei.html 经纬度格式转化 http://www.gzhatu ...