如何在 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
.
中添加证书
我是 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
.