我有两个API项目,一个基于.NET Framework 4.6.2(旧API),另一个基于.NET Core 2.0。旧API可以很简单地禁用自签名证书验证:
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
然而,这段代码在.NET Core中无法工作(尽管它可以编译),并且在API尝试通信时引起了问题(特别是当它尝试从标识服务器获取发现文档时,在此环境中,标识服务器位于反向代理后面,反向代理使用自签名证书进行https)。我在StackOverflow上看到了类似的问题,但所有答案都与如何创建HttpClient有关。对我来说问题在于我无法控制HttpClient的创建方式(令牌验证是中间件,我看不到任何控制它如何创建HttpClient的方式),所以我想知道在.NET Core中是否有一种全局方法来跳过自签名证书验证?
编辑:我的问题似乎与此问题密切相关,然而我已将自签名证书加载到容器(运行API的位置)和我的本地机器(运行容器的位置)的受信任根目录中,但我仍然收到证书验证错误。
¯\_(ツ)_/¯
了。 - riqitang