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. ...
随机推荐
- ES安装手册
http://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration.htmlhttps://githu ...
- 常用spaceclaim脚本(二)
#创建一个草图 #第一个参数传入一个Frame对象 #通过一个点和两个向量创建Frame #Frame的类成员函数Create被重载 #重载函数1:Frame.Create(Point, Direct ...
- ICEM-轴
https://yunpan.cn/cuy98EwwXvYkb 访问密码 0897
- 深入浅出一致性Hash原理
转自:https://www.jianshu.com/p/e968c081f563 一.前言 在解决分布式系统中负载均衡的问题时候可以使用Hash算法让固定的一部分请求落到同一台服务器上,这样每台服务 ...
- listbox demo
功能 添加.删除.修改选中的项.上移.下移.清空.保存列表.加载列表.判断内容是否重复.查找.模糊查找.取消选择.上一条.下一条.第一条.最后一条 下载地址:https://download.csdn ...
- Linux远程传输文件免密码
首先为什么Linux远程传输要免密码?手动使用scp命令传输每次都要输密码太过麻烦了. 开发中有一句话,能复制粘贴尽量不要手打. 运维中有一句话,能脚本化实现尽量不要手动执行. 远程传输文件免密码的目 ...
- ubuntu之路——day8.3 RMSprop
RMSprop: 全称为root mean square prop,提及这个算法就不得不提及上篇博文中的momentum算法 首先来看看momentum动量梯度下降法的过程: 在RMSprop中: C ...
- Vue axios post 传参数,后台接收不到为 null
由于axios默认发送数据时,数据格式是Request Payload,而并非我们常用的Form Data格式,后端未必能正常获取到,所以在发送之前,需要使用qs模块对其进行处理. cnmp inst ...
- TCP为什么会出现 RST
就目前遇到的情况而言,都是负载设备,或健康检查设备发送的. 为什么会出现 RST 因为具有周期性,我大概猜到了,是 lvs 对我的后端服务的健康检查导致的,联系了网络运营服务客服人员,我把.pcap给 ...
- 教你玩转Linux—用户账号的管理
用户账号的管理工作主要涉及到用户账号的添加.修改和删除.添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号.用户组.主目录和登录Shell等资源.刚添加的账号是被锁定的,无法使用. 1.添 ...