Wcf IIS LocalSystem应用程序池无法访问我的系统证书

Wcf IIS LocalSystem应用程序池无法访问我的系统证书,wcf,iis,certificate,signing,Wcf,Iis,Certificate,Signing,我开发了一个c#(.NET4.0)应用程序,它使用SecureBackbox库对PDF文档进行签名。对于我的签名,签名过程使用来自受信任的根证书颁发机构和中间证书颁发机构的一些已安装用户证书。当我以用户身份打开测试应用程序时,签名工作,但当我在IIS上的WCF服务中实现此模块时(使用我的应用程序池的LocalSystem标识),签名不工作,因为它找不到这些证书 请注意,我在计算机帐户->本地计算机管理单元中使用mmc.exe另外安装了这些证书,但这并不能解决问题。我还尝试将它们添加到服务帐户->

我开发了一个c#(.NET4.0)应用程序,它使用SecureBackbox库对PDF文档进行签名。对于我的签名,签名过程使用来自受信任的根证书颁发机构和中间证书颁发机构的一些已安装用户证书。当我以用户身份打开测试应用程序时,签名工作,但当我在IIS上的WCF服务中实现此模块时(使用我的应用程序池的LocalSystem标识),签名不工作,因为它找不到这些证书

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


有人能推荐别的东西试试吗?我完全不确定IIS正在使用什么作为帐户,或者它是否可以通过其他方式访问我的证书,请帮助。

确保证书具有本地系统的读取权限(如果您的IIS进程设置为运行该权限)

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

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

我发现正确的是,当您将ApplicationPool与identity LocalSystem一起使用时,可以在添加管理单元时使用mmc.exe管理属于系统的证书:Computer account->Local Computer。实际问题是我在使用SBB库从系统存储区获取证书时编码错误。我解决了这个问题,因此我解决了这个问题。

这不是答案。你刚才说是你在取证书时编码错误。“这对任何人都有什么帮助?”AshkanSirous我问的问题是指我一直在努力解决的一个问题。让每个人都知道这是我的错是有帮助的,而不是把它留给模糊的猜测——这不是答案。你刚才说是你在取证书时编码错误。“这对任何人都有什么帮助?”AshkanSirous我问的问题是指我一直在努力解决的一个问题。让每个人都知道这是我的错是有帮助的,而不是把它留给模糊的猜测