1

我开发了 ac# (.NET 4.0) 应用程序,它使用 SecureBlackbox 库对 PDF 文档进行签名。对于我的签名,签名过程使用了一些来自Trusted Root Certification AuthoritiesIntermediate Certification Authorities的已安装用户证书。当我以用户身份打开我的测试应用程序时,签名有效,但是当我在 IIS 上的 WCF 服务中实现此模块时(对我的应用程序池使用LocalSystem标识)它不起作用,因为它找不到这些证书。

请注意,我已经在计算机帐户 -> 本地计算机管理单元中使用 mmc.exe 额外安装了这些证书,但这并不能解决问题。我也尝试将它们添加到服务帐户 -> 本地计算机 -> 万维网发布服务(那是 IIS,对吗?),但没有成功......

任何人都可以建议其他尝试吗?我完全不确定 IIS 将什么用作帐户,或者即使它可以通过其他方式访问我的证书,请帮忙。

4

2 回答 2

1

确保证书具有本地系统的读取权限(如果这是您的 iis 进程设置为运行的内容)。

于 2012-12-26T11:36:32.593 回答
0

我发现正确的是,当您使用具有标识 LocalSystem 的 ApplicationPool 时,可以在添加管理单元时使用 mmc.exe 管理属于该系统的证书:计算机帐户 -> 本地计算机。实际问题是我在使用 SBB 库从系统存储中获取证书时编码错误。我已经解决了这个问题,因此我已经解决了这个问题。

于 2012-12-27T09:39:25.683 回答