【发布时间】:2023-04-02 15:19:02
【问题描述】:
我想在资源文件 (Resources.resx) 中包含 CA 证书,并且一旦作为字节流读取,就会提供给 X509Certificate 构造函数类。 CA 证书为 .der 格式。我已将 .der 文件添加到项目的 Resources 文件夹中。如何在另一个类中访问它并将其传递给 X509Certificate 构造函数?
我正在关注此链接底部给出的 c# 代码 [http://www.embedded101.com/Blogs/PaoloPatierno/entryid/366/mqtt-over-ssl-tls-with-the-m2mqtt-library-and-the-mosquitto-broker]
更新:这是我在客户端做的方式。
client = new MqttClient(ddlServerIP.Text, MqttSettings.MQTT_BROKER_DEFAULT_SSL_PORT, true, new X509Certificate(Properties.Resources.ca)
, new X509Certificate(Properties.Resources.client2), MqttSslProtocols.TLSv1_2);
String clientId= Guid.NewGuid().ToString();
byte code = client.Connect(clientId);
但是在服务器端我得到一个错误:
OpenSSL 错误:错误:140890C7:SSL 例程:SSL3_GET_CLIENT_CERTIFICATE:对等体未返回证书
【问题讨论】:
-
页面上有一个使用另一个类的证书的例子——你具体有什么问题
-
我无法通过这种方式访问m2mqtt_ca.der证书---> new X509Certificate(Resources.m2mqtt_ca))
-
@Oliver:等等,什么?这个问题与PDF文件无关。您是否不小心选择了错误的欺骗目标?
-
你终于找到解决方案了吗?
-
没有。我无法修复它。认为问题出在 MQTT C# 客户端。因为当我对 Python 客户端使用相同的证书时,它可以工作
标签: c# x509certificate resx ca