C# IdentityServer4:PFX生产使用证书?

C# IdentityServer4:PFX生产使用证书?,c#,oauth-2.0,identityserver4,openid-connect,C#,Oauth 2.0,Identityserver4,Openid Connect,在示例代码中,有一个名为“idsrv3test.PFX”的PFX证书文件 如何为生产使用配置PFX证书?我可以使用自动签名PFX吗?参考: 正如我在上一篇文章中提到的,可以使用makecert和pvk2pfx命令行工具(应该在visualstudio开发人员命令提示符中的路径上)创建自签名证书来测试这一点 makecert-n“CN=AuthSample”-a sha256-sv IdentityServer4Auth.pvk-r IdentityServer4Auth.cer 这将创建一

在示例代码中,有一个名为“idsrv3test.PFX”的PFX证书文件

如何为生产使用配置PFX证书?我可以使用自动签名PFX吗?

参考:

正如我在上一篇文章中提到的,可以使用makecert和pvk2pfx命令行工具(应该在visualstudio开发人员命令提示符中的路径上)创建自签名证书来测试这一点

  • makecert-n“CN=AuthSample”-a sha256-sv IdentityServer4Auth.pvk-r IdentityServer4Auth.cer
    • 这将创建一个新的自签名测试证书,其公钥位于IdentityServer4Auth.cer中,私钥位于IdentityServer4Auth.pvk中

  • pvk2pfx-pvk IdentityServer4Auth.pvk-spc IdentityServer4Auth.cer-pfx IdentityServer4Auth.pfx
    • 这将把pvk和cer文件合并成一个单独的pfx文件,其中包含证书的公钥和私钥。我们的应用程序将使用来自pfx的私钥签署代币。请确保保护此文件。为了进行签名验证,可以与其他服务共享.cer文件

从安全角度来看,请特别注意:

请注意,您不应在生产环境中从应用程序路径加载证书;还有其他
AddSigningCredential
重载可用于从计算机的证书存储加载证书

在生产环境中,您应该使用CertMgr.msc(或同等平台)在本地计算机的证书存储(而不是任何特定用户的证书存储)中存储带有私钥的证书。使用CertMgr.msc导入证书时,请确保勾选“将此证书标记为可导出”,否则您的服务将无法访问私钥来签署数据。这与为IIS消费安装SSL/TLS证书类似