Kestrel ssl JSON配置中的证书问题

问题描述 投票:0回答:1

引用Kestrel documentation可以使用appsettings.json文件配置https:

  "HttpsInlineCertStore": {
    "Url": "https://+:5002",
    "Certificate": {
      "Subject": "<coma separated multi-line subject name>",
      "Store": "Root",
      "Location": "LocalMachine"
  }

此证书确实存在,下一个代码返回找到它:

        using (var certStore = new X509Store(StoreName.Root, StoreLocation.LocalMachine))
        {
            certStore.Open(OpenFlags.ReadOnly);
            var certificates = certStore.Certificates.Find(
                X509FindType.FindBySubjectDistinguishedName, "<coma separated multi-line subject name>", true);

            return certificates .Count > 0 ? certificates [0] : null;;
        }

同时,如果通过X509FindType.FindBySubjectName搜索证书,它什么也没找到,我相信这是问题,即使microsoft说FindBySubjectDistinguishedName是更具体的搜索。

.net-core ssl-certificate kestrel-http-server
1个回答
0
投票

最后我能够解决这个问题:类似于“CN = name,C = UK,...”但是如果你想要FindBySubjectName你必须从搜索字符串中删除“CN =”并只保留名称以便它看起来像不像“CN = name”,而是像“name”。

© www.soinside.com 2019 - 2024. All rights reserved.