在示例代码中,有一个名为“ idsrv3test.pfx”的PFX证书文件
如何为生产使用配置PFX证书?我可以使用自签名PFX吗?
答案 0 :(得分:0)
参考:ASP.NET Core Authentication with IdentityServer4
如我之前的文章中所述,可以使用makecert和pvk2pfx命令行工具(应在Visual Studio Developer Command提示符下的路径上)创建用于测试此目的的自签名证书。
uint8
这将创建一个新的自签名测试证书,其公钥位于IdentityServer4Auth.cer中,而其私钥位于IdentityServer4Auth.pvk中。
makecert -n "CN=AuthSample" -a sha256 -sv IdentityServer4Auth.pvk -r IdentityServer4Auth.cer
这会将pvk和cer文件合并为一个包含证书的公钥和私钥的pfx文件。我们的应用程序将使用pfx中的私钥对令牌进行签名。确保保护该文件。可以将.cer文件与其他服务共享,以进行签名验证。
从安全角度出发,请特别注意:
请注意,您不应从生产环境中的应用程序路径加载证书;还有其他
pvk2pfx -pvk IdentityServer4Auth.pvk -spc IdentityServer4Auth.cer -pfx IdentityServer4Auth.pfx
重载可用于从计算机的证书存储区加载证书。
在生产环境中,您应该使用CertMgr.msc(或等效的平台)将带有私钥的证书存储在本地计算机的证书存储区(而不是任何特定用户的证书存储区)中。使用CertMgr.msc导入证书时,请确保选中“将此证书标记为可导出”,否则您的服务将无法使用私钥来签名数据。就像安装SSL / TLS证书以供IIS使用一样。