215 instantiations of X509Certificate2
aspire (1)
Aspire.Dashboard (2)
Aspire.Dashboard.Components.Tests (1)
Aspire.Dashboard.Tests (2)
Binding.UDS.IntegrationTests (1)
dotnet-dev-certs (4)
dotnet-svcutil-lib (11)
HttpClientApp (3)
HttpStress (1)
IIS.FunctionalTests (1)
IIS.LongTests (1)
IIS.NewHandler.FunctionalTests (1)
IIS.NewShim.FunctionalTests (1)
IIS.ShadowCopy.Tests (1)
IISExpress.FunctionalTests (1)
Infrastructure.Common (6)
InMemory.FunctionalTests (14)
Interop.FunctionalTests (4)
InteropClient (1)
Microsoft.AspNetCore.DataProtection.Extensions.Tests (7)
DataProtectionProviderTests.cs (7)
122using (var imported = new X509Certificate2(filePath, "password", X509KeyStorageFlags.Exportable))
148var certWithoutKey = new X509Certificate2(Path.Combine(GetTestFilesPath(), "TestCertWithoutPrivateKey.pfx"), "password");
176var certWithoutKey = new X509Certificate2(Path.Combine(GetTestFilesPath(), "TestCert3WithoutPrivateKey.pfx"), "password3", X509KeyStorageFlags.Exportable);
193var certWithKey = new X509Certificate2(Path.Combine(GetTestFilesPath(), "TestCert3.pfx"), "password3");
217var certificate = new X509Certificate2(filePath, "password");
246var certificate = new X509Certificate2(filePath, "password");
288var certificate = new X509Certificate2(filePath, "password");
Microsoft.AspNetCore.DataProtection.Tests (7)
XmlEncryption\EncryptedXmlDecryptorTests.cs (7)
18var testCert1 = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert1.pfx"), "password");
32var testCert1 = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert1.pfx"), "password");
33var testCert2 = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert2.pfx"), "password");
50var fullCert = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert1.pfx"), "password");
51var publicKeyOnly = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert1.PublicKeyOnly.cer"), "");
68var testCert1 = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert1.pfx"), "password");
69var testCert2 = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert2.pfx"), "password");
Microsoft.AspNetCore.DeveloperCertificates.XPlat (4)
Microsoft.AspNetCore.DeveloperCertificates.XPlat.Tests (3)
Microsoft.AspNetCore.Http.Extensions.Tests (1)
Microsoft.AspNetCore.HttpOverrides (1)
Microsoft.AspNetCore.Server.HttpSys (2)
Microsoft.AspNetCore.Server.HttpSys.FunctionalTests (3)
Microsoft.AspNetCore.Server.IIS (2)
Microsoft.AspNetCore.Server.IISIntegration (1)
Microsoft.AspNetCore.Server.Kestrel.Core (13)
Microsoft.AspNetCore.Server.Kestrel.Core.Tests (9)
Microsoft.AspNetCore.Server.Kestrel.Tests (22)
HttpsConfigurationTests.cs (3)
33serverOptions.TestOverrideDefaultCertificate = new X509Certificate2(Path.Combine("shared", "TestCertificates", "aspnetdevcert.pfx"), "testPassword");
220serverOptions.TestOverrideDefaultCertificate = new X509Certificate2(Path.Combine("shared", "TestCertificates", "aspnetdevcert.pfx"), "testPassword");
253ServerCertificate = new X509Certificate2(Path.Combine("shared", "TestCertificates", "aspnetdevcert.pfx"), "testPassword"),
KestrelConfigurationLoaderTests.cs (16)
276var certificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
317var devCert = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
408var otherCertificate = new X509Certificate2(otherCertificatePath, "testPassword");
443var certificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
490var certificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
539var certificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
590var certificate = new X509Certificate2(TestResources.GetCertPath("https-aspnet.crt"));
614var certificate = new X509Certificate2(TestResources.GetCertPath("https-aspnet.crt"));
639var certificate = new X509Certificate2(TestResources.GetCertPath("https-aspnet.crt"));
664var certificate = new X509Certificate2(TestResources.GetCertPath("https-aspnet.crt"));
794certificate = new X509Certificate2(TestResources.GetCertPath("https-dsa.crt"));
980var certificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
1133var oldCertificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
1136var newCertificate = new X509Certificate2(TestResources.TestCertificatePath, "testPassword", X509KeyStorageFlags.Exportable);
1231var oldCertificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
1236var newCertificate = new X509Certificate2(TestResources.TestCertificatePath, "testPassword", X509KeyStorageFlags.Exportable);
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic (1)
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Tests (3)
Microsoft.AspNetCore.Shared.Tests (1)
Microsoft.AspNetCore.SignalR.Client.FunctionalTests (2)
Microsoft.DotNet.SignTool (1)
SignalR.Client.FunctionalTestApp (2)
Sockets.BindTests (3)
Sockets.FunctionalTests (3)
System.Net.Quic (1)
System.Net.Security (5)
System.Security.Cryptography (20)
System.Security.Cryptography.Pkcs (1)
System.Security.Cryptography.Xml (3)
System.ServiceModel.Http.Tests (1)
System.ServiceModel.NetFramingBase (2)
System.ServiceModel.Primitives (11)
Templates.Blazor.Tests (4)
Templates.Blazor.WebAssembly.Auth.Tests (4)
Templates.Blazor.WebAssembly.Tests (4)
Templates.Mvc.Tests (4)
Templates.Tests (4)
WebTransportInteractiveSampleApp (1)
WebTransportSampleApp (1)
WsFedSample (1)
1951 references to X509Certificate2
aspire (1)
Aspire.Dashboard (5)
Aspire.Dashboard.Components.Tests (2)
Aspire.Dashboard.Tests (18)
Binding.UDS.IntegrationTests (5)
Certificate.Optional.Sample (1)
Client.ExpectedExceptions.IntegrationTests (1)
ConfigurationSchemaGenerator.Tests (1)
dotnet-dev-certs (108)
src\Shared\CertificateGeneration\CertificateManager.cs (49)
110public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
122public IList<X509Certificate2> ListCertificates(
129var certificates = new List<X509Certificate2>();
135IEnumerable<X509Certificate2> matchingCertificates = certificates;
174return (IList<X509Certificate2>)matchingCertificates;
187bool HasOid(X509Certificate2 certificate, string oid) =>
191bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
198internal static byte GetCertificateVersion(X509Certificate2 c)
217protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
219certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
222public IList<X509Certificate2> GetHttpsCertificates() =>
252X509Certificate2? certificate = null;
262foreach (var candidate in currentUserCertificates)
457X509Certificate2 certificate;
516foreach (var certificate in filteredCertificates)
524public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
526protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
529protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
531internal abstract bool IsExportable(X509Certificate2 c);
533protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
535protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
543internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
687internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
737var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
741internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
757internal TrustLevel TrustCertificate(X509Certificate2 certificate)
784foreach (var certificate in certificates)
792internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
813internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
815internal abstract void CorrectCertificateState(X509Certificate2 candidate);
817internal static X509Certificate2 CreateSelfSignedCertificate(
831var result = request.CreateSelfSigned(notBefore, notAfter);
846internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
848foreach (var disposable in disposables)
860protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
878protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
882var matching = store.Certificates
883.OfType<X509Certificate2>()
889internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
902internal static string GetDescription(X509Certificate2 c) =>
908internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
922internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
933var certificatesToDispose = new List<X509Certificate2>();
934foreach (var candidate in certificatesWithSubjectName.OfType<X509Certificate2>())
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (28)
15/// Normally, we avoid the use of <see cref="X509Certificate2.Thumbprint"/> because it's a SHA-1 hash and, therefore,
85protected override TrustLevel TrustCertificateCore(X509Certificate2 publicCertificate)
129internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate)
136internal override void CorrectCertificateState(X509Certificate2 candidate)
151public override TrustLevel GetTrustLevel(X509Certificate2 certificate)
177protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate)
198private static void RemoveAdminTrustRule(X509Certificate2 certificate)
237private static void RemoveCertificateFromKeychain(string keychain, X509Certificate2 certificate)
274private static bool IsCertOnKeychain(string keychain, X509Certificate2 certificate)
305internal override bool IsExportable(X509Certificate2 c) => true;
307protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation)
336private static void SaveCertificateToUserKeychain(X509Certificate2 certificate)
373private static string GetCertificateFilePath(X509Certificate2 certificate) =>
376protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
381protected override void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
387var certsFromStore = new List<X509Certificate2>();
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer();
423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) =>
427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
431private static ICollection<X509Certificate2> GetCertsFromDisk()
433var certsFromDisk = new List<X509Certificate2>();
445var certificate = new X509Certificate2(file);
459protected override void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
dotnet-svcutil-lib (71)
FrameworkFork\System.ServiceModel\System\IdentityModel\Tokens\X509WindowsSecurityToken.cs (5)
17public X509WindowsSecurityToken(X509Certificate2 certificate, WindowsIdentity windowsIdentity)
22public X509WindowsSecurityToken(X509Certificate2 certificate, WindowsIdentity windowsIdentity, string id)
27public X509WindowsSecurityToken(X509Certificate2 certificate, WindowsIdentity windowsIdentity, string authenticationType, string id)
32internal X509WindowsSecurityToken(X509Certificate2 certificate, WindowsIdentity windowsIdentity, string authenticationType, bool clone)
37internal X509WindowsSecurityToken(X509Certificate2 certificate, WindowsIdentity windowsIdentity, string authenticationType, string id, bool clone)
FrameworkFork\System.ServiceModel\System\ServiceModel\Channels\TransportSecurityHelpers.cs (5)
373private static Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> ChainValidator(Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> previousValidator)
380Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> chained =
393private static bool OnValidateServerCertificate(HttpRequestMessage request, X509Certificate2 certificate, X509Chain chain,
427private static void ValidateServerCertificate(X509Certificate2 certificate, string thumbprint)
FrameworkFork\System.ServiceModel\System\ServiceModel\Security\SecurityUtils.cs (7)
597internal static void AppendCertificateIdentityName(StringBuilder str, X509Certificate2 certificate)
857internal static bool TryCreateX509CertificateFromRawData(byte[] rawData, out X509Certificate2 certificate)
882internal static X509Certificate2 GetCertificateFromStore(StoreName storeName, StoreLocation storeLocation,
885X509Certificate2 certificate = GetCertificateFromStoreCore(storeName, storeLocation, findType, findValue, target, true);
893X509FindType findType, object findValue, EndpointAddress target, out X509Certificate2 certificate)
899private static X509Certificate2 GetCertificateFromStoreCore(StoreName storeName, StoreLocation storeLocation,
1006internal static void ResetCertificate(X509Certificate2 certificate)
Http3SampleApp (1)
HttpClientApp (5)
HttpStress (1)
IIS.FunctionalTests (7)
IIS.LongTests (5)
IIS.NewHandler.FunctionalTests (5)
IIS.NewShim.FunctionalTests (5)
IIS.ShadowCopy.Tests (5)
IISExpress.FunctionalTests (7)
Infrastructure.Common (43)
CertificateManager.cs (24)
88public static X509Certificate2 AddToStoreIfNeeded(StoreName storeName,
90X509Certificate2 certificate)
92X509Certificate2 resultCert = null;
134public static X509Certificate2 AddToOSXKeyChainIfNeeded(SafeKeychainHandle keychain,
135X509Certificate2 certificate)
137X509Certificate2 resultCert = null;
151var publicOnly = new X509Certificate2(certificate.RawData);
168private static X509Certificate2 CertificateFromThumbprint(X509Store store, string thumbprint, bool validOnly)
174private static X509Certificate2 CertificateFromThumbprint(StoreName storeName,
179X509Certificate2 resultCert = null;
189private static X509Certificate2 KeychainCertificateFromThumbprint(string thumbprint, bool validOnly)
191X509Certificate2 resultCert = null;
204public static X509Certificate2 RootCertificateFromThumprint(string thumbprint, bool validOnly)
210public static X509Certificate2 ClientCertificateFromThumprint(string thumbprint, bool validOnly)
216public static X509Certificate2 PeerCertificateFromThumprint(string thumbprint, bool validOnly)
222public static X509Certificate2 OSXLocalKeychainCertificateFromThumprint(string thumbprint, bool validOnly)
230public static X509Certificate2 InstallCertificateToRootStore(X509Certificate2 certificate)
240public static X509Certificate2 InstallCertificateToMyStore(X509Certificate2 certificate)
253public static X509Certificate2 InstallCertificateToTrustedPeopleStore(X509Certificate2 certificate)
268public static X509Certificate2 InstallCertificateToOSXKeychainStore(X509Certificate2 certificate)
InMemory.FunctionalTests (55)
InProcessWebSite (1)
Interop.FunctionalTests (6)
InteropClient (1)
Kestrel.SampleApp (4)
Microsoft.AspNetCore.Authentication.Certificate (13)
Microsoft.AspNetCore.Authentication.Test (11)
Microsoft.AspNetCore.DataProtection (28)
Microsoft.AspNetCore.DataProtection.Extensions (10)
Microsoft.AspNetCore.DataProtection.Extensions.Tests (10)
DataProtectionProviderTests.cs (10)
122using (var imported = new X509Certificate2(filePath, "password", X509KeyStorageFlags.Exportable))
135var certificate = certificateStore.Certificates.Find(X509FindType.FindBySubjectName, "TestCert", false)[0];
148var certWithoutKey = new X509Certificate2(Path.Combine(GetTestFilesPath(), "TestCertWithoutPrivateKey.pfx"), "password");
176var certWithoutKey = new X509Certificate2(Path.Combine(GetTestFilesPath(), "TestCert3WithoutPrivateKey.pfx"), "password3", X509KeyStorageFlags.Exportable);
187var certInStore = certificateStore.Certificates.Find(X509FindType.FindBySubjectName, "TestCert", false)[0];
193var certWithKey = new X509Certificate2(Path.Combine(GetTestFilesPath(), "TestCert3.pfx"), "password3");
217var certificate = new X509Certificate2(filePath, "password");
246var certificate = new X509Certificate2(filePath, "password");
266private static void AssetStoreDoesNotContain(X509Certificate2 certificate)
288var certificate = new X509Certificate2(filePath, "password");
Microsoft.AspNetCore.DataProtection.Tests (7)
XmlEncryption\EncryptedXmlDecryptorTests.cs (7)
18var testCert1 = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert1.pfx"), "password");
32var testCert1 = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert1.pfx"), "password");
33var testCert2 = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert2.pfx"), "password");
50var fullCert = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert1.pfx"), "password");
51var publicKeyOnly = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert1.PublicKeyOnly.cer"), "");
68var testCert1 = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert1.pfx"), "password");
69var testCert2 = new X509Certificate2(Path.Combine(AppContext.BaseDirectory, "TestFiles", "TestCert2.pfx"), "password");
Microsoft.AspNetCore.DeveloperCertificates.XPlat (102)
src\Shared\CertificateGeneration\CertificateManager.cs (49)
110public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
122public IList<X509Certificate2> ListCertificates(
129var certificates = new List<X509Certificate2>();
135IEnumerable<X509Certificate2> matchingCertificates = certificates;
174return (IList<X509Certificate2>)matchingCertificates;
187bool HasOid(X509Certificate2 certificate, string oid) =>
191bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
198internal static byte GetCertificateVersion(X509Certificate2 c)
217protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
219certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
222public IList<X509Certificate2> GetHttpsCertificates() =>
252X509Certificate2? certificate = null;
262foreach (var candidate in currentUserCertificates)
457X509Certificate2 certificate;
516foreach (var certificate in filteredCertificates)
524public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
526protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
529protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
531internal abstract bool IsExportable(X509Certificate2 c);
533protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
535protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
543internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
687internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
737var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
741internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
757internal TrustLevel TrustCertificate(X509Certificate2 certificate)
784foreach (var certificate in certificates)
792internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
813internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
815internal abstract void CorrectCertificateState(X509Certificate2 candidate);
817internal static X509Certificate2 CreateSelfSignedCertificate(
831var result = request.CreateSelfSigned(notBefore, notAfter);
846internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
848foreach (var disposable in disposables)
860protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
878protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
882var matching = store.Certificates
883.OfType<X509Certificate2>()
889internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
902internal static string GetDescription(X509Certificate2 c) =>
908internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
922internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
933var certificatesToDispose = new List<X509Certificate2>();
934foreach (var candidate in certificatesWithSubjectName.OfType<X509Certificate2>())
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (28)
15/// Normally, we avoid the use of <see cref="X509Certificate2.Thumbprint"/> because it's a SHA-1 hash and, therefore,
85protected override TrustLevel TrustCertificateCore(X509Certificate2 publicCertificate)
129internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate)
136internal override void CorrectCertificateState(X509Certificate2 candidate)
151public override TrustLevel GetTrustLevel(X509Certificate2 certificate)
177protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate)
198private static void RemoveAdminTrustRule(X509Certificate2 certificate)
237private static void RemoveCertificateFromKeychain(string keychain, X509Certificate2 certificate)
274private static bool IsCertOnKeychain(string keychain, X509Certificate2 certificate)
305internal override bool IsExportable(X509Certificate2 c) => true;
307protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation)
336private static void SaveCertificateToUserKeychain(X509Certificate2 certificate)
373private static string GetCertificateFilePath(X509Certificate2 certificate) =>
376protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
381protected override void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
387var certsFromStore = new List<X509Certificate2>();
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer();
423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) =>
427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
431private static ICollection<X509Certificate2> GetCertsFromDisk()
433var certsFromDisk = new List<X509Certificate2>();
445var certificate = new X509Certificate2(file);
459protected override void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
Microsoft.AspNetCore.DeveloperCertificates.XPlat.Tests (20)
CertificateManagerTests.cs (20)
52var exportedCertificate = new X509Certificate2(File.ReadAllBytes(CertificateName));
57var httpsCertificate = Assert.Single(httpsCertificates, c => c.Subject == TestCertificateSubject);
117foreach (var certificate in certificates)
143var httpsCertificate = _manager.ListCertificates(StoreName.My, StoreLocation.CurrentUser, isValid: false).Single(c => c.Subject == TestCertificateSubject);
151var exportedCertificate = new X509Certificate2(File.ReadAllBytes(CertificateName), certificatePassword);
175var httpsCertificate = _manager.ListCertificates(StoreName.My, StoreLocation.CurrentUser, isValid: false).Single(c => c.Subject == TestCertificateSubject);
185var exportedCertificate = X509Certificate2.CreateFromEncryptedPemFile(CertificateName, certificatePassword, Path.ChangeExtension(CertificateName, "key"));
208var httpsCertificate = _manager.ListCertificates(StoreName.My, StoreLocation.CurrentUser, isValid: false).Single(c => c.Subject == TestCertificateSubject);
218var exportedCertificate = new X509Certificate2(CertificateName);
239var httpsCertificate = _manager.ListCertificates(StoreName.My, StoreLocation.CurrentUser, isValid: false).Single(c => c.Subject == TestCertificateSubject);
251var importedCertificate = Assert.Single(_manager.ListCertificates(StoreName.My, StoreLocation.CurrentUser, isValid: false));
272var httpsCertificate = _manager.ListCertificates(StoreName.My, StoreLocation.CurrentUser, isValid: false).Single(c => c.Subject == TestCertificateSubject);
299var httpsCertificate = _manager.ListCertificates(StoreName.My, StoreLocation.CurrentUser, isValid: false).Single(c => c.Subject == TestCertificateSubject);
309var wrongSubjectCertificate = csr.CreateSelfSigned(httpsCertificate.NotBefore, httpsCertificate.NotAfter);
339var httpsCertificate = _manager.ListCertificates(StoreName.My, StoreLocation.CurrentUser, isValid: false).Single(c => c.Subject == TestCertificateSubject);
347var exportedCertificate = X509Certificate2.CreateFromPemFile(CertificateName, Path.ChangeExtension(CertificateName, "key"));
503var firstCertificate = httpsCertificateList[0];
504var secondCertificate = httpsCertificateList[1];
Microsoft.AspNetCore.Grpc.JsonTranscoding (3)
Microsoft.AspNetCore.Http (4)
Microsoft.AspNetCore.Http.Abstractions (4)
Microsoft.AspNetCore.Http.Extensions.Tests (7)
Microsoft.AspNetCore.Http.Features (2)
Microsoft.AspNetCore.Http.Microbenchmarks (3)
Microsoft.AspNetCore.HttpOverrides (9)
Microsoft.AspNetCore.HttpOverrides.Tests (10)
Microsoft.AspNetCore.Owin (5)
Microsoft.AspNetCore.Server.HttpSys (14)
Microsoft.AspNetCore.Server.HttpSys.FunctionalTests (10)
Microsoft.AspNetCore.Server.IIS (5)
Microsoft.AspNetCore.Server.IISIntegration (3)
Microsoft.AspNetCore.Server.Kestrel.Core (164)
Middleware\HttpsConnectionMiddleware.cs (14)
41private readonly X509Certificate2? _serverCertificate;
42private readonly Func<ConnectionContext, string?, X509Certificate2?>? _serverCertificateSelector;
101var certificate = _serverCertificate;
264private X509Certificate2 LocateCertificateWithPrivateKey(X509Certificate2 certificate)
340var cert = _serverCertificateSelector(context, name);
390Func<X509Certificate2, X509Chain?, SslPolicyErrors, bool>? clientCertificateValidation,
408var certificate2 = ConvertToX509Certificate2(certificate);
481internal static void EnsureCertificateIsAllowedForServerAuth(X509Certificate2 certificate, ILogger<HttpsConnectionMiddleware> logger)
493private static X509Certificate2? ConvertToX509Certificate2(X509Certificate? certificate)
500if (certificate is X509Certificate2 cert2)
569var cert = httpsOptions.ServerCertificateSelector(null, host);
612public static void LocatingCertWithPrivateKey(this ILogger<HttpsConnectionMiddleware> logger, X509Certificate2 certificate) => LocatingCertWithPrivateKey(logger, certificate.Thumbprint);
617public static void FoundCertWithPrivateKey(this ILogger<HttpsConnectionMiddleware> logger, X509Certificate2 certificate, StoreLocation storeLocation)
src\Shared\CertificateGeneration\CertificateManager.cs (49)
110public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
122public IList<X509Certificate2> ListCertificates(
129var certificates = new List<X509Certificate2>();
135IEnumerable<X509Certificate2> matchingCertificates = certificates;
174return (IList<X509Certificate2>)matchingCertificates;
187bool HasOid(X509Certificate2 certificate, string oid) =>
191bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
198internal static byte GetCertificateVersion(X509Certificate2 c)
217protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
219certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
222public IList<X509Certificate2> GetHttpsCertificates() =>
252X509Certificate2? certificate = null;
262foreach (var candidate in currentUserCertificates)
457X509Certificate2 certificate;
516foreach (var certificate in filteredCertificates)
524public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
526protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
529protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
531internal abstract bool IsExportable(X509Certificate2 c);
533protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
535protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
543internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
687internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
737var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
741internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
757internal TrustLevel TrustCertificate(X509Certificate2 certificate)
784foreach (var certificate in certificates)
792internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
813internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
815internal abstract void CorrectCertificateState(X509Certificate2 candidate);
817internal static X509Certificate2 CreateSelfSignedCertificate(
831var result = request.CreateSelfSigned(notBefore, notAfter);
846internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
848foreach (var disposable in disposables)
860protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
878protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
882var matching = store.Certificates
883.OfType<X509Certificate2>()
889internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
902internal static string GetDescription(X509Certificate2 c) =>
908internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
922internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
933var certificatesToDispose = new List<X509Certificate2>();
934foreach (var candidate in certificatesWithSubjectName.OfType<X509Certificate2>())
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (28)
15/// Normally, we avoid the use of <see cref="X509Certificate2.Thumbprint"/> because it's a SHA-1 hash and, therefore,
85protected override TrustLevel TrustCertificateCore(X509Certificate2 publicCertificate)
129internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate)
136internal override void CorrectCertificateState(X509Certificate2 candidate)
151public override TrustLevel GetTrustLevel(X509Certificate2 certificate)
177protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate)
198private static void RemoveAdminTrustRule(X509Certificate2 certificate)
237private static void RemoveCertificateFromKeychain(string keychain, X509Certificate2 certificate)
274private static bool IsCertOnKeychain(string keychain, X509Certificate2 certificate)
305internal override bool IsExportable(X509Certificate2 c) => true;
307protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation)
336private static void SaveCertificateToUserKeychain(X509Certificate2 certificate)
373private static string GetCertificateFilePath(X509Certificate2 certificate) =>
376protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
381protected override void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
387var certsFromStore = new List<X509Certificate2>();
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer();
423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) =>
427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
431private static ICollection<X509Certificate2> GetCertsFromDisk()
433var certsFromDisk = new List<X509Certificate2>();
445var certificate = new X509Certificate2(file);
459protected override void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
Microsoft.AspNetCore.Server.Kestrel.Core.Tests (34)
Microsoft.AspNetCore.Server.Kestrel.Tests (29)
KestrelConfigurationLoaderTests.cs (24)
276var certificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
317var devCert = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
324var defaultCert = TestResources.GetTestCertificate();
375void CheckCertificates(X509Certificate2 expectedCert)
405var testCertificate = TestResources.GetTestCertificate();
408var otherCertificate = new X509Certificate2(otherCertificatePath, "testPassword");
430void CheckListenOptions(X509Certificate2 expectedCert)
443var certificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
490var certificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
539var certificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
545var defaultCertificate = TestResources.GetTestCertificate();
590var certificate = new X509Certificate2(TestResources.GetCertPath("https-aspnet.crt"));
614var certificate = new X509Certificate2(TestResources.GetCertPath("https-aspnet.crt"));
639var certificate = new X509Certificate2(TestResources.GetCertPath("https-aspnet.crt"));
664var certificate = new X509Certificate2(TestResources.GetCertPath("https-aspnet.crt"));
782X509Certificate2 certificate;
853private static X509Certificate2 GenerateTestCertificateWithAlgorithm(string algorithmType, string keyPassword, string certificatePath, string keyPath)
859X509Certificate2 certificate;
931private static X509Certificate2 CreateTestCertificate(CertificateRequest request, SubjectAlternativeNameBuilder sanBuilder)
980var certificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
1133var oldCertificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
1136var newCertificate = new X509Certificate2(TestResources.TestCertificatePath, "testPassword", X509KeyStorageFlags.Exportable);
1231var oldCertificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
1236var newCertificate = new X509Certificate2(TestResources.TestCertificatePath, "testPassword", X509KeyStorageFlags.Exportable);
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic (6)
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Tests (8)
Microsoft.AspNetCore.Shared.Tests (2)
Microsoft.AspNetCore.SignalR.Client.FunctionalTests (1)
Microsoft.AspNetCore.Testing (7)
Microsoft.AspNetCore.Testing.Tests (5)
Microsoft.Bcl.Cryptography (21)
Microsoft.DotNet.Build.Tasks.Feed (2)
Microsoft.DotNet.Deployment.Tasks.Links (1)
Microsoft.DotNet.SignCheckLibrary (4)
Microsoft.DotNet.SignTool (3)
netstandard (1)
PresentationUI (29)
ScenarioTests.Common.Tests (1)
Security.TransportSecurity.IntegrationTests (7)
SignalR.Client.FunctionalTestApp (1)
Sockets.BindTests (5)
Sockets.FunctionalTests (8)
System (1)
System.Net.Http (12)
System\Net\Http\SocketsHttpHandler\ConnectHelper.cs (5)
25public readonly Func<HttpRequestMessage, X509Certificate2?, X509Chain?, SslPolicyErrors, bool> FromHttpClientHandler;
28public CertificateCallbackMapper(Func<HttpRequestMessage, X509Certificate2?, X509Chain?, SslPolicyErrors, bool> fromHttpClientHandler)
32FromHttpClientHandler((HttpRequestMessage)sender, certificate as X509Certificate2, chain, sslPolicyErrors);
44Func<HttpRequestMessage, X509Certificate2?, X509Chain?, SslPolicyErrors, bool> localFromHttpClientHandler = mapper.FromHttpClientHandler;
49bool result = localFromHttpClientHandler(localRequest, certificate as X509Certificate2, chain, sslPolicyErrors);
System.Net.Http.WinHttpHandler (1)
System.Net.HttpListener (9)
System.Net.Quic (16)
System\Net\Quic\Internal\MsQuicConfiguration.Cache.cs (3)
39public CacheKey(QUIC_SETTINGS settings, QUIC_CREDENTIAL_FLAGS flags, X509Certificate? certificate, ReadOnlyCollection<X509Certificate2>? intermediates, List<SslApplicationProtocol> alpnProtocols, QUIC_ALLOWED_CIPHER_SUITE_FLAGS allowedCipherSuites)
55foreach (X509Certificate2 intermediate in intermediates)
119private static MsQuicConfigurationSafeHandle GetCachedCredentialOrCreate(QUIC_SETTINGS settings, QUIC_CREDENTIAL_FLAGS flags, X509Certificate? certificate, ReadOnlyCollection<X509Certificate2>? intermediates, List<SslApplicationProtocol> alpnProtocols, QUIC_ALLOWED_CIPHER_SUITE_FLAGS allowedCipherSuites)
System\Net\Quic\Internal\MsQuicConfiguration.cs (7)
17=> certificate is X509Certificate2 certificate2 && certificate2.Handle != IntPtr.Zero && certificate2.HasPrivateKey;
34ReadOnlyCollection<X509Certificate2>? intermediates = null;
99ReadOnlyCollection<X509Certificate2>? intermediates = default;
124private static MsQuicConfigurationSafeHandle Create(QuicConnectionOptions options, QUIC_CREDENTIAL_FLAGS flags, X509Certificate? certificate, ReadOnlyCollection<X509Certificate2>? intermediates, List<SslApplicationProtocol>? alpnProtocols, CipherSuitesPolicy? cipherSuitesPolicy, EncryptionPolicy encryptionPolicy)
204private static unsafe MsQuicConfigurationSafeHandle CreateInternal(QUIC_SETTINGS settings, QUIC_CREDENTIAL_FLAGS flags, X509Certificate? certificate, ReadOnlyCollection<X509Certificate2>? intermediates, List<SslApplicationProtocol> alpnProtocols, QUIC_ALLOWED_CIPHER_SUITE_FLAGS allowedCipherSuites)
206if (!MsQuicApi.UsesSChannelBackend && certificate is X509Certificate2 cert && intermediates is null)
260foreach (X509Certificate2 intermediate in intermediates)
System.Net.Security (59)
System.Security.Cryptography (175)
System.Security.Cryptography.Pkcs (82)
System\Security\Cryptography\Pkcs\CmsSigner.cs (10)
25public X509Certificate2? Certificate { get; set; }
88public CmsSigner(X509Certificate2? certificate)
99public CmsSigner(SubjectIdentifierType signerIdentifierType, X509Certificate2? certificate)
109CmsSigner(SubjectIdentifierType signerIdentifierType, X509Certificate2? certificate, AsymmetricAlgorithm? privateKey)
120CmsSigner(SubjectIdentifierType signerIdentifierType, X509Certificate2? certificate, MLDsa? privateKey)
131CmsSigner(SubjectIdentifierType signerIdentifierType, X509Certificate2? certificate, SlhDsa? privateKey)
142CmsSigner(SubjectIdentifierType signerIdentifierType, X509Certificate2? certificate, CompositeMLDsa? privateKey)
172X509Certificate2? certificate,
181X509Certificate2? certificate,
490X509Certificate2 cert = elements[i].Certificate;
System.Security.Cryptography.X509Certificates (1)
System.Security.Cryptography.Xml (13)
System.ServiceModel.Http (11)
System\ServiceModel\Channels\HttpTransportSecurityHelpers.cs (7)
68bool identityValidator(HttpRequestMessage requestMessage, X509Certificate2 cert, X509Chain chain, SslPolicyErrors policyErrors)
87public static void SetServerCertificateValidationCallback(HttpClientHandler handler, Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> validator)
93private static Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> ChainValidator(
94Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> previousValidator,
95Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> validator)
102bool chained(HttpRequestMessage request, X509Certificate2 certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
116private static void ValidateServerCertificate(X509Certificate2 certificate, byte[] rawData, string thumbprint)
System.ServiceModel.Http.Tests (1)
System.ServiceModel.NetFramingBase (2)
System.ServiceModel.Primitives (64)
System\ServiceModel\Security\SecurityUtils.cs (6)
845internal static X509Certificate2 GetCertificateFromStore(StoreName storeName, StoreLocation storeLocation,
848X509Certificate2 certificate = GetCertificateFromStoreCore(storeName, storeLocation, findType, findValue, target, true);
858X509FindType findType, object findValue, EndpointAddress target, out X509Certificate2 certificate)
864private static X509Certificate2 GetCertificateFromStoreCore(StoreName storeName, StoreLocation storeLocation,
1018public static bool TryCreateX509CertificateFromRawData(byte[] rawData, out X509Certificate2 certificate)
1037internal static void ResetCertificate(X509Certificate2 certificate)
System.Windows.Extensions (2)
Templates.Blazor.Tests (102)
src\Shared\CertificateGeneration\CertificateManager.cs (49)
110public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
122public IList<X509Certificate2> ListCertificates(
129var certificates = new List<X509Certificate2>();
135IEnumerable<X509Certificate2> matchingCertificates = certificates;
174return (IList<X509Certificate2>)matchingCertificates;
187bool HasOid(X509Certificate2 certificate, string oid) =>
191bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
198internal static byte GetCertificateVersion(X509Certificate2 c)
217protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
219certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
222public IList<X509Certificate2> GetHttpsCertificates() =>
252X509Certificate2? certificate = null;
262foreach (var candidate in currentUserCertificates)
457X509Certificate2 certificate;
516foreach (var certificate in filteredCertificates)
524public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
526protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
529protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
531internal abstract bool IsExportable(X509Certificate2 c);
533protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
535protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
543internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
687internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
737var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
741internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
757internal TrustLevel TrustCertificate(X509Certificate2 certificate)
784foreach (var certificate in certificates)
792internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
813internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
815internal abstract void CorrectCertificateState(X509Certificate2 candidate);
817internal static X509Certificate2 CreateSelfSignedCertificate(
831var result = request.CreateSelfSigned(notBefore, notAfter);
846internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
848foreach (var disposable in disposables)
860protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
878protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
882var matching = store.Certificates
883.OfType<X509Certificate2>()
889internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
902internal static string GetDescription(X509Certificate2 c) =>
908internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
922internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
933var certificatesToDispose = new List<X509Certificate2>();
934foreach (var candidate in certificatesWithSubjectName.OfType<X509Certificate2>())
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (28)
15/// Normally, we avoid the use of <see cref="X509Certificate2.Thumbprint"/> because it's a SHA-1 hash and, therefore,
85protected override TrustLevel TrustCertificateCore(X509Certificate2 publicCertificate)
129internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate)
136internal override void CorrectCertificateState(X509Certificate2 candidate)
151public override TrustLevel GetTrustLevel(X509Certificate2 certificate)
177protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate)
198private static void RemoveAdminTrustRule(X509Certificate2 certificate)
237private static void RemoveCertificateFromKeychain(string keychain, X509Certificate2 certificate)
274private static bool IsCertOnKeychain(string keychain, X509Certificate2 certificate)
305internal override bool IsExportable(X509Certificate2 c) => true;
307protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation)
336private static void SaveCertificateToUserKeychain(X509Certificate2 certificate)
373private static string GetCertificateFilePath(X509Certificate2 certificate) =>
376protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
381protected override void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
387var certsFromStore = new List<X509Certificate2>();
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer();
423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) =>
427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
431private static ICollection<X509Certificate2> GetCertsFromDisk()
433var certsFromDisk = new List<X509Certificate2>();
445var certificate = new X509Certificate2(file);
459protected override void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
Templates.Blazor.WebAssembly.Auth.Tests (102)
src\Shared\CertificateGeneration\CertificateManager.cs (49)
110public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
122public IList<X509Certificate2> ListCertificates(
129var certificates = new List<X509Certificate2>();
135IEnumerable<X509Certificate2> matchingCertificates = certificates;
174return (IList<X509Certificate2>)matchingCertificates;
187bool HasOid(X509Certificate2 certificate, string oid) =>
191bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
198internal static byte GetCertificateVersion(X509Certificate2 c)
217protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
219certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
222public IList<X509Certificate2> GetHttpsCertificates() =>
252X509Certificate2? certificate = null;
262foreach (var candidate in currentUserCertificates)
457X509Certificate2 certificate;
516foreach (var certificate in filteredCertificates)
524public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
526protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
529protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
531internal abstract bool IsExportable(X509Certificate2 c);
533protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
535protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
543internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
687internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
737var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
741internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
757internal TrustLevel TrustCertificate(X509Certificate2 certificate)
784foreach (var certificate in certificates)
792internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
813internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
815internal abstract void CorrectCertificateState(X509Certificate2 candidate);
817internal static X509Certificate2 CreateSelfSignedCertificate(
831var result = request.CreateSelfSigned(notBefore, notAfter);
846internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
848foreach (var disposable in disposables)
860protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
878protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
882var matching = store.Certificates
883.OfType<X509Certificate2>()
889internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
902internal static string GetDescription(X509Certificate2 c) =>
908internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
922internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
933var certificatesToDispose = new List<X509Certificate2>();
934foreach (var candidate in certificatesWithSubjectName.OfType<X509Certificate2>())
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (28)
15/// Normally, we avoid the use of <see cref="X509Certificate2.Thumbprint"/> because it's a SHA-1 hash and, therefore,
85protected override TrustLevel TrustCertificateCore(X509Certificate2 publicCertificate)
129internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate)
136internal override void CorrectCertificateState(X509Certificate2 candidate)
151public override TrustLevel GetTrustLevel(X509Certificate2 certificate)
177protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate)
198private static void RemoveAdminTrustRule(X509Certificate2 certificate)
237private static void RemoveCertificateFromKeychain(string keychain, X509Certificate2 certificate)
274private static bool IsCertOnKeychain(string keychain, X509Certificate2 certificate)
305internal override bool IsExportable(X509Certificate2 c) => true;
307protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation)
336private static void SaveCertificateToUserKeychain(X509Certificate2 certificate)
373private static string GetCertificateFilePath(X509Certificate2 certificate) =>
376protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
381protected override void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
387var certsFromStore = new List<X509Certificate2>();
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer();
423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) =>
427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
431private static ICollection<X509Certificate2> GetCertsFromDisk()
433var certsFromDisk = new List<X509Certificate2>();
445var certificate = new X509Certificate2(file);
459protected override void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
Templates.Blazor.WebAssembly.Tests (102)
src\Shared\CertificateGeneration\CertificateManager.cs (49)
110public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
122public IList<X509Certificate2> ListCertificates(
129var certificates = new List<X509Certificate2>();
135IEnumerable<X509Certificate2> matchingCertificates = certificates;
174return (IList<X509Certificate2>)matchingCertificates;
187bool HasOid(X509Certificate2 certificate, string oid) =>
191bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
198internal static byte GetCertificateVersion(X509Certificate2 c)
217protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
219certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
222public IList<X509Certificate2> GetHttpsCertificates() =>
252X509Certificate2? certificate = null;
262foreach (var candidate in currentUserCertificates)
457X509Certificate2 certificate;
516foreach (var certificate in filteredCertificates)
524public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
526protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
529protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
531internal abstract bool IsExportable(X509Certificate2 c);
533protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
535protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
543internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
687internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
737var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
741internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
757internal TrustLevel TrustCertificate(X509Certificate2 certificate)
784foreach (var certificate in certificates)
792internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
813internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
815internal abstract void CorrectCertificateState(X509Certificate2 candidate);
817internal static X509Certificate2 CreateSelfSignedCertificate(
831var result = request.CreateSelfSigned(notBefore, notAfter);
846internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
848foreach (var disposable in disposables)
860protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
878protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
882var matching = store.Certificates
883.OfType<X509Certificate2>()
889internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
902internal static string GetDescription(X509Certificate2 c) =>
908internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
922internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
933var certificatesToDispose = new List<X509Certificate2>();
934foreach (var candidate in certificatesWithSubjectName.OfType<X509Certificate2>())
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (28)
15/// Normally, we avoid the use of <see cref="X509Certificate2.Thumbprint"/> because it's a SHA-1 hash and, therefore,
85protected override TrustLevel TrustCertificateCore(X509Certificate2 publicCertificate)
129internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate)
136internal override void CorrectCertificateState(X509Certificate2 candidate)
151public override TrustLevel GetTrustLevel(X509Certificate2 certificate)
177protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate)
198private static void RemoveAdminTrustRule(X509Certificate2 certificate)
237private static void RemoveCertificateFromKeychain(string keychain, X509Certificate2 certificate)
274private static bool IsCertOnKeychain(string keychain, X509Certificate2 certificate)
305internal override bool IsExportable(X509Certificate2 c) => true;
307protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation)
336private static void SaveCertificateToUserKeychain(X509Certificate2 certificate)
373private static string GetCertificateFilePath(X509Certificate2 certificate) =>
376protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
381protected override void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
387var certsFromStore = new List<X509Certificate2>();
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer();
423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) =>
427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
431private static ICollection<X509Certificate2> GetCertsFromDisk()
433var certsFromDisk = new List<X509Certificate2>();
445var certificate = new X509Certificate2(file);
459protected override void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
Templates.Mvc.Tests (102)
src\Shared\CertificateGeneration\CertificateManager.cs (49)
110public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
122public IList<X509Certificate2> ListCertificates(
129var certificates = new List<X509Certificate2>();
135IEnumerable<X509Certificate2> matchingCertificates = certificates;
174return (IList<X509Certificate2>)matchingCertificates;
187bool HasOid(X509Certificate2 certificate, string oid) =>
191bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
198internal static byte GetCertificateVersion(X509Certificate2 c)
217protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
219certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
222public IList<X509Certificate2> GetHttpsCertificates() =>
252X509Certificate2? certificate = null;
262foreach (var candidate in currentUserCertificates)
457X509Certificate2 certificate;
516foreach (var certificate in filteredCertificates)
524public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
526protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
529protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
531internal abstract bool IsExportable(X509Certificate2 c);
533protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
535protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
543internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
687internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
737var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
741internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
757internal TrustLevel TrustCertificate(X509Certificate2 certificate)
784foreach (var certificate in certificates)
792internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
813internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
815internal abstract void CorrectCertificateState(X509Certificate2 candidate);
817internal static X509Certificate2 CreateSelfSignedCertificate(
831var result = request.CreateSelfSigned(notBefore, notAfter);
846internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
848foreach (var disposable in disposables)
860protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
878protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
882var matching = store.Certificates
883.OfType<X509Certificate2>()
889internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
902internal static string GetDescription(X509Certificate2 c) =>
908internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
922internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
933var certificatesToDispose = new List<X509Certificate2>();
934foreach (var candidate in certificatesWithSubjectName.OfType<X509Certificate2>())
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (28)
15/// Normally, we avoid the use of <see cref="X509Certificate2.Thumbprint"/> because it's a SHA-1 hash and, therefore,
85protected override TrustLevel TrustCertificateCore(X509Certificate2 publicCertificate)
129internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate)
136internal override void CorrectCertificateState(X509Certificate2 candidate)
151public override TrustLevel GetTrustLevel(X509Certificate2 certificate)
177protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate)
198private static void RemoveAdminTrustRule(X509Certificate2 certificate)
237private static void RemoveCertificateFromKeychain(string keychain, X509Certificate2 certificate)
274private static bool IsCertOnKeychain(string keychain, X509Certificate2 certificate)
305internal override bool IsExportable(X509Certificate2 c) => true;
307protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation)
336private static void SaveCertificateToUserKeychain(X509Certificate2 certificate)
373private static string GetCertificateFilePath(X509Certificate2 certificate) =>
376protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
381protected override void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
387var certsFromStore = new List<X509Certificate2>();
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer();
423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) =>
427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
431private static ICollection<X509Certificate2> GetCertsFromDisk()
433var certsFromDisk = new List<X509Certificate2>();
445var certificate = new X509Certificate2(file);
459protected override void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
Templates.Tests (102)
src\Shared\CertificateGeneration\CertificateManager.cs (49)
110public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
122public IList<X509Certificate2> ListCertificates(
129var certificates = new List<X509Certificate2>();
135IEnumerable<X509Certificate2> matchingCertificates = certificates;
174return (IList<X509Certificate2>)matchingCertificates;
187bool HasOid(X509Certificate2 certificate, string oid) =>
191bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
198internal static byte GetCertificateVersion(X509Certificate2 c)
217protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
219certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
222public IList<X509Certificate2> GetHttpsCertificates() =>
252X509Certificate2? certificate = null;
262foreach (var candidate in currentUserCertificates)
457X509Certificate2 certificate;
516foreach (var certificate in filteredCertificates)
524public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
526protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
529protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
531internal abstract bool IsExportable(X509Certificate2 c);
533protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
535protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
543internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
687internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
737var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
741internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
757internal TrustLevel TrustCertificate(X509Certificate2 certificate)
784foreach (var certificate in certificates)
792internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
813internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
815internal abstract void CorrectCertificateState(X509Certificate2 candidate);
817internal static X509Certificate2 CreateSelfSignedCertificate(
831var result = request.CreateSelfSigned(notBefore, notAfter);
846internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
848foreach (var disposable in disposables)
860protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
878protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
882var matching = store.Certificates
883.OfType<X509Certificate2>()
889internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
902internal static string GetDescription(X509Certificate2 c) =>
908internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
922internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
933var certificatesToDispose = new List<X509Certificate2>();
934foreach (var candidate in certificatesWithSubjectName.OfType<X509Certificate2>())
src\Shared\CertificateGeneration\MacOSCertificateManager.cs (28)
15/// Normally, we avoid the use of <see cref="X509Certificate2.Thumbprint"/> because it's a SHA-1 hash and, therefore,
85protected override TrustLevel TrustCertificateCore(X509Certificate2 publicCertificate)
129internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate)
136internal override void CorrectCertificateState(X509Certificate2 candidate)
151public override TrustLevel GetTrustLevel(X509Certificate2 certificate)
177protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate)
198private static void RemoveAdminTrustRule(X509Certificate2 certificate)
237private static void RemoveCertificateFromKeychain(string keychain, X509Certificate2 certificate)
274private static bool IsCertOnKeychain(string keychain, X509Certificate2 certificate)
305internal override bool IsExportable(X509Certificate2 c) => true;
307protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation)
336private static void SaveCertificateToUserKeychain(X509Certificate2 certificate)
373private static string GetCertificateFilePath(X509Certificate2 certificate) =>
376protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
381protected override void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
387var certsFromStore = new List<X509Certificate2>();
418private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
420public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer();
423bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) =>
427int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
431private static ICollection<X509Certificate2> GetCertsFromDisk()
433var certsFromDisk = new List<X509Certificate2>();
445var certificate = new X509Certificate2(file);
459protected override void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
WebTransportInteractiveSampleApp (4)
WebTransportSampleApp (3)
WsFedSample (2)