93 instantiations of X509Certificate2
Binding.UDS.IntegrationTests (1)
dotnet-dev-certs (4)
dotnet-svcutil-lib (11)
Infrastructure.Common (6)
Microsoft.AspNetCore.DeveloperCertificates.XPlat (4)
Microsoft.AspNetCore.HttpOverrides (1)
Microsoft.AspNetCore.Server.HttpSys (2)
Microsoft.AspNetCore.Server.IIS (2)
Microsoft.AspNetCore.Server.IISIntegration (1)
Microsoft.AspNetCore.Server.Kestrel.Core (13)
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic (1)
Microsoft.Build.Tasks.Core (1)
RepoTasks (4)
System.Net.Http.WinHttpHandler (2)
System.Net.Quic (1)
System.Net.Security (6)
System.Security.Cryptography (14)
System.Security.Cryptography.Pkcs (1)
System.Security.Cryptography.Xml (3)
System.ServiceModel.Http.Tests (1)
System.ServiceModel.NetFramingBase (2)
System.ServiceModel.Primitives (11)
System.Windows.Extensions (1)
1735 references to X509Certificate2
aspire (143)
Certificates\CertificateGeneration\CertificateManager.cs (49)
121public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
133public IList<X509Certificate2> ListCertificates(
140var certificates = new List<X509Certificate2>();
146IEnumerable<X509Certificate2> matchingCertificates = certificates;
197return (IList<X509Certificate2>)matchingCertificates;
210bool HasOid(X509Certificate2 certificate, string oid) =>
222internal bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable)
229internal static byte GetCertificateVersion(X509Certificate2 c)
248protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
250certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
253public IList<X509Certificate2> GetHttpsCertificates() =>
319X509Certificate2? certificate = null;
329foreach (var candidate in currentUserCertificates)
555X509Certificate2? certificate = null;
621foreach (var certificate in filteredCertificates)
629public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
631protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
634protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
636internal abstract bool IsExportable(X509Certificate2 c);
638protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
640protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
648internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
801internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
853var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
857internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
873internal TrustLevel TrustCertificate(X509Certificate2 certificate)
900foreach (var certificate in certificates)
908internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
929internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
931internal abstract void CorrectCertificateState(X509Certificate2 candidate);
945internal static X509Certificate2 CreateSelfSignedCertificate(
973var result = request.CreateSelfSigned(notBefore, notAfter);
988internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
990foreach (var disposable in disposables)
1002protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
1020protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
1024var matching = store.Certificates
1025.OfType<X509Certificate2>()
1031internal string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
1044internal string GetDescription(X509Certificate2 c) =>
1050internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
1064internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
1075var certificatesToDispose = new List<X509Certificate2>();
1076foreach (var candidate in certificatesWithSubjectName.OfType<X509Certificate2>())
Certificates\CertificateGeneration\MacOSCertificateManager.cs (30)
18/// Normally, we avoid the use of <see cref="X509Certificate2.Thumbprint"/> because it's a SHA-1 hash and, therefore,
92protected override TrustLevel TrustCertificateCore(X509Certificate2 publicCertificate)
140internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate)
147internal override void CorrectCertificateState(X509Certificate2 candidate)
168public override TrustLevel GetTrustLevel(X509Certificate2 certificate)
197protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate)
218private void RemoveAdminTrustRule(X509Certificate2 certificate)
255private void RemoveCertificateFromKeychain(string keychain, X509Certificate2 certificate)
288private static bool IsCertOnKeychain(string keychain, X509Certificate2 certificate)
321internal override bool IsExportable(X509Certificate2 c) => true;
323protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation)
350private void SaveCertificateToUserKeychain(X509Certificate2 certificate)
384private static string GetCertificateFilePath(X509Certificate2 certificate) =>
395private void WriteAspireCacheFromDiskPfx(string onDiskPfxPath, X509Certificate2 certificate)
408using var diskCert = X509CertificateLoader.LoadPkcs12FromFile(onDiskPfxPath, password: null, X509KeyStorageFlags.Exportable);
434protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
439protected override void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
445var certsFromStore = new List<X509Certificate2>();
476private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2>
478public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer();
481bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) =>
485int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) =>
489private ICollection<X509Certificate2> GetCertsFromDisk()
491var certsFromDisk = new List<X509Certificate2>();
503var certificate = X509CertificateLoader.LoadPkcs12FromFile(file, password: null);
517protected override void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
Aspire.Cli.Tests (45)
Aspire.Dashboard.Components.Tests (2)
Aspire.Dashboard.Playwright.Tests (4)
Aspire.Dashboard.Tests (20)
Aspire.Hosting (48)
DeveloperCertificateService.cs (14)
19private readonly Lazy<ImmutableList<X509Certificate2>> _certificates;
30_certificates = new Lazy<ImmutableList<X509Certificate2>>(() =>
70foreach (var unusedCert in validCerts.Except(trustedCerts))
77return ImmutableList<X509Certificate2>.Empty;
85return ImmutableList<X509Certificate2>.Empty;
110public ImmutableList<X509Certificate2> Certificates => _certificates.Value;
138private static IEnumerable<X509Certificate2> FindDevCertificates(X509Store store, DateTimeOffset now)
165X509Certificate2 certificate,
206X509Certificate2 certificate,
241/// <see cref="X509Certificate2"/>. The public .crt file is written whenever it is missing,
246X509Certificate2 certificate, string? password)
287private static string GetKeyMaterialCacheLookup(X509Certificate2 certificate, string? password)
323X509Certificate2 certificate, string? password, bool needKeyPem, bool needPfx)
384X509Certificate2 certificate,
Aspire.Hosting.Azure.Tests (4)
Aspire.Hosting.Java (1)
Aspire.Hosting.Keycloak.Tests (1)
Aspire.Hosting.Kubernetes (2)
Aspire.Hosting.MongoDB.Tests (8)
Aspire.Hosting.Redis.Tests (7)
Aspire.Hosting.Tests (68)
Aspire.Hosting.TestUtilities (2)
Aspire.Hosting.Yarp.Tests (6)
Aspire.Playground.Tests (13)
Aspire.TestUtilities (13)
Binding.UDS.IntegrationTests (5)
Client.ExpectedExceptions.IntegrationTests (1)
ConfigurationSchemaGenerator.Tests (1)
dotnet-aot (1)
dotnet-dev-certs (108)
src\aspnetcore\src\Shared\CertificateGeneration\CertificateManager.cs (49)
121public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
133public IList<X509Certificate2> ListCertificates(
140var certificates = new List<X509Certificate2>();
146IEnumerable<X509Certificate2> matchingCertificates = certificates;
197return (IList<X509Certificate2>)matchingCertificates;
210bool HasOid(X509Certificate2 certificate, string oid) =>
222internal bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable)
229internal static byte GetCertificateVersion(X509Certificate2 c)
248protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
250certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
253public IList<X509Certificate2> GetHttpsCertificates() =>
320X509Certificate2? certificate = null;
330foreach (var candidate in currentUserCertificates)
556X509Certificate2? certificate = null;
622foreach (var certificate in filteredCertificates)
630public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
632protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
635protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
637internal abstract bool IsExportable(X509Certificate2 c);
639protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
641protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
649internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
802internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
854var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
858internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
874internal TrustLevel TrustCertificate(X509Certificate2 certificate)
901foreach (var certificate in certificates)
909internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
930internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
932internal abstract void CorrectCertificateState(X509Certificate2 candidate);
946internal static X509Certificate2 CreateSelfSignedCertificate(
974var result = request.CreateSelfSigned(notBefore, notAfter);
989internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
991foreach (var disposable in disposables)
1003protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
1021protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
1025var matching = store.Certificates
1026.OfType<X509Certificate2>()
1032internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
1045internal static string GetDescription(X509Certificate2 c) =>
1051internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
1065internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
1076var certificatesToDispose = new List<X509Certificate2>();
1077foreach (var candidate in certificatesWithSubjectName.OfType<X509Certificate2>())
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)
Infrastructure.Common (44)
CertificateManager.cs (25)
89public static X509Certificate2 AddToStoreIfNeeded(StoreName storeName,
91X509Certificate2 certificate)
93X509Certificate2 resultCert = null;
135public static X509Certificate2 AddToOSXKeyChainIfNeeded(SafeKeychainHandle keychain,
136X509Certificate2 certificate)
138X509Certificate2 resultCert = null;
153var publicOnly = new X509Certificate2(certificate.RawData);
171private static X509Certificate2 CertificateFromThumbprint(X509Store store, string thumbprint, bool validOnly)
177private static X509Certificate2 CertificateFromThumbprint(StoreName storeName,
182X509Certificate2 resultCert = null;
192private static X509Certificate2 KeychainCertificateFromThumbprint(string thumbprint, bool validOnly)
194X509Certificate2 resultCert = null;
207public static X509Certificate2 RootCertificateFromThumprint(string thumbprint, bool validOnly)
213public static X509Certificate2 ClientCertificateFromThumprint(string thumbprint, bool validOnly)
219public static X509Certificate2 PeerCertificateFromThumprint(string thumbprint, bool validOnly)
225public static X509Certificate2 OSXLocalKeychainCertificateFromThumprint(string thumbprint, bool validOnly)
233public static X509Certificate2 InstallCertificateToRootStore(X509Certificate2 certificate)
249private static void AddTrustedRootOnMacOS(X509Certificate2 certificate)
331public static X509Certificate2 InstallCertificateToMyStore(X509Certificate2 certificate)
344public static X509Certificate2 InstallCertificateToTrustedPeopleStore(X509Certificate2 certificate)
359public static X509Certificate2 InstallCertificateToOSXKeychainStore(X509Certificate2 certificate)
Microsoft.AspNetCore.Authentication.Certificate (13)
Microsoft.AspNetCore.DataProtection (27)
Microsoft.AspNetCore.DataProtection.Extensions (10)
Microsoft.AspNetCore.DeveloperCertificates.XPlat (102)
src\aspnetcore\src\Shared\CertificateGeneration\CertificateManager.cs (49)
121public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
133public IList<X509Certificate2> ListCertificates(
140var certificates = new List<X509Certificate2>();
146IEnumerable<X509Certificate2> matchingCertificates = certificates;
197return (IList<X509Certificate2>)matchingCertificates;
210bool HasOid(X509Certificate2 certificate, string oid) =>
222internal bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable)
229internal static byte GetCertificateVersion(X509Certificate2 c)
248protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
250certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
253public IList<X509Certificate2> GetHttpsCertificates() =>
320X509Certificate2? certificate = null;
330foreach (var candidate in currentUserCertificates)
556X509Certificate2? certificate = null;
622foreach (var certificate in filteredCertificates)
630public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
632protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
635protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
637internal abstract bool IsExportable(X509Certificate2 c);
639protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
641protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
649internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
802internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
854var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
858internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
874internal TrustLevel TrustCertificate(X509Certificate2 certificate)
901foreach (var certificate in certificates)
909internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
930internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
932internal abstract void CorrectCertificateState(X509Certificate2 candidate);
946internal static X509Certificate2 CreateSelfSignedCertificate(
974var result = request.CreateSelfSigned(notBefore, notAfter);
989internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
991foreach (var disposable in disposables)
1003protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
1021protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
1025var matching = store.Certificates
1026.OfType<X509Certificate2>()
1032internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
1045internal static string GetDescription(X509Certificate2 c) =>
1051internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
1065internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
1076var certificatesToDispose = new List<X509Certificate2>();
1077foreach (var candidate in certificatesWithSubjectName.OfType<X509Certificate2>())
Microsoft.AspNetCore.Grpc.JsonTranscoding (3)
Microsoft.AspNetCore.Http (4)
Microsoft.AspNetCore.Http.Abstractions (4)
Microsoft.AspNetCore.Http.Features (2)
Microsoft.AspNetCore.HttpOverrides (9)
Microsoft.AspNetCore.Owin (5)
Microsoft.AspNetCore.Server.HttpSys (14)
Microsoft.AspNetCore.Server.IIS (5)
Microsoft.AspNetCore.Server.IISIntegration (3)
Microsoft.AspNetCore.Server.Kestrel.Core (164)
Middleware\HttpsConnectionMiddleware.cs (14)
42private readonly X509Certificate2? _serverCertificate;
43private readonly Func<ConnectionContext, string?, X509Certificate2?>? _serverCertificateSelector;
102var certificate = _serverCertificate;
282private X509Certificate2 LocateCertificateWithPrivateKey(X509Certificate2 certificate)
358var cert = _serverCertificateSelector(context, name);
408Func<X509Certificate2, X509Chain?, SslPolicyErrors, bool>? clientCertificateValidation,
426var certificate2 = ConvertToX509Certificate2(certificate);
499internal static void EnsureCertificateIsAllowedForServerAuth(X509Certificate2 certificate, ILogger<HttpsConnectionMiddleware> logger)
511private static X509Certificate2? ConvertToX509Certificate2(X509Certificate? certificate)
518if (certificate is X509Certificate2 cert2)
587var cert = httpsOptions.ServerCertificateSelector(null, host);
630public static void LocatingCertWithPrivateKey(this ILogger<HttpsConnectionMiddleware> logger, X509Certificate2 certificate) => LocatingCertWithPrivateKey(logger, certificate.Thumbprint);
635public static void FoundCertWithPrivateKey(this ILogger<HttpsConnectionMiddleware> logger, X509Certificate2 certificate, StoreLocation storeLocation)
src\aspnetcore\src\Shared\CertificateGeneration\CertificateManager.cs (49)
121public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
133public IList<X509Certificate2> ListCertificates(
140var certificates = new List<X509Certificate2>();
146IEnumerable<X509Certificate2> matchingCertificates = certificates;
197return (IList<X509Certificate2>)matchingCertificates;
210bool HasOid(X509Certificate2 certificate, string oid) =>
222internal bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable)
229internal static byte GetCertificateVersion(X509Certificate2 c)
248protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
250certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
253public IList<X509Certificate2> GetHttpsCertificates() =>
320X509Certificate2? certificate = null;
330foreach (var candidate in currentUserCertificates)
556X509Certificate2? certificate = null;
622foreach (var certificate in filteredCertificates)
630public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
632protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
635protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
637internal abstract bool IsExportable(X509Certificate2 c);
639protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
641protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
649internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
802internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
854var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
858internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
874internal TrustLevel TrustCertificate(X509Certificate2 certificate)
901foreach (var certificate in certificates)
909internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
930internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
932internal abstract void CorrectCertificateState(X509Certificate2 candidate);
946internal static X509Certificate2 CreateSelfSignedCertificate(
974var result = request.CreateSelfSigned(notBefore, notAfter);
989internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
991foreach (var disposable in disposables)
1003protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
1021protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
1025var matching = store.Certificates
1026.OfType<X509Certificate2>()
1032internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
1045internal static string GetDescription(X509Certificate2 c) =>
1051internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
1065internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
1076var certificatesToDispose = new List<X509Certificate2>();
1077foreach (var candidate in certificatesWithSubjectName.OfType<X509Certificate2>())
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic (6)
Microsoft.AspNetCore.Testing (7)
Microsoft.AspNetCore.Testing.Tests (5)
Microsoft.Bcl.Cryptography (26)
Microsoft.Build.Tasks.Core (13)
ManifestUtil\SecurityUtil.cs (9)
575X509Certificate2 cert = GetCert(certThumbprint);
624using X509Certificate2 cert = new X509Certificate2(certPath, certPassword, X509KeyStorageFlags.PersistKeySet);
628private static bool UseSha256Algorithm(X509Certificate2 cert)
649public static void SignFile(X509Certificate2 cert, Uri timestampUrl, string path)
659private static void SignFileInternal(X509Certificate2 cert,
789private static void SignPEFile(X509Certificate2 cert, Uri timestampUrl, string path, System.Resources.ResourceManager resources, bool useSha256)
803private static void SignPEFileInternal(X509Certificate2 cert, Uri timestampUrl,
909internal static X509Certificate2 GetCert(string thumbprint)
928private static bool IsCertInStore(X509Certificate2 cert)
Microsoft.DotNet.HotReload.Watch (3)
netstandard (1)
NuGet.Commands (8)
NuGet.Packaging (68)
Signing\Utility\CertificateUtility.cs (21)
29public static string X509Certificate2ToString(X509Certificate2 cert, HashAlgorithmName fingerprintAlgorithm)
46internal static IReadOnlyList<SignatureLog> X509Certificate2ToLogMessages(X509Certificate2 cert, HashAlgorithmName fingerprintAlgorithm, string indentation = " ")
80private static void X509Certificate2ToString(X509Certificate2 cert, StringBuilder certStringBuilder, HashAlgorithmName fingerprintAlgorithm, string indentation)
136var cert = certCollection[i];
176public static bool IsSignatureAlgorithmSupported(X509Certificate2 certificate)
195public static bool IsCertificatePublicKeyValid(X509Certificate2 certificate)
214public static bool HasLifetimeSigningEku(X509Certificate2 certificate)
225public static bool HasExtendedKeyUsage(X509Certificate2 certificate, string ekuOid)
258public static bool IsValidForPurposeFast(X509Certificate2 certificate, string ekuOid)
286public static bool IsCertificateValidityPeriodInTheFuture(X509Certificate2 certificate)
291public static bool IsDateInsideValidityPeriod(X509Certificate2 certificate, DateTimeOffset date)
305public static byte[] GetHash(X509Certificate2 certificate, HashAlgorithmName hashAlgorithm)
322public static string GetHashString(X509Certificate2 certificate, HashAlgorithmName hashAlgorithm)
348public static bool IsSelfIssued(X509Certificate2 certificate)
419foreach (var certificate in certificates)
492internal static IReadOnlyList<string> GetCrlDistributionPointUrls(X509Certificate2 cert)
502internal static IReadOnlyList<string> GetFreshestCrlUrls(X509Certificate2 cert)
509private static IReadOnlyList<string> GetCrlDistributionPointUrls(X509Certificate2 cert, string extensionOid)
573internal static IReadOnlyList<string> GetOcspUrls(X509Certificate2 cert)
583internal static IReadOnlyList<string> GetCaIssuersUrls(X509Certificate2 cert)
590private static IReadOnlyList<string> GetAuthorityInformationAccessUrls(X509Certificate2 cert, string accessMethodOid)
PresentationUI (29)
RepoTasks (103)
src\aspnetcore\src\Shared\CertificateGeneration\CertificateManager.cs (49)
121public static bool IsHttpsDevelopmentCertificate(X509Certificate2 certificate)
133public IList<X509Certificate2> ListCertificates(
140var certificates = new List<X509Certificate2>();
146IEnumerable<X509Certificate2> matchingCertificates = certificates;
197return (IList<X509Certificate2>)matchingCertificates;
210bool HasOid(X509Certificate2 certificate, string oid) =>
222internal bool IsValidCertificate(X509Certificate2 certificate, DateTimeOffset currentDate, bool requireExportable)
229internal static byte GetCertificateVersion(X509Certificate2 c)
248protected virtual void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable)
250certificates.AddRange(store.Certificates.OfType<X509Certificate2>());
253public IList<X509Certificate2> GetHttpsCertificates() =>
320X509Certificate2? certificate = null;
330foreach (var candidate in currentUserCertificates)
556X509Certificate2? certificate = null;
622foreach (var certificate in filteredCertificates)
630public abstract TrustLevel GetTrustLevel(X509Certificate2 certificate);
632protected abstract X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation);
635protected abstract TrustLevel TrustCertificateCore(X509Certificate2 certificate);
637internal abstract bool IsExportable(X509Certificate2 c);
639protected abstract void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate);
641protected abstract IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation);
649internal void ExportCertificate(X509Certificate2 certificate, string path, bool includePrivateKey, string? password, CertificateKeyExportFormat format)
802internal X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter)
854var certificate = CreateSelfSignedCertificate(subject, extensions, notBefore, notAfter);
858internal X509Certificate2 SaveCertificate(X509Certificate2 certificate)
874internal TrustLevel TrustCertificate(X509Certificate2 certificate)
901foreach (var certificate in certificates)
909internal void RemoveCertificate(X509Certificate2 certificate, RemoveLocations locations)
930internal abstract CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate);
932internal abstract void CorrectCertificateState(X509Certificate2 candidate);
946internal static X509Certificate2 CreateSelfSignedCertificate(
974var result = request.CreateSelfSigned(notBefore, notAfter);
989internal static void DisposeCertificates(IEnumerable<X509Certificate2> disposables)
991foreach (var disposable in disposables)
1003protected void RemoveCertificateFromUserStore(X509Certificate2 certificate)
1021protected virtual void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
1025var matching = store.Certificates
1026.OfType<X509Certificate2>()
1032internal static string ToCertificateDescription(IEnumerable<X509Certificate2> certificates)
1045internal static string GetDescription(X509Certificate2 c) =>
1051internal static bool AreCertificatesEqual(X509Certificate2 cert1, X509Certificate2 cert2)
1065internal static bool TryFindCertificateInStore(X509Store store, X509Certificate2 certificate, [NotNullWhen(true)] out X509Certificate2? foundCertificate)
1076var certificatesToDispose = new List<X509Certificate2>();
1077foreach (var candidate in certificatesWithSubjectName.OfType<X509Certificate2>())
ScenarioTests.Common.Tests (1)
Security.TransportSecurity.IntegrationTests (7)
System (1)
System.DirectoryServices.AccountManagement (7)
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 (13)
System.Net.HttpListener (9)
System.Net.Quic (17)
System\Net\Quic\Internal\MsQuicConfiguration.Cache.cs (3)
37public CacheKey(QUIC_SETTINGS settings, QUIC_CREDENTIAL_FLAGS flags, X509Certificate? certificate, ReadOnlyCollection<X509Certificate2>? intermediates, List<SslApplicationProtocol> alpnProtocols, QUIC_ALLOWED_CIPHER_SUITE_FLAGS allowedCipherSuites)
53foreach (X509Certificate2 intermediate in intermediates)
117private 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 (8)
18=> certificate is X509Certificate2 certificate2 && certificate2.Handle != IntPtr.Zero && certificate2.HasPrivateKey;
35ReadOnlyCollection<X509Certificate2>? intermediates = null;
100ReadOnlyCollection<X509Certificate2>? intermediates = default;
125private static MsQuicConfigurationSafeHandle Create(QuicConnectionOptions options, QUIC_CREDENTIAL_FLAGS flags, X509Certificate? certificate, ReadOnlyCollection<X509Certificate2>? intermediates, List<SslApplicationProtocol>? alpnProtocols, CipherSuitesPolicy? cipherSuitesPolicy, EncryptionPolicy encryptionPolicy)
213private 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)
234if (certificate is X509Certificate2 cert && intermediates is null)
270foreach (X509Certificate2 intermediate in intermediates)
334private static extern SslStreamCertificateContext CreateCertificateContext(SslStreamCertificateContext? context, X509Certificate2 target, X509Certificate2Collection? additionalCertificates, bool offline, SslCertificateTrust? trust, bool noOcspFetch);
System.Net.Security (77)
System.Security.Cryptography (138)
System\Security\Cryptography\X509Certificates\X509Certificate2.cs (33)
89/// Initializes a new instance of the <see cref="X509Certificate2"/> class from certificate data.
103/// Initializes a new instance of the <see cref="X509Certificate2"/> class from certificate data,
758public X509Certificate2 CopyWithPrivateKey(ECDiffieHellman privateKey)
846public X509Certificate2 CopyWithPrivateKey(MLKem privateKey)
948public X509Certificate2 CopyWithPrivateKey(MLDsa privateKey)
1044public unsafe X509Certificate2 CopyWithPrivateKey(SlhDsa privateKey)
1154public X509Certificate2 CopyWithPrivateKey(CompositeMLDsa privateKey)
1256public X509Certificate2 CopyWithPrivateKey(CompositeMLKem privateKey)
1343public static X509Certificate2 CreateFromPemFile(string certPemFilePath, string? keyPemFilePath = default)
1409public static X509Certificate2 CreateFromEncryptedPemFile(string certPemFilePath, ReadOnlySpan<char> password, string? keyPemFilePath = default)
1459public static X509Certificate2 CreateFromPem(ReadOnlySpan<char> certPem, ReadOnlySpan<char> keyPem)
1461using (X509Certificate2 certificate = CreateFromPem(certPem))
1545public static X509Certificate2 CreateFromEncryptedPem(ReadOnlySpan<char> certPem, ReadOnlySpan<char> keyPem, ReadOnlySpan<char> password)
1547using (X509Certificate2 certificate = CreateFromPem(certPem))
1589private static bool IsECDsa(X509Certificate2 certificate)
1597private static bool IsECDiffieHellman(X509Certificate2 certificate)
1627public static X509Certificate2 CreateFromPem(ReadOnlySpan<char> certPem)
1658X509Certificate2 ret = X509CertificateLoader.LoadCertificate(certData.Span);
1992private static X509Certificate2 ExtractKeyFromPem<TAlg>(
1996Func<TAlg, X509Certificate2> import) where TAlg : IDisposable
2014private static X509Certificate2 ExtractKeyFromPem<TAlg>(
2017Func<TAlg, X509Certificate2> import) where TAlg : IDisposable
2032private static X509Certificate2 ExtractKeyFromEncryptedPem<TAlg>(
2036Func<TAlg, X509Certificate2> import) where TAlg : IDisposable
2078private static bool HasECDiffieHellmanKeyUsage(X509Certificate2 certificate)
2096private static X509Certificate2 ExtractKeyFromEncryptedECPem(
2097X509Certificate2 certificate,
2135X509Certificate2? loaded = ExtractKeyFromECPrivateKeyInfo(certificate, decryptedPkcs8.Value);
2163private static X509Certificate2 ExtractKeyFromECPem(X509Certificate2 certificate, ReadOnlySpan<char> keyPem)
2218X509Certificate2? loaded = ExtractKeyFromECPrivateKeyInfo(certificate, base64Buffer.AsMemory(0, base64Written));
2241private static X509Certificate2? ExtractKeyFromECPrivateKeyInfo(
2242X509Certificate2 certificate,
System.Security.Cryptography.Pkcs (98)
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,
492X509Certificate2 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)
846internal static X509Certificate2 GetCertificateFromStore(StoreName storeName, StoreLocation storeLocation,
849X509Certificate2 certificate = GetCertificateFromStoreCore(storeName, storeLocation, findType, findValue, target, true);
859X509FindType findType, object findValue, EndpointAddress target, out X509Certificate2 certificate)
865private static X509Certificate2 GetCertificateFromStoreCore(StoreName storeName, StoreLocation storeLocation,
1019public static bool TryCreateX509CertificateFromRawData(byte[] rawData, out X509Certificate2 certificate)
1040internal static void ResetCertificate(X509Certificate2 certificate)
System.ServiceModel.Primitives.Tests (5)
System.Windows.Extensions (6)