gpt4 book ai didi

c# - IdentityServer4 AddSigningCredentials 与证书

转载 作者:太空宇宙 更新时间:2023-11-03 12:05:36 25 4
gpt4 key购买 nike

我在我的域上安装了一个 SSL 证书,我想用它来使用 IdentityServer 4 进行签名。现在我发现有一种方法可以让我这样做:

services.AddIdentityServer().AddSigningCredentials(certificate);

但是,我不知道如何实际获取我的证书并将其传递给身份服务器。

我尝试了以下方法:

var cert = X509Certificate.CreateFromCertFile(fileName);
services.AddIdentityServer().AddSigningCredentials(certificate);

我得到的错误是它无法从

转换

'System.Security.Cryptography.X509Certificates.X509Certificate' to 'Microsoft.IdentityModel.Tokens.SIgningCredential'

现在我不明白为什么当方法的覆盖之一是证书时它会提示签署凭据。

最佳答案

我最终是这样解决的。我正在使用一个共享服务器来托管它,但我找不到证书的文件名或获取它的路径。所以我最终只是打开商店并以这种方式找到它。效率不高,但在我将其移至专用服务器并获得更多控制权之前,它会起到作用。

X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2 cert = null;

foreach (X509Certificate2 certificate in store.Certificates)
{
if (!string.IsNullOrWhiteSpace(certificate?.SubjectName?.Name) && certificate.SubjectName.Name.StartsWith("CN=*.mysite.com"))
{
cert = certificate;
break;
}
}

关于c# - IdentityServer4 AddSigningCredentials 与证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55212371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com