首页 > 解决方案 > 加密提供者为空

问题描述

我们在使用 Winnovative 的 HtmlToPdfConverter 生成 PDF 时看到此错误:

System.Exception
Message: The crypto provider is null
wnvinternal.ᤐ.ᢀ(String A_0):348
wnvinternal.ᤑ.ᜒ(String A_0):165
wnvinternal.ᤑ.ᜀ(String A_0):165
Winnovative.HtmlToPdfConverter.ᜀ(String A_0, String A_1, String A_2, String A_3, Boolean A_4):1489
Winnovative.HtmlToPdfConverter.ᜀ(Stream A_0, String A_1, String A_2, String A_3, String A_4, Boolean A_5)
Winnovative.HtmlToPdfConverter.ᜁ(String A_0, String A_1, String A_2, String A_3, Boolean A_4):62
Winnovative.HtmlToPdfConverter.ConvertHtml(String htmlString, String baseUrl, String internalLinksBaseUrl)
Winnovative.HtmlToPdfConverter.ConvertHtml(String htmlString, String baseUrl)

我能做些什么来解决这个问题?

背景

我们有两个“生产” URL:一个是https://ourdomain.com,另一个是https://api.ourdomain.com。这些是由两个单独的 VM 提供服务的 IIS 站点。相同的代码被部署到每个几乎相同的配置中。

站点之间存在一些差异。API 在防火墙上设置了 IP 许可名单。API 有 16GB 的内存,而非 API 有 32GB。

用户浏览到返回 PDF 文件的 URL。在非 API 站点上,它按预期工作:PDF 可供下载。在 API 站点上,PDF 无法下载 - 相反,我们看到了这个错误。

我使用了 Nartac 配置工具来确保两台服务器之间的协议和密码套件是相同的。

标签: winnovative

解决方案


我们纯属运气发现了这个问题。我们系统的一个单独部分也抛出了异常,但这些异常更加明确,并提到了服务器的 FIPS 设置。在相关服务器上禁用 FIPS并重新启动以使新设置生效后,PDF 再次开始工作。


推荐阅读