207 instantiations of X509Certificate2
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)
28serverOptions.TestOverrideDefaultCertificate = new X509Certificate2(Path.Combine("shared", "TestCertificates", "aspnetdevcert.pfx"), "testPassword");
193serverOptions.TestOverrideDefaultCertificate = new X509Certificate2(Path.Combine("shared", "TestCertificates", "aspnetdevcert.pfx"), "testPassword");
222ServerCertificate = 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"));
702var certificate = new X509Certificate2(TestResources.GetCertPath(Path.ChangeExtension(certificateFile, "crt")));
733var certificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
886var oldCertificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
889var newCertificate = new X509Certificate2(TestResources.TestCertificatePath, "testPassword", X509KeyStorageFlags.Exportable);
984var oldCertificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
989var 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.Build.Tasks.Core (1)
Microsoft.Build.Tasks.UnitTests (1)
Microsoft.DotNet.SignCheckLibrary (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)
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)
1885 references to X509Certificate2
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)
106public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
118public IList<X509Certificate2> ListCertificates(
125var certificates = new List<X509Certificate2>();
131IEnumerable<X509Certificate2> matchingCertificates = certificates;
170return (IList<X509Certificate2>)matchingCertificates;
183bool HasOid(X509Certificate2 certificate, string oid) =>
187bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
194internal static byte GetCertificateVersion(X509Certificate2 c)
213protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
215certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
218public IList<X509Certificate2> GetHttpsCertificates() =>
248X509Certificate2? certificate = null;
258foreach (var candidate in currentUserCertificates)
453X509Certificate2 certificate;
512foreach (var certificate in filteredCertificates)
520public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
522protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
525protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
527internal abstract bool IsExportable(X509Certificate2 c);
529protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
531protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
539internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
683internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
731var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
735internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
751internal TrustLevel TrustCertificate(X509Certificate2 certificate)
778foreach (var certificate in certificates)
786internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
807internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
809internal abstract void CorrectCertificateState(X509Certificate2 candidate);
811internal static X509Certificate2 CreateSelfSignedCertificate(
825var result = request.CreateSelfSigned(notBefore, notAfter);
840internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
842foreach (var disposable in disposables)
854protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
872protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
876var matching = store.Certificates
877.OfType<X509Certificate2>()
883internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
896internal static string GetDescription(X509Certificate2 c) =>
902internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
916internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
927var certificatesToDispose = new List<X509Certificate2>();
928foreach (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)
106public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
118public IList<X509Certificate2> ListCertificates(
125var certificates = new List<X509Certificate2>();
131IEnumerable<X509Certificate2> matchingCertificates = certificates;
170return (IList<X509Certificate2>)matchingCertificates;
183bool HasOid(X509Certificate2 certificate, string oid) =>
187bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
194internal static byte GetCertificateVersion(X509Certificate2 c)
213protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
215certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
218public IList<X509Certificate2> GetHttpsCertificates() =>
248X509Certificate2? certificate = null;
258foreach (var candidate in currentUserCertificates)
453X509Certificate2 certificate;
512foreach (var certificate in filteredCertificates)
520public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
522protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
525protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
527internal abstract bool IsExportable(X509Certificate2 c);
529protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
531protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
539internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
683internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
731var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
735internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
751internal TrustLevel TrustCertificate(X509Certificate2 certificate)
778foreach (var certificate in certificates)
786internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
807internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
809internal abstract void CorrectCertificateState(X509Certificate2 candidate);
811internal static X509Certificate2 CreateSelfSignedCertificate(
825var result = request.CreateSelfSigned(notBefore, notAfter);
840internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
842foreach (var disposable in disposables)
854protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
872protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
876var matching = store.Certificates
877.OfType<X509Certificate2>()
883internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
896internal static string GetDescription(X509Certificate2 c) =>
902internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
916internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
927var certificatesToDispose = new List<X509Certificate2>();
928foreach (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)
106public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
118public IList<X509Certificate2> ListCertificates(
125var certificates = new List<X509Certificate2>();
131IEnumerable<X509Certificate2> matchingCertificates = certificates;
170return (IList<X509Certificate2>)matchingCertificates;
183bool HasOid(X509Certificate2 certificate, string oid) =>
187bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
194internal static byte GetCertificateVersion(X509Certificate2 c)
213protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
215certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
218public IList<X509Certificate2> GetHttpsCertificates() =>
248X509Certificate2? certificate = null;
258foreach (var candidate in currentUserCertificates)
453X509Certificate2 certificate;
512foreach (var certificate in filteredCertificates)
520public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
522protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
525protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
527internal abstract bool IsExportable(X509Certificate2 c);
529protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
531protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
539internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
683internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
731var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
735internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
751internal TrustLevel TrustCertificate(X509Certificate2 certificate)
778foreach (var certificate in certificates)
786internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
807internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
809internal abstract void CorrectCertificateState(X509Certificate2 candidate);
811internal static X509Certificate2 CreateSelfSignedCertificate(
825var result = request.CreateSelfSigned(notBefore, notAfter);
840internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
842foreach (var disposable in disposables)
854protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
872protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
876var matching = store.Certificates
877.OfType<X509Certificate2>()
883internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
896internal static string GetDescription(X509Certificate2 c) =>
902internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
916internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
927var certificatesToDispose = new List<X509Certificate2>();
928foreach (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 (26)
KestrelConfigurationLoaderTests.cs (21)
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"));
702var certificate = new X509Certificate2(TestResources.GetCertPath(Path.ChangeExtension(certificateFile, "crt")));
733var certificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
886var oldCertificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
889var newCertificate = new X509Certificate2(TestResources.TestCertificatePath, "testPassword", X509KeyStorageFlags.Exportable);
984var oldCertificate = new X509Certificate2(TestResources.GetCertPath("aspnetdevcert.pfx"), "testPassword", X509KeyStorageFlags.Exportable);
989var 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 (11)
Microsoft.Build.Tasks.Core (13)
ManifestUtil\SecurityUtil.cs (9)
566X509Certificate2 cert = GetCert(certThumbprint);
613using X509Certificate2 cert = new X509Certificate2(certPath, certPassword, X509KeyStorageFlags.PersistKeySet);
617private static bool UseSha256Algorithm(X509Certificate2 cert)
636public static void SignFile(X509Certificate2 cert, Uri timestampUrl, string path)
644private static void SignFileInternal(X509Certificate2 cert,
767private static void SignPEFile(X509Certificate2 cert, Uri timestampUrl, string path, System.Resources.ResourceManager resources, bool useSha256)
781private static void SignPEFileInternal(X509Certificate2 cert, Uri timestampUrl,
887internal static X509Certificate2 GetCert(string thumbprint)
906private static bool IsCertInStore(X509Certificate2 cert)
Microsoft.Build.Tasks.UnitTests (6)
Microsoft.DotNet.Build.Tasks.Feed (2)
Microsoft.DotNet.Deployment.Tasks.Links (1)
Microsoft.DotNet.SignCheckLibrary (7)
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 (13)
System\Net\Http\HttpClientHandler.cs (3)
308public Func<HttpRequestMessage, X509Certificate2?, X509Chain?, SslPolicyErrors, bool>? ServerCertificateCustomValidationCallback
374private static Func<HttpRequestMessage, X509Certificate2?, X509Chain?, SslPolicyErrors, bool>? s_dangerousAcceptAnyServerCertificateValidator;
376public static Func<HttpRequestMessage, X509Certificate2?, X509Chain?, SslPolicyErrors, bool> DangerousAcceptAnyServerCertificateValidator =>
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 (54)
System.Security.Cryptography (174)
System.Security.Cryptography.Pkcs (78)
System.Security.Cryptography.X509Certificates (1)
System.Security.Cryptography.Xml (13)
System.ServiceModel.Http.Tests (1)
System.ServiceModel.NetFramingBase (2)
System.ServiceModel.Primitives (10)
System.Windows.Extensions (2)
Templates.Blazor.Tests (102)
src\Shared\CertificateGeneration\CertificateManager.cs (49)
106public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
118public IList<X509Certificate2> ListCertificates(
125var certificates = new List<X509Certificate2>();
131IEnumerable<X509Certificate2> matchingCertificates = certificates;
170return (IList<X509Certificate2>)matchingCertificates;
183bool HasOid(X509Certificate2 certificate, string oid) =>
187bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
194internal static byte GetCertificateVersion(X509Certificate2 c)
213protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
215certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
218public IList<X509Certificate2> GetHttpsCertificates() =>
248X509Certificate2? certificate = null;
258foreach (var candidate in currentUserCertificates)
453X509Certificate2 certificate;
512foreach (var certificate in filteredCertificates)
520public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
522protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
525protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
527internal abstract bool IsExportable(X509Certificate2 c);
529protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
531protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
539internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
683internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
731var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
735internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
751internal TrustLevel TrustCertificate(X509Certificate2 certificate)
778foreach (var certificate in certificates)
786internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
807internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
809internal abstract void CorrectCertificateState(X509Certificate2 candidate);
811internal static X509Certificate2 CreateSelfSignedCertificate(
825var result = request.CreateSelfSigned(notBefore, notAfter);
840internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
842foreach (var disposable in disposables)
854protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
872protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
876var matching = store.Certificates
877.OfType<X509Certificate2>()
883internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
896internal static string GetDescription(X509Certificate2 c) =>
902internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
916internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
927var certificatesToDispose = new List<X509Certificate2>();
928foreach (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)
106public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
118public IList<X509Certificate2> ListCertificates(
125var certificates = new List<X509Certificate2>();
131IEnumerable<X509Certificate2> matchingCertificates = certificates;
170return (IList<X509Certificate2>)matchingCertificates;
183bool HasOid(X509Certificate2 certificate, string oid) =>
187bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
194internal static byte GetCertificateVersion(X509Certificate2 c)
213protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
215certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
218public IList<X509Certificate2> GetHttpsCertificates() =>
248X509Certificate2? certificate = null;
258foreach (var candidate in currentUserCertificates)
453X509Certificate2 certificate;
512foreach (var certificate in filteredCertificates)
520public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
522protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
525protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
527internal abstract bool IsExportable(X509Certificate2 c);
529protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
531protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
539internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
683internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
731var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
735internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
751internal TrustLevel TrustCertificate(X509Certificate2 certificate)
778foreach (var certificate in certificates)
786internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
807internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
809internal abstract void CorrectCertificateState(X509Certificate2 candidate);
811internal static X509Certificate2 CreateSelfSignedCertificate(
825var result = request.CreateSelfSigned(notBefore, notAfter);
840internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
842foreach (var disposable in disposables)
854protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
872protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
876var matching = store.Certificates
877.OfType<X509Certificate2>()
883internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
896internal static string GetDescription(X509Certificate2 c) =>
902internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
916internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
927var certificatesToDispose = new List<X509Certificate2>();
928foreach (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)
106public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
118public IList<X509Certificate2> ListCertificates(
125var certificates = new List<X509Certificate2>();
131IEnumerable<X509Certificate2> matchingCertificates = certificates;
170return (IList<X509Certificate2>)matchingCertificates;
183bool HasOid(X509Certificate2 certificate, string oid) =>
187bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
194internal static byte GetCertificateVersion(X509Certificate2 c)
213protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
215certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
218public IList<X509Certificate2> GetHttpsCertificates() =>
248X509Certificate2? certificate = null;
258foreach (var candidate in currentUserCertificates)
453X509Certificate2 certificate;
512foreach (var certificate in filteredCertificates)
520public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
522protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
525protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
527internal abstract bool IsExportable(X509Certificate2 c);
529protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
531protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
539internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
683internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
731var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
735internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
751internal TrustLevel TrustCertificate(X509Certificate2 certificate)
778foreach (var certificate in certificates)
786internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
807internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
809internal abstract void CorrectCertificateState(X509Certificate2 candidate);
811internal static X509Certificate2 CreateSelfSignedCertificate(
825var result = request.CreateSelfSigned(notBefore, notAfter);
840internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
842foreach (var disposable in disposables)
854protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
872protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
876var matching = store.Certificates
877.OfType<X509Certificate2>()
883internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
896internal static string GetDescription(X509Certificate2 c) =>
902internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
916internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
927var certificatesToDispose = new List<X509Certificate2>();
928foreach (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)
106public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
118public IList<X509Certificate2> ListCertificates(
125var certificates = new List<X509Certificate2>();
131IEnumerable<X509Certificate2> matchingCertificates = certificates;
170return (IList<X509Certificate2>)matchingCertificates;
183bool HasOid(X509Certificate2 certificate, string oid) =>
187bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
194internal static byte GetCertificateVersion(X509Certificate2 c)
213protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
215certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
218public IList<X509Certificate2> GetHttpsCertificates() =>
248X509Certificate2? certificate = null;
258foreach (var candidate in currentUserCertificates)
453X509Certificate2 certificate;
512foreach (var certificate in filteredCertificates)
520public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
522protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
525protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
527internal abstract bool IsExportable(X509Certificate2 c);
529protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
531protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
539internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
683internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
731var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
735internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
751internal TrustLevel TrustCertificate(X509Certificate2 certificate)
778foreach (var certificate in certificates)
786internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
807internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
809internal abstract void CorrectCertificateState(X509Certificate2 candidate);
811internal static X509Certificate2 CreateSelfSignedCertificate(
825var result = request.CreateSelfSigned(notBefore, notAfter);
840internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
842foreach (var disposable in disposables)
854protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
872protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
876var matching = store.Certificates
877.OfType<X509Certificate2>()
883internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
896internal static string GetDescription(X509Certificate2 c) =>
902internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
916internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
927var certificatesToDispose = new List<X509Certificate2>();
928foreach (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)
106public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
118public IList<X509Certificate2> ListCertificates(
125var certificates = new List<X509Certificate2>();
131IEnumerable<X509Certificate2> matchingCertificates = certificates;
170return (IList<X509Certificate2>)matchingCertificates;
183bool HasOid(X509Certificate2 certificate, string oid) =>
187bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable) =>
194internal static byte GetCertificateVersion(X509Certificate2 c)
213protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
215certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
218public IList<X509Certificate2> GetHttpsCertificates() =>
248X509Certificate2? certificate = null;
258foreach (var candidate in currentUserCertificates)
453X509Certificate2 certificate;
512foreach (var certificate in filteredCertificates)
520public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
522protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
525protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
527internal abstract bool IsExportable(X509Certificate2 c);
529protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
531protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
539internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
683internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
731var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
735internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
751internal TrustLevel TrustCertificate(X509Certificate2 certificate)
778foreach (var certificate in certificates)
786internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
807internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
809internal abstract void CorrectCertificateState(X509Certificate2 candidate);
811internal static X509Certificate2 CreateSelfSignedCertificate(
825var result = request.CreateSelfSigned(notBefore, notAfter);
840internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
842foreach (var disposable in disposables)
854protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
872protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
876var matching = store.Certificates
877.OfType<X509Certificate2>()
883internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
896internal static string GetDescription(X509Certificate2 c) =>
902internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
916internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
927var certificatesToDispose = new List<X509Certificate2>();
928foreach (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)