c# - 如何使用 CA 证书 C# 验证证书链
问题描述
我正在尝试连接到 Mosquitto 经纪人。代理将有一个 ca.crt 和一个 server.crt。我的应用程序只有 ca.crt。
连接后,代理提供 ca.crt 和 server.crt(证书链)。如何根据我已经拥有的 ca.crt 验证两者?ca.crt 和客户端上的那个是一样的。
解决方案
使用X509Chain
该类并将ca.crt
, 加载为X509Certificate2
, 放到ExtraStore
财产的ChainPolicy
财产。
var caCert = new X509Certificate2(".\\ca.crt");
var serverCert = new X509Certificate2(".\\server.crt");
X509Chain ch = new X509Chain();
ch.ChainPolicy.RevocationMode = X509RevocationMode.Online;
ch.ChainPolicy.ExtraStore = new X509Certificate2Collection(caCert);
ch.Build (serverCert);
推荐阅读
- mongodb - 如何将大型json文件导入mongodb?
- javascript - 如何删除 getbutton.io 品牌
- json - 尝试使用 JSON 从 API 返回值
- r - 通过单个变量对多个变量的数据进行分组
- javascript - 使螺旋线通过任意点的最简单方法?
- maven - 如何在 cmd 窗口中显示 Maven 构建进度
- excel - 是否有 EXCEL 函数可以选择某条线下方的最近点?
- python - 为什么将浮点数乘法的结果转换为整数会失败?
- javascript - 如何更改 window.onscroll 事件中的全局变量?
- assembly - x86(x87) 浮点运算操作数(理论)