Я установил сертификат ssl, но когда я использую certCollection.Find by Extension, он возвращает ноль.
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];
}
}
}
Примечание. Я создал самозаверяющий сертификат разработки с помощью следующих команд.
PS C:\program files\microsoft sdks\service fabric\clustersetup\secure> .\CertSetup.ps1 -Install -CertSubjectName CN=mytestcert
после установки я вижу, что сертификат создан с добавлением в доверенный корень.
Я делаю какую-то ошибку при создании самозаверяющего сертификата. Я не уверен.