为什么 .Net API 不提供对服务证书存储的访问权限?

问题描述

我正在开发一个 .Net Core 服务,该服务需要创建证书并将它们保存在证书存储中,以便客户可以使用 mmc.exe 轻松找到它们。我们最初将它们保存在 LocalMachine 商店中,但我们的一位同事告诉我们有关服务商店的信息,这会更有意义。 因此,当我们的服务在 NetworkService 帐户下运行时,我正在尝试更改我们的代码以在服务存储中创建我们的证书。经过几个小时的研究,我看到访问服务存储的唯一解决方案是 P/Invoke CryptoApi。

我希望在作为 NetworkService 运行时在 X509Store(StoreName.My,StoreLocation.CurrentUser) 中创建证书会使这些证书出现在 MMC.exe - 服务帐户 - NetworkService 管理单元中,但显然没有。

为什么 .Net X509Certificates 程序集不像 LocalMachine 和 CurrentUser 那样提供对服务存储的访问?

有没有办法在不使用 P/Invoke 的情况下访问这个服务存储?

或者,也许我完全不在乎,我根本不应该这样做?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)