首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >x509Certificate2返回null - ssl证书

x509Certificate2返回null - ssl证书
EN

Stack Overflow用户
提问于 2019-06-17 22:58:40
回答 1查看 219关注 0票数 0

我已经安装了SSL证书,但是当我通过扩展使用certCollection.Find时,它返回null。

代码语言:javascript
复制
private X509Certificate2 GetCertificateFromStore()
    {

        X509Certificate2 x509Certificate2;

        var aspNetCoreEnvironment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
        if (string.Equals(aspNetCoreEnvironment, "Development", StringComparison.OrdinalIgnoreCase))
        {
            const string aspNetHttpsOid = "1.3.1.1.3.1.1.84.1.1";
            const string cnName = "CN=localhost";
            using (var store = new X509Store(StoreName.My, StoreLocation.LocalMachine))
            {
                store.Open(OpenFlags.ReadOnly);
                var certCollection = store.Certificates;
                var currentCerts = certCollection.Find(X509FindType.FindByExtension, aspNetHttpsOid, true);
                currentCerts = currentCerts.Find(X509FindType.FindByIssuerDistinguishedName, cnName, true);
                x509Certificate2 = currentCerts.Count == 0 ? null : currentCerts[0];
            }
        }
    }

注意:我已经用以下命令创建了一个自签名的开发证书。

代码语言:javascript
复制
PS C:\program files\microsoft sdks\service fabric\clustersetup\secure> .\CertSetup.ps1 -Install -CertSubjectName CN=mytestcert

安装后,我可以看到证书已创建并添加到受信任的根目录中。

我是不是在创建自签名证书时出错了?我不确定。

EN

回答 1

Stack Overflow用户

发布于 2019-06-18 13:58:40

您已将证书存储在StoreLocation.CurrentUser中,但您的代码正在StoreLocation.LocalMachine中查找。

另外,不要忘了添加正确的ACL's

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56633923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档