Raspberry pi 2(IoT) httpclient错误:证书颁发机构无效或不正确c#
本文关键字:机构 无效 不正确 证书 pi IoT 错误 httpclient Raspberry | 更新日期: 2023-09-27 18:06:40
我正试图使我的树莓派在windows IoT上运行,从我在内部服务器上的web服务获取信息。为了实现这个目标,我在visual studio社区2015中使用了UWP。
背景:我有一个存储信息的sql数据库,它是由一个使用APIController将信息打包并发送出去。在我的UWP中,我使用system.net HttpClient获取信息
问题:使用这段代码:
// httpClientHandler sends in my user arguments since the server is passwordprotected
using (var client = new HttpClient(httpClientHandler))
{
client.BaseAddress = new Uri("https://my.servers.dns");
var task = client.GetAsync("/pathTo/api/packet");
HttpResponseMessage response = task.Result;
var task2 = response.Content.ReadAsAsync<PacketInformation[]>();
data = task2.Result;
}
当我在连接到域的笔记本电脑上编译并运行我的程序时,它工作正常
当我在未连接到域的IOT上编译和运行我的程序时,我使用
将ip添加到hosts文件中add-content C:'Windows'System32'drivers'etc'hosts "192.168.abc.def internal.server.DNSName"
它发送一个证书错误,代码返回"证书颁发机构无效或不正确"
有人知道为什么会这样吗?它应该始终发送相同的信息
您需要将内部CA证书添加到树莓派的受信任根证书颁发机构存储中。(域名加入的电脑会自动为你做这个)。
- 从服务器下载证书颁发机构证书(可位于C:'windows'system32'certserv'certenroll'MyInternalCA.cer)到树莓派。
- SSH到树莓派,将证书导入受信任的根证书存储库,然后重新启动树莓派。下面是一个示例:certmgr.exe -add MyInternalCA。cer -s -r localMachine root
现在您的树莓派将信任内部CA使用TLS与网站通信。