在身份服务器示例中,我们在Startup.cs
var certFile = env.ApplicationBasePath + "\\idsrv3test.pfx";
var signingCertificate = new X509Certificate2(certFile, "idsrv3test");
我如何在生产场景中替换它?
答案 0 :(得分:16)
为了记录,RuSs发布的图片中提出的代码:
<select id="listSelector">
<option value="books">Books</option>
<option value="countries">Countries</option>
<option value="states">States</option>
<option value="presidents">Presidents</option>
</select>
答案 1 :(得分:11)
获得专用证书 - 通过PKI或自行生成证书:
http://brockallen.com/2015/06/01/makecert-and-creating-ssl-or-signing-certificates/
将密钥对导入Windows证书存储区,并在运行时从那里加载。
为了提高安全性,有些人将密钥部署到专用设备(称为HSM)或专用计算机(例如防火墙后面)。 ITokenSigningService
允许将实际令牌签名移动到该单独的计算机。
答案 2 :(得分:5)
以下是我在配置中从指纹加载它的方法: Click here to see image
答案 3 :(得分:5)
最近我决定改进我的令牌签名发布流程。如果您正在运行Windows 10,则可以使用名为 New-SelfSignedCertificate 的awesome powershell cmdlet。
以下是我的示例用法:
New-SelfSignedCertificate -Type Custom
-Subject "CN=TokenSigningForIdServer"
-TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3")
-KeyUsage DigitalSignature
-KeyAlgorithm RSA
-KeyLength 2048
-CertStoreLocation "Cert:\LocalMachine\My"
确保以管理员身份运行该命令。您可以通过打开 certlm.msc 来获取证书详细信息。它应存储在Personal \ Certificates下面。
除了-TextExtention之外,大多数标志应该是显而易见的。它指定Enhaced Key Usage字段设置为&#34; Code Signing&#34;值。您可以通过参考以下documentation页面来使用所使用的算法,密钥长度,甚至添加范围。