如何在 IIS 中为 OpenIddict 设置和检索加密和签名证书?

How do you setup and retrieve encryption and signing certificates in IIS for OpenIddict?

我是 OpenIddict 和一般授权的新手。我在存储和检索将由 OpenIddict 使用的加密和签名证书时遇到问题。我将把它作为生产就绪的应用程序部署到 IIS。

我想知道如何将证书存储在 IIS 中,然后在我的应用程序启动时检索它们? 下面是我需要在Startup.ConfigureServices中使用的两个方法:

options.AddEncryptionCertificate();
options.AddSigningCertificate();

我使用 this code 手动创建了这两个证书,然后将它们写入 .pfx 文件。

然后我使用证书导入向导将证书导入我的 运行 IIS 主机。但是现在我对调用 options.Add_Certificate() 时如何从 IIS 存储中检索这些证书感到困惑。现在我可以直接从项目文件夹中检索证书,但是将证书放在文件夹中似乎很不安全。

谢谢

您可以使用此代码获取证书列表。

X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);

store.Open(OpenFlags.ReadOnly);

foreach (X509Certificate2 certificate in store.Certificates){
  //TODO's
 }

然后您可以在foreach.

中添加证书