93 instantiations of X509Certificate2
Binding.UDS.IntegrationTests (1)
ServiceHelper.cs (1)
64foundCert = new X509Certificate2(cert);
dotnet-dev-certs (4)
src\aspnetcore\src\Shared\CertificateGeneration\CertificateManager.cs (1)
562certificate = new X509Certificate2(certificatePath, password, X509KeyStorageFlags.Exportable | X509KeyStorageFlags.EphemeralKeySet);
src\aspnetcore\src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
438var certificate = new X509Certificate2(file);
src\aspnetcore\src\Shared\CertificateGeneration\UnixCertificateManager.cs (1)
176certificate = new X509Certificate2(export, "", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
src\aspnetcore\src\Shared\CertificateGeneration\WindowsCertificateManager.cs (1)
65certificate = new X509Certificate2(export, "", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
dotnet-svcutil-lib (11)
FrameworkFork\System.ServiceModel\System\IdentityModel\Claims\X509CertificateClaimSet.cs (2)
34_certificate = clone ? new X509Certificate2(certificate.Handle) : certificate; 512_certificate = clone ? new X509Certificate2(certificate.Handle) : certificate;
FrameworkFork\System.ServiceModel\System\IdentityModel\Selectors\X509SecurityTokenProvider.cs (2)
24_certificate = new X509Certificate2(certificate.Handle); 49_certificate = new X509Certificate2(certificates[0].Handle);
FrameworkFork\System.ServiceModel\System\IdentityModel\Tokens\X509SecurityToken.cs (1)
56_certificate = clone ? new X509Certificate2(certificate.Handle) : certificate;
FrameworkFork\System.ServiceModel\System\ServiceModel\Channels\SslStreamSecurityUpgradeProvider.cs (3)
266_serverCertificate = new X509Certificate2(x509Token.Certificate.Handle); 402X509Certificate2 certificate2 = new X509Certificate2(certificate.Handle); 640X509Certificate2 certificate2 = new X509Certificate2(certificate.Handle);
FrameworkFork\System.ServiceModel\System\ServiceModel\Security\SecurityUtils.cs (2)
859certificate = (rawData == null || rawData.Length == 0) ? null : new X509Certificate2(rawData); 915return new X509Certificate2(certs[0].Handle);
FrameworkFork\System.ServiceModel\System\ServiceModel\X509CertificateEndpointIdentity.cs (1)
59X509Certificate2 certificate = new X509Certificate2(Convert.FromBase64String(reader.ReadElementString()));
Infrastructure.Common (6)
CertificateManager.cs (1)
153var publicOnly = new X509Certificate2(certificate.RawData);
ServiceUtilHelper.cs (5)
152X509Certificate2 rootCertificate = new X509Certificate2(GetResourceFromServiceAsByteArray(RootCertificateResource)); 160return new X509Certificate2(await GetResourceFromServiceAsByteArrayAsync(MachineCertificateResource)); 367X509Certificate2 clientCertificate = new X509Certificate2(GetResourceFromServiceAsByteArray(ClientCertificateResource), "test", storageFlags); 378X509Certificate2 peerCertificate = new X509Certificate2(GetResourceFromServiceAsByteArray(PeerCertificateResource), "test", X509KeyStorageFlags.DefaultKeySet); 389X509Certificate2 peerCertificate = new X509Certificate2(GetResourceFromServiceAsByteArray(PeerCertificateResource), "test", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.UserKeySet);
Microsoft.AspNetCore.DeveloperCertificates.XPlat (4)
src\aspnetcore\src\Shared\CertificateGeneration\CertificateManager.cs (1)
562certificate = new X509Certificate2(certificatePath, password, X509KeyStorageFlags.Exportable | X509KeyStorageFlags.EphemeralKeySet);
src\aspnetcore\src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
438var certificate = new X509Certificate2(file);
src\aspnetcore\src\Shared\CertificateGeneration\UnixCertificateManager.cs (1)
176certificate = new X509Certificate2(export, "", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
src\aspnetcore\src\Shared\CertificateGeneration\WindowsCertificateManager.cs (1)
65certificate = new X509Certificate2(export, "", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
Microsoft.AspNetCore.HttpOverrides (1)
CertificateForwardingOptions.cs (1)
27public Func<string, X509Certificate2> HeaderConverter = (headerValue) => new X509Certificate2(Convert.FromBase64String(headerValue));
Microsoft.AspNetCore.Server.HttpSys (2)
RequestProcessing\ClientCertLoader.cs (1)
280asyncResult.Complete((int)pClientCertInfo->CertFlags, new X509Certificate2(certEncoded));
src\aspnetcore\src\Shared\HttpSys\RequestProcessing\NativeRequestContext.cs (1)
899return new X509Certificate2(certEncoded);
Microsoft.AspNetCore.Server.IIS (2)
Core\IISHttpContext.FeatureCollection.cs (1)
399_certificate = new X509Certificate2(rawCertificateCopy);
src\aspnetcore\src\Shared\HttpSys\RequestProcessing\NativeRequestContext.cs (1)
899return new X509Certificate2(certEncoded);
Microsoft.AspNetCore.Server.IISIntegration (1)
ForwardedTlsConnectionFeature.cs (1)
32_certificate = new X509Certificate2(bytes);
Microsoft.AspNetCore.Server.Kestrel.Core (13)
Internal\Certificates\CertificateConfigLoader.cs (3)
75return (new X509Certificate2(Path.Combine(HostEnvironment.ContentRootPath, certInfo.Path!), certInfo.Password), fullChain); 90return new X509Certificate2(certificateBytes, "", X509KeyStorageFlags.DefaultKeySet); 267return new X509Certificate2(certificatePath);
Internal\TlsConnectionFeature.cs (1)
191_ => new X509Certificate2(certificate),
ListenOptionsHttpsExtensions.cs (3)
43return listenOptions.UseHttps(new X509Certificate2(Path.Combine(env.ContentRootPath, fileName))); 57return listenOptions.UseHttps(new X509Certificate2(Path.Combine(env.ContentRootPath, fileName), password)); 72return listenOptions.UseHttps(new X509Certificate2(Path.Combine(env.ContentRootPath, fileName), password), configureOptions);
Middleware\HttpsConnectionMiddleware.cs (1)
523return new X509Certificate2(certificate);
src\aspnetcore\src\Shared\CertificateGeneration\CertificateManager.cs (1)
562certificate = new X509Certificate2(certificatePath, password, X509KeyStorageFlags.Exportable | X509KeyStorageFlags.EphemeralKeySet);
src\aspnetcore\src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
438var certificate = new X509Certificate2(file);
src\aspnetcore\src\Shared\CertificateGeneration\UnixCertificateManager.cs (1)
176certificate = new X509Certificate2(export, "", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
src\aspnetcore\src\Shared\CertificateGeneration\WindowsCertificateManager.cs (1)
65certificate = new X509Certificate2(export, "", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
TlsConfigurationLoader.cs (1)
161var certificate = new X509Certificate2(certificatePath, certificateConfig.Password);
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic (1)
Internal\QuicConnectionContext.FeatureCollection.cs (1)
53_ => new X509Certificate2(certificate),
Microsoft.Build.Tasks.Core (1)
ManifestUtil\SecurityUtil.cs (1)
624using X509Certificate2 cert = new X509Certificate2(certPath, certPassword, X509KeyStorageFlags.PersistKeySet);
RepoTasks (4)
src\aspnetcore\src\Shared\CertificateGeneration\CertificateManager.cs (1)
562certificate = new X509Certificate2(certificatePath, password, X509KeyStorageFlags.Exportable | X509KeyStorageFlags.EphemeralKeySet);
src\aspnetcore\src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
438var certificate = new X509Certificate2(file);
src\aspnetcore\src\Shared\CertificateGeneration\UnixCertificateManager.cs (1)
176certificate = new X509Certificate2(export, "", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
src\aspnetcore\src\Shared\CertificateGeneration\WindowsCertificateManager.cs (1)
65certificate = new X509Certificate2(export, "", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
System.Net.Http.WinHttpHandler (2)
src\runtime\src\libraries\Common\src\Interop\Windows\SChannel\UnmanagedCertificateContext.IntPtr.cs (1)
38var cert = new X509Certificate2(new IntPtr(next));
System\Net\Http\WinHttpRequestCallback.cs (1)
311var serverCertificate = new X509Certificate2(certHandle);
System.Net.Quic (1)
System\Net\Quic\QuicConnection.SslConnectionOptions.cs (1)
88certificate = new X509Certificate2(certificatePtr);
System.Net.Security (6)
src\runtime\src\libraries\Common\src\Interop\Unix\System.Security.Cryptography.Native\Interop.OpenSsl.cs (1)
1189X509Certificate2 chainCert = new X509Certificate2(certPtr);
System\Net\CertificateValidationPal.Unix.cs (2)
47result = new X509Certificate2(remoteCertificate); 71X509Certificate2 chainCert = new X509Certificate2(certPtr);
System\Net\Security\SslStream.Protocol.cs (1)
272certificateEx = new X509Certificate2(certificate);
System\Net\Security\SslStreamCertificateContext.cs (1)
180return Create(new X509Certificate2(TargetCertificate), intermediates, trust: Trust);
System\Net\Security\SslStreamCertificateContext.Linux.cs (1)
53_privateIntermediateCertificates[i] = new X509Certificate2(intermediates[i]);
System.Security.Cryptography (14)
System\Security\Cryptography\X509Certificates\ChainPal.Windows.cs (1)
77X509Certificate2 certificate = new X509Certificate2((IntPtr)(pChainElement->pCertContext));
System\Security\Cryptography\X509Certificates\DSACertificateExtensions.cs (1)
59return new X509Certificate2(pal);
System\Security\Cryptography\X509Certificates\ECDsaCertificateExtensions.cs (1)
50return new X509Certificate2(pal);
System\Security\Cryptography\X509Certificates\RSACertificateExtensions.cs (1)
54return new X509Certificate2(pal);
System\Security\Cryptography\X509Certificates\StorePal.Windows.cs (1)
45X509Certificate2 cert = new X509Certificate2(pCertContext.DangerousGetHandle());
System\Security\Cryptography\X509Certificates\X509Certificate2.cs (5)
779return new X509Certificate2(pal); 879return new X509Certificate2(pal); 981return new X509Certificate2(pal); 1080return new X509Certificate2(pal); 1623/// For PEM-encoded certificates in a file, use <see cref="X509Certificate2(string)" />.
System\Security\Cryptography\X509Certificates\X509CertificateLoader.netcore.cs (3)
27return new X509Certificate2(pal); 36return new X509Certificate2(pal); 142return new X509Certificate2(_pal);
System\Security\Cryptography\X509Certificates\X509CertificateLoader.Windows.cs (1)
170coll.Add(new X509Certificate2(pal));
System.Security.Cryptography.Pkcs (1)
Internal\Cryptography\PkcsHelpers.cs (1)
136X509Certificate2 certCopy = new X509Certificate2(originalCert.Handle);
System.Security.Cryptography.Xml (3)
System\Security\Cryptography\Xml\KeyInfoX509Data.cs (3)
38new X509Certificate2((byte[])null!) : 54X509Certificate2 certificate = new X509Certificate2(cert); 116X509Certificate2 x509 = new X509Certificate2(certificate);
System.ServiceModel.Http.Tests (1)
ServiceModel\BasicHttpsBindingTest.cs (1)
75var certificate = new X509Certificate2(certificateBytes);
System.ServiceModel.NetFramingBase (2)
System\ServiceModel\Channels\SslStreamSecurityUpgradeProvider.cs (2)
191ServerCertificate = new X509Certificate2(x509Token.Certificate); 406X509Certificate2 certificate2 = new X509Certificate2(certificate);
System.ServiceModel.Primitives (11)
System\IdentityModel\Claims\X509CertificateClaimSet.cs (2)
38_certificate = clone ? new X509Certificate2(certificate) : certificate; 545_certificate = clone ? new X509Certificate2(certificate) : certificate;
System\IdentityModel\SecurityUtils.cs (1)
246certificate = (rawData == null || rawData.Length == 0) ? null : new X509Certificate2(rawData);
System\IdentityModel\Selectors\X509SecurityTokenProvider.cs (1)
30_certificate = new X509Certificate2(certificate);
System\IdentityModel\Tokens\X509RawDataKeyIdentifierClause.cs (1)
44_certificate = new X509Certificate2(GetBuffer());
System\IdentityModel\Tokens\X509SecurityToken.cs (1)
57_certificate = clone ? new X509Certificate2(certificate) : certificate;
System\ServiceModel\Security\ReceiveSecurityHeader.cs (1)
1083token = new X509SecurityToken(new X509Certificate2(((X509RawDataKeyIdentifierClause)keyIdentifierClause).GetX509RawData()), false);
System\ServiceModel\Security\SecurityHeaderTokenResolver.cs (1)
176resolvedToken = new X509SecurityToken(new X509Certificate2(((X509RawDataKeyIdentifierClause)keyIdentifierClause).GetX509RawData()));
System\ServiceModel\Security\SecurityUtils.cs (2)
881return new X509Certificate2(certs[0]); 1022certificate = (rawData == null || rawData.Length == 0) ? null : new X509Certificate2(rawData);
System\ServiceModel\X509CertificateEndpointIdentity.cs (1)
65X509Certificate2 certificate = new X509Certificate2(Convert.FromBase64String(reader.ReadElementString()));
System.Windows.Extensions (1)
System\Security\Cryptography\X509Certificates\X509Utils.cs (1)
67X509Certificate2 certificate = new X509Certificate2(pEnumContext);
1735 references to X509Certificate2
aspire (143)
Backchannel\ExtensionBackchannel.cs (1)
869private X509Certificate2 GetCertificate()
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)
Certificates\CertificateGeneration\UnixCertificateManager.cs (16)
72public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 75internal TrustLevel GetTrustLevel(X509Certificate2 certificate, CancellationToken cancellationToken) 138using var candidate = X509CertificateLoader.LoadCertificateFromFile(certPath); 199protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 217internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 224internal override void CorrectCertificateState(X509Certificate2 candidate) 230internal override bool IsExportable(X509Certificate2 c) => true; 232protected override TrustLevel TrustCertificateCore(X509Certificate2 certificate) 248using var publicCertificate = X509CertificateLoader.LoadCertificate(certificate.Export(X509ContentType.Cert)); 279using var existingCert = X509CertificateLoader.LoadCertificateFromFile(certPath); 472protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 479if (TryFindCertificateInStore(store, certificate, out var matching)) 567protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation) 619private static string GetCertificateNickname(X509Certificate2 certificate) 653private static bool TrustCertificateInWindowsStore(X509Certificate2 certificate)
Certificates\CertificateGeneration\WindowsCertificateManager.cs (11)
31internal override bool IsExportable(X509Certificate2 c) 45internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 50internal override void CorrectCertificateState(X509Certificate2 candidate) 55protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 76protected override TrustLevel TrustCertificateCore(X509Certificate2 certificate) 91using var publicCertificate = X509CertificateLoader.LoadCertificate(certificate.Export(X509ContentType.Cert)); 103protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 110if (TryFindCertificateInStore(store, certificate, out var matching)) 122public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 129protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
Certificates\CertificateHelpers.cs (1)
56internal static string GetAspireCertificateHash(X509Certificate2 certificate) =>
Certificates\NativeCertificateToolRunner.cs (5)
112internal EnsureCertificateResult TrustHttpCertificateOnLinux(IEnumerable<X509Certificate2> availableCertificates, DateTimeOffset now) 114X509Certificate2? certificate = null; 218var certificate = validCertificates 243internal string GetOrCreateCertificateCacheFile(X509Certificate2 certificate, string outputDirectory) 260private static string[]? GetSanExtension(X509Certificate2 cert)
src\Shared\X509Certificate2Extensions.cs (13)
23/// <param name="certificate">The <see cref="X509Certificate2"/> to check.</param> 25public static bool IsAspNetCoreDevelopmentCertificate(this X509Certificate2 certificate) 44public static byte GetCertificateVersion(this X509Certificate2 certificate) 69public static bool SupportsContainerTrust(this X509Certificate2 certificate) 101foreach (var certificate in store.Certificates.Where(c => !c.MatchesHostname("localhost") || c.HasSubjectKeyIdentifier())) 113public static bool HasSubjectKeyIdentifier(this X509Certificate2 certificate) 126public static IOrderedEnumerable<X509Certificate2> OrderByVersion(this IEnumerable<X509Certificate2> certificates) 139public static List<X509Certificate2> GetTrustedCertificates( 140this IEnumerable<X509Certificate2> certificates, 158var trustedCertificates = new List<X509Certificate2>(); 159foreach (var certificate in certificates) 190foreach (var rootCertificate in rootCertificates)
Utils\EnvironmentChecker\DcpConnectionChecker.cs (3)
150using var serverCertificate = X509CertificateLoader.LoadCertificate(certificate.Export(X509ContentType.Cert)); 155foreach (var authorityCertificate in kubeconfig.CertificateAuthorityCertificates) 415var certificate = certificates.FirstOrDefault(c =>
Utils\EnvironmentChecker\DcpDeveloperCertificateCache.cs (1)
14public static string EnsureDeveloperCertificateCache(CertificateManager certificateManager, X509Certificate2 certificate)
Utils\EnvironmentChecker\DcpKubeconfig.cs (8)
19public List<X509Certificate2> CertificateAuthorityCertificates { get; init; } = []; 21public X509Certificate2? ClientCertificate { get; init; } 93foreach (var certificate in CertificateAuthorityCertificates) 131private static List<X509Certificate2> LoadCertificates(string base64Data) 137return certificates.OfType<X509Certificate2>().ToList(); 140private static X509Certificate2 LoadClientCertificate(string certificateData, string keyData) 145using var certificate = X509Certificate2.CreateFromPem(certificatePem, keyPem);
Utils\EnvironmentChecker\DevCertsCheck.cs (5)
306using var cachedCertificate = X509CertificateLoader.LoadCertificateFromFile(certificateFile); 361private async Task<bool> HasOpenSslHashEntryAsync(string trustPath, string certificateFile, X509Certificate2 certificate, string? openSslPath, CancellationToken cancellationToken) 375private static bool HasMatchingHashEntry(string trustPath, string hash, X509Certificate2 certificate) 389private static bool CertificateFileMatches(string certificateFile, X509Certificate2 certificate) 398using var cachedCertificate = X509CertificateLoader.LoadCertificateFromFile(certificateFile);
Aspire.Cli.Tests (45)
Certificates\DeveloperCertificateCacheWriteTests.cs (3)
32using var certificate = certificateManager.CreateAspNetCoreHttpsDevelopmentCertificate( 47using var cachedPfxCertificate = X509CertificateLoader.LoadPkcs12FromFile(cachedPfxPath, password: null); 56X509Certificate2 certificate)
Certificates\NativeCertificateToolRunnerTests.cs (14)
34using var certificate = certificateManager.CreateAspNetCoreHttpsDevelopmentCertificate( 51using var olderCertificate = olderVersionManager.CreateAspNetCoreHttpsDevelopmentCertificate( 67using var certificate = certificateManager.CreateAspNetCoreHttpsDevelopmentCertificate( 89using var certificate = certificateManager.CreateAspNetCoreHttpsDevelopmentCertificate( 146List<X509Certificate2> certificates, 156protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 162protected override TrustLevel TrustCertificateCore(X509Certificate2 certificate) 168public override TrustLevel GetTrustLevel(X509Certificate2 certificate) => TrustLevel.None; 170internal override bool IsExportable(X509Certificate2 c) => true; 172protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 176protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation) => []; 182internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) => new(true, null); 184internal override void CorrectCertificateState(X509Certificate2 candidate)
Certificates\UnixCertificateManagerTests.cs (7)
427using var certificate = manager.CreateAspNetCoreHttpsDevelopmentCertificate( 473using var certificate = manager.CreateAspNetCoreHttpsDevelopmentCertificate( 504using var certificate = manager.CreateAspNetCoreHttpsDevelopmentCertificate( 539using var certificate = manager.CreateAspNetCoreHttpsDevelopmentCertificate( 574using var certificate = manager.CreateAspNetCoreHttpsDevelopmentCertificate( 577using var savedCertificate = manager.SaveCertificate(certificate); 609using var certificate = manager.CreateAspNetCoreHttpsDevelopmentCertificate(
Utils\DcpConnectionHealthCheckTests.cs (2)
296using var certificate = certificateManager.CreateAspNetCoreHttpsDevelopmentCertificate( 338using var certificate = request.CreateSelfSigned(DateTimeOffset.UtcNow.AddDays(-1), DateTimeOffset.UtcNow.AddDays(1));
Utils\DevCertsCheckTests.cs (19)
34private static DevCertInfo CreateDevCertInfo(CertificateManager.TrustLevel trustLevel, X509Certificate2 certificate, int version) 49private static X509Certificate2 CreateCertificate() 53using var certificate = request.CreateSelfSigned(DateTimeOffset.UtcNow.AddDays(-1), DateTimeOffset.UtcNow.AddDays(1)); 110private static string GetOpenSslCertificateFileName(X509Certificate2 certificate) => 113private static void WriteOpenSslCertificateCache(DirectoryInfo trustDirectory, X509Certificate2 certificate, string hashEntryName = "12345678.0") 395using var certificate = CreateCertificate(); 443using var certificate = CreateCertificate(); 494using var certificate = CreateCertificate(); 549using var certificate = CreateCertificate(); 598using var certificate = CreateCertificate(); 658using var certificate = CreateCertificate(); 716using var certificate = CreateCertificate(); 758using var certificate = CreateCertificate(); 802using var certificate = CreateCertificate(); 846using var certificate = CreateCertificate(); 892using var certificate = CreateCertificate(); 938using var certificate = CreateCertificate(); 981using var certificate = CreateCertificate(); 982using var staleCertificate = CreateCertificate();
Aspire.Dashboard.Components.Tests (2)
tests\Shared\Telemetry\TelemetryTestHelpers.cs (2)
311public static X509Certificate2 GenerateDummyCertificate() 320var certificate = request.CreateSelfSigned(
Aspire.Dashboard.Playwright.Tests (4)
tests\Shared\Telemetry\TelemetryTestHelpers.cs (2)
311public static X509Certificate2 GenerateDummyCertificate() 320var certificate = request.CreateSelfSigned(
tests\Shared\TestCertificateLoader.cs (2)
20public static X509Certificate2 GetTestCertificate(string certName = "testCert.pfx") 25public static X509Certificate2 GetTestCertificate(string certName, string password)
Aspire.Dashboard.Tests (20)
Integration\IntegrationTestHelpers.cs (6)
25private static readonly X509Certificate2 s_testCertificate = TestCertificateLoader.GetTestCertificate(); 124Action<X509Certificate2?>? validationCallback = null, 133validationCallback?.Invoke((X509Certificate2)cert!); 149Action<X509Certificate2?>? validationCallback = null, 165Action<X509Certificate2?>? validationCallback = null, 194validationCallback?.Invoke((X509Certificate2)cert!);
Integration\OtlpGrpcServiceTests.cs (5)
275X509Certificate2? clientCallbackCert = null; 349var clientCertificate = TestCertificateLoader.GetTestCertificate("eku.client.pfx"); 368var clientCertificate = TestCertificateLoader.GetTestCertificate("eku.client.pfx"); 369X509Certificate2? clientCallbackCert = null; 408X509Certificate2? clientCallbackCert = null;
Integration\OtlpHttpServiceTests.cs (1)
275X509Certificate2? clientCallbackCert = null;
Model\DashboardClientTests.cs (4)
248using var certificate = request.CreateSelfSigned(now.AddDays(-1), now.AddDays(1)); 250X509Certificate2? loadedCertificate = null; 266loadedCertificate = Assert.IsType<X509Certificate2>(Assert.Single(handler.SslOptions.ClientCertificates.Cast<X509Certificate>())); 286using var certificate = TestCertificateLoader.GetTestCertificate();
tests\Shared\Telemetry\TelemetryTestHelpers.cs (2)
311public static X509Certificate2 GenerateDummyCertificate() 320var certificate = request.CreateSelfSigned(
tests\Shared\TestCertificateLoader.cs (2)
20public static X509Certificate2 GetTestCertificate(string certName = "testCert.pfx") 25public static X509Certificate2 GetTestCertificate(string certName, string password)
Aspire.Hosting (48)
ApplicationModel\CertificateAuthorityCollectionResourceExtensions.cs (5)
48public static IResourceBuilder<CertificateAuthorityCollection> WithCertificate(this IResourceBuilder<CertificateAuthorityCollection> builder, X509Certificate2 certificate) 82public static IResourceBuilder<CertificateAuthorityCollection> WithCertificates(this IResourceBuilder<CertificateAuthorityCollection> builder, IEnumerable<X509Certificate2> certificates) 117public static IResourceBuilder<CertificateAuthorityCollection> WithCertificatesFromStore(this IResourceBuilder<CertificateAuthorityCollection> builder, StoreName storeName, StoreLocation storeLocation, Func<X509Certificate2, bool>? filter = null) 123var certificates = store.Certificates as IEnumerable<X509Certificate2>; 157public static IResourceBuilder<CertificateAuthorityCollection> WithCertificatesFromFile(this IResourceBuilder<CertificateAuthorityCollection> builder, string pemFilePath, Func<X509Certificate2, bool>? filter = null)
ApplicationModel\CertificateTrustExecutionConfigurationGatherer.cs (1)
71foreach (var cert in developerCertificateService.Certificates)
ApplicationModel\ExecutionConfigurationBuilderExtensions.cs (1)
57public static IExecutionConfigurationBuilder WithHttpsCertificateConfig(this IExecutionConfigurationBuilder builder, Func<X509Certificate2, HttpsCertificateExecutionConfigurationContext> configContextFactory)
ApplicationModel\HttpsCertificateAnnotation.cs (3)
16private X509Certificate2? _certificate; 20/// Sets an <see cref="X509Certificate2"/> instance associated with this annotation. 23public X509Certificate2? Certificate
ApplicationModel\HttpsCertificateExecutionConfigurationGatherer.cs (4)
18private readonly Func<X509Certificate2, HttpsCertificateExecutionConfigurationContext> _configContextFactory; 24public HttpsCertificateExecutionConfigurationGatherer(Func<X509Certificate2, HttpsCertificateExecutionConfigurationContext> configContextFactory) 38X509Certificate2? certificate = effectiveAnnotation.Certificate; 106public required X509Certificate2 Certificate { get; init; }
Ats\ExecutionConfigurationExports.cs (2)
94CertificateSubjects = [.. additionalData.Certificates.Cast<X509Certificate2>().Select(static certificate => certificate.Subject)], 158internal static HttpsCertificateInfo FromCertificate(X509Certificate2 certificate)
Dcp\DcpHost.cs (2)
205X509Certificate2? certificate = null; 206foreach (var cert in certificates)
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,
IDeveloperCertificateService.cs (1)
19ImmutableList<X509Certificate2> Certificates { get; }
ResourceBuilderExtensions.cs (2)
4602/// <param name="certificate">An <see cref="X509Certificate2"/> key pair to use for HTTPS/TLS endpoints on the resource.</param> 4618public static IResourceBuilder<TResource> WithHttpsCertificate<TResource>(this IResourceBuilder<TResource> builder, X509Certificate2 certificate, IResourceBuilder<ParameterResource>? password = null)
src\Shared\X509Certificate2Extensions.cs (13)
23/// <param name="certificate">The <see cref="X509Certificate2"/> to check.</param> 25public static bool IsAspNetCoreDevelopmentCertificate(this X509Certificate2 certificate) 44public static byte GetCertificateVersion(this X509Certificate2 certificate) 69public static bool SupportsContainerTrust(this X509Certificate2 certificate) 101foreach (var certificate in store.Certificates.Where(c => !c.MatchesHostname("localhost") || c.HasSubjectKeyIdentifier())) 113public static bool HasSubjectKeyIdentifier(this X509Certificate2 certificate) 126public static IOrderedEnumerable<X509Certificate2> OrderByVersion(this IEnumerable<X509Certificate2> certificates) 139public static List<X509Certificate2> GetTrustedCertificates( 140this IEnumerable<X509Certificate2> certificates, 158var trustedCertificates = new List<X509Certificate2>(); 159foreach (var certificate in certificates) 190foreach (var rootCertificate in rootCertificates)
Aspire.Hosting.Azure.Tests (4)
AzureCosmosDBExtensionsTests.cs (4)
788new List<X509Certificate2>(), 819new List<X509Certificate2>(), 851new List<X509Certificate2>(), 880new List<X509Certificate2>(),
Aspire.Hosting.Java (1)
JavaHostingExtensions.cs (1)
1711using var publicCert = X509CertificateLoader.LoadCertificate(certificates[i].Export(X509ContentType.Cert));
Aspire.Hosting.Keycloak.Tests (1)
KeycloakResourceBuilderTests.cs (1)
66new List<X509Certificate2>(),
Aspire.Hosting.Kubernetes (2)
KubernetesEnvironmentResource.cs (2)
1624using var cert = certRequest.CreateSelfSigned(DateTimeOffset.UtcNow, DateTimeOffset.UtcNow.AddDays(1)); 2261using var cert = request.CreateSelfSigned(DateTimeOffset.UtcNow, DateTimeOffset.UtcNow.AddDays(1));
Aspire.Hosting.MongoDB.Tests (8)
AddMongoDBTests.cs (6)
458using var certificate = CreateTestCertificate(); 509using var certificate = CreateTestCertificate(); 554using var certificate = CreateTestCertificate(); 632using var certificate = CreateTestCertificate(); 650using var certificate = CreateTestCertificate(); 757private static X509Certificate2 CreateTestCertificate()
ReplicaSet\AddMongoDBReplicaSetTests.cs (2)
218using var certificate = CreateTestCertificate(); 558private static X509Certificate2 CreateTestCertificate()
Aspire.Hosting.Redis.Tests (7)
AddRedisTests.cs (7)
900using var cert = CreateTestCertificate(); 916using var cert = CreateTestCertificate(); 929using var cert = CreateTestCertificate(); 966using var cert = CreateTestCertificate(); 987using var cert = CreateTestCertificate(); 1061private static X509Certificate2 CreateTestCertificate() 1074var certificate = request.CreateSelfSigned(DateTimeOffset.UtcNow.AddDays(-1), DateTimeOffset.UtcNow.AddDays(1));
Aspire.Hosting.Tests (68)
Dcp\DcpApiServerCertificateFixture.cs (3)
11internal X509Certificate2 Certificate { get; } = CreateCertificate(); 18private static X509Certificate2 CreateCertificate() 22using var certificate = request.CreateSelfSigned(DateTimeOffset.UtcNow.AddDays(-1), DateTimeOffset.UtcNow.AddDays(1));
Dcp\DcpExecutorTests.cs (7)
6017using var certificate = CreateTestCertificate(); 6059using var certificate = CreateTestCertificate(); 6127using var certificate = CreateTestCertificate(); 8905using var certificate = CreateTestCertificate(); 11405var developerCertificateService = new TestDeveloperCertificateService(new List<X509Certificate2>(), false, false, false); 11495using var certificate = CreateTestCertificate(); 11604private static X509Certificate2 CreateTestCertificate()
Dcp\DcpHostNotificationTests.cs (12)
126using var certificate = CreateUntrustedCertificate(); 457using var certificate = CreateExportableCertificate(); 501using var certificate = CreateUntrustedCertificate(); 765private static X509Certificate2 CreateUntrustedCertificate() 785private static X509Certificate2 CreateExportableCertificate() 792using var certificate = request.CreateSelfSigned(DateTimeOffset.UtcNow.AddDays(-1), DateTimeOffset.UtcNow.AddDays(30)); 819using var certificate = CreateUntrustedCertificate(); 856using var certificate = CreateUntrustedCertificate(); 893using var certificate = CreateUntrustedCertificate(); 944using var certificate = CreateUntrustedCertificate(); 992using var certificate = CreateUntrustedCertificate(); 1037using var certificate = CreateUntrustedCertificate();
Dcp\KubernetesServiceTests.cs (1)
2481X509Certificate2 certificate,
DeveloperCertificateServiceTests.cs (8)
14using var cert = CreateRsaSelfSignedCertificate(); 31using var cert = CreateEcdsaSelfSignedCertificate(); 48using var cert = CreateEcdsaSelfSignedCertificate(); 65using var cert = CreateEcdsaSelfSignedCertificate(); 66using var publicOnly = X509CertificateLoader.LoadCertificate(cert.Export(X509ContentType.Cert)); 77private static X509Certificate2 CreateRsaSelfSignedCertificate() 86private static X509Certificate2 CreateEcdsaSelfSignedCertificate() 92using var selfSigned = req.CreateSelfSigned(DateTimeOffset.UtcNow.AddDays(-1), DateTimeOffset.UtcNow.AddDays(30));
DistributedApplicationTests.cs (3)
928using var cert = request.CreateSelfSigned(DateTimeOffset.UtcNow.AddDays(-1), DateTimeOffset.UtcNow.AddDays(1)); 1059foreach (var cert in dc.Certificates) 1064Assert.True(X509Certificate2.CreateFromPem(foundCert.Contents).IsAspNetCoreDevelopmentCertificate());
ExecutionConfigurationGathererTests.cs (23)
339var cert = CreateTestCertificate(); 366var cert = CreateTestCertificate(); 396var cert = CreateTestCertificate(); 424var cert = CreateTestCertificate(); 472var cert = CreateTestCertificate(); 501var cert = CreateTestCertificate(); 531var cert = CreateTestCertificate(); 564var cert = CreateTestCertificate(); 601var cert = CreateTestCertificate(); 622using var publicCert = X509CertificateLoader.LoadCertificate(certificates[i].Export(X509ContentType.Cert)); 690var cert = CreateTestCertificate(); 731var cert = CreateTestCertificateWithPrivateKey(); 760var cert = CreateTestCertificateWithPrivateKey(); 791var devCert = CreateTestCertificate(); 838var cert = CreateTestCertificateWithPrivateKey(); 876var cert = CreateTestCertificateWithPrivateKey(); 903private static X509Certificate2 CreateTestCertificate() 926private static X509Certificate2 CreateTestCertificateWithPrivateKey() 949private static Func<X509Certificate2, HttpsCertificateExecutionConfigurationContext> CreateHttpsCertificateConfigurationContextFactory() 962private readonly X509Certificate2? _certificate; 964public TestDeveloperCertificateService(X509Certificate2? certificate = null) 969public ImmutableList<X509Certificate2> Certificates => 970_certificate != null ? [_certificate] : ImmutableList<X509Certificate2>.Empty;
ProjectResourceBuilderExtensionTests.cs (11)
147var cert = CreateTestCertificateWithPrivateKey(); 175var cert = CreateTestCertificateWithPrivateKey(); 200var cert = CreateTestCertificateWithPrivateKey(); 227using var cert = CreateTestCertificateWithPrivateKey(); 295using var cert = CreateTestCertificateWithPrivateKey(); 375using var cert = CreateTestCertificateWithPrivateKey(); 402using var cert = CreateTestCertificateWithPrivateKey(); 443using var cert = CreateTestCertificateWithPrivateKey(); 485using var cert = CreateTestCertificateWithPrivateKey(); 515private static X509Certificate2 CreateTestCertificateWithPrivateKey() 527private static Func<X509Certificate2, HttpsCertificateExecutionConfigurationContext> CreateHttpsCertificateConfigurationContextFactory()
Aspire.Hosting.TestUtilities (2)
Utils\TestDeveloperCertificateService.cs (2)
10public sealed class TestDeveloperCertificateService(List<X509Certificate2> certificates, bool supportsContainerTrust, bool trustCertificate, bool tlsTerminate, bool latestCertificateIsUntrusted = false) : IDeveloperCertificateService 14public ImmutableList<X509Certificate2> Certificates { get; } = certificates.ToImmutableList();
Aspire.Hosting.Yarp.Tests (6)
AddYarpTests.cs (6)
45new List<X509Certificate2>(), 117new List<X509Certificate2>(), 140new List<X509Certificate2>(), 162new List<X509Certificate2>(), 429new List<X509Certificate2>(), 457new List<X509Certificate2>(),
Aspire.Playground.Tests (13)
src\Shared\X509Certificate2Extensions.cs (13)
23/// <param name="certificate">The <see cref="X509Certificate2"/> to check.</param> 25public static bool IsAspNetCoreDevelopmentCertificate(this X509Certificate2 certificate) 44public static byte GetCertificateVersion(this X509Certificate2 certificate) 69public static bool SupportsContainerTrust(this X509Certificate2 certificate) 101foreach (var certificate in store.Certificates.Where(c => !c.MatchesHostname("localhost") || c.HasSubjectKeyIdentifier())) 113public static bool HasSubjectKeyIdentifier(this X509Certificate2 certificate) 126public static IOrderedEnumerable<X509Certificate2> OrderByVersion(this IEnumerable<X509Certificate2> certificates) 139public static List<X509Certificate2> GetTrustedCertificates( 140this IEnumerable<X509Certificate2> certificates, 158var trustedCertificates = new List<X509Certificate2>(); 159foreach (var certificate in certificates) 190foreach (var rootCertificate in rootCertificates)
Aspire.TestUtilities (13)
src\Shared\X509Certificate2Extensions.cs (13)
23/// <param name="certificate">The <see cref="X509Certificate2"/> to check.</param> 25public static bool IsAspNetCoreDevelopmentCertificate(this X509Certificate2 certificate) 44public static byte GetCertificateVersion(this X509Certificate2 certificate) 69public static bool SupportsContainerTrust(this X509Certificate2 certificate) 101foreach (var certificate in store.Certificates.Where(c => !c.MatchesHostname("localhost") || c.HasSubjectKeyIdentifier())) 113public static bool HasSubjectKeyIdentifier(this X509Certificate2 certificate) 126public static IOrderedEnumerable<X509Certificate2> OrderByVersion(this IEnumerable<X509Certificate2> certificates) 139public static List<X509Certificate2> GetTrustedCertificates( 140this IEnumerable<X509Certificate2> certificates, 158var trustedCertificates = new List<X509Certificate2>(); 159foreach (var certificate in certificates) 190foreach (var rootCertificate in rootCertificates)
Binding.UDS.IntegrationTests (5)
ServiceHelper.cs (4)
46public static X509Certificate2 GetServiceCertificate() 49X509Certificate2 foundCert = null; 57foreach (var cert in certificates) 75foreach (var cert in certificates)
UDSBindingTests.cs (1)
112var cert = ServiceHelper.GetServiceCertificate();
Client.ExpectedExceptions.IntegrationTests (1)
ExpectedExceptionTests.4.0.0.cs (1)
399public override void Validate(X509Certificate2 certificate)
ConfigurationSchemaGenerator.Tests (1)
GeneratorTests.cs (1)
455MetadataReference.CreateFromFile(typeof(X509Certificate2).Assembly.Location)
dotnet-aot (1)
parent\dotnet\NugetPackageDownloader\FirstPartyNuGetPackageSigningVerifier.cs (1)
110X509Certificate2 firstCert = certificateChain.First();
dotnet-dev-certs (108)
Program.cs (6)
307var validCertificates = new List<X509Certificate2>(); 315foreach (var certificate in certificates) 356private static void ReportCertificates(IReporter reporter, IReadOnlyList<X509Certificate2> certificates, string certificateState) 383foreach (var certificate in certificates) 508public static CertificateReport FromX509Certificate2(X509Certificate2 cert) 535static List<string> GetSanExtension(X509Certificate2 cert)
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>())
src\aspnetcore\src\Shared\CertificateGeneration\MacOSCertificateManager.cs (27)
86protected override TrustLevel TrustCertificateCore(X509Certificate2 publicCertificate) 129internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 136internal override void CorrectCertificateState(X509Certificate2 candidate) 151public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 179protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 200private static void RemoveAdminTrustRule(X509Certificate2 certificate) 237private static void RemoveCertificateFromKeychain(string keychain, X509Certificate2 certificate) 270private static bool IsCertOnKeychain(string keychain, X509Certificate2 certificate) 301internal override bool IsExportable(X509Certificate2 c) => true; 303protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 332private static void SaveCertificateToUserKeychain(X509Certificate2 certificate) 366private static string GetCertificateFilePath(X509Certificate2 certificate) => 369protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation) 374protected override void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable) 380var certsFromStore = new List<X509Certificate2>(); 411private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2> 413public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer(); 416bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) => 420int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) => 424private static ICollection<X509Certificate2> GetCertsFromDisk() 426var certsFromDisk = new List<X509Certificate2>(); 438var certificate = new X509Certificate2(file); 452protected override void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
src\aspnetcore\src\Shared\CertificateGeneration\UnixCertificateManager.cs (15)
57public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 117using var candidate = X509CertificateLoader.LoadCertificateFromFile(certPath); 172protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 189internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 196internal override void CorrectCertificateState(X509Certificate2 candidate) 202internal override bool IsExportable(X509Certificate2 c) => true; 204protected override TrustLevel TrustCertificateCore(X509Certificate2 certificate) 220using var publicCertificate = X509CertificateLoader.LoadCertificate(certificate.Export(X509ContentType.Cert)); 251using var existingCert = X509CertificateLoader.LoadCertificateFromFile(certPath); 444protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 451if (TryFindCertificateInStore(store, certificate, out var matching)) 536protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation) 633private static string GetCertificateNickname(X509Certificate2 certificate) 667private static bool TrustCertificateInWindowsStore(X509Certificate2 certificate)
src\aspnetcore\src\Shared\CertificateGeneration\WindowsCertificateManager.cs (11)
35internal override bool IsExportable(X509Certificate2 c) 49internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 54internal override void CorrectCertificateState(X509Certificate2 candidate) 59protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 79protected override TrustLevel TrustCertificateCore(X509Certificate2 certificate) 94using var publicCertificate = X509CertificateLoader.LoadCertificate(certificate.Export(X509ContentType.Cert)); 106protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 113if (TryFindCertificateInStore(store, certificate, out var matching)) 125public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 132protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
dotnet-svcutil-lib (71)
CmdCredentialsProvider.cs (6)
81foreach (X509Certificate2 certificate in certificateStore.Certificates) 131X509Certificate2 cert = null; 141private X509Certificate2 SelectCertificateFromCollection(X509Certificate2Collection selectedCerts, Uri serviceUri) 149var candidateCerts = new List<X509Certificate2>(); 151foreach (var cert in selectedCerts) 171var selectedCert = candidateCerts[idx - 1];
FrameworkFork\System.ServiceModel\System\IdentityModel\Claims\X509CertificateClaimSet.cs (8)
16private X509Certificate2 _certificate; 25public X509CertificateClaimSet(X509Certificate2 certificate) 30internal X509CertificateClaimSet(X509Certificate2 certificate, bool clone) 122public X509Certificate2 X509Certificate 299private static string[] GetDnsFromExtensions(X509Certificate2 cert) 493private X509Certificate2 _certificate; 498public X509Identity(X509Certificate2 certificate) 509internal X509Identity(X509Certificate2 certificate, bool clone, bool disposable)
FrameworkFork\System.ServiceModel\System\IdentityModel\SecurityUtils.cs (3)
286internal static string GetCertificateId(X509Certificate2 certificate) 293internal static void AppendCertificateIdentityName(StringBuilder str, X509Certificate2 certificate) 385internal static void ResetCertificate(X509Certificate2 certificate)
FrameworkFork\System.ServiceModel\System\IdentityModel\Selectors\X509CertificateValidator.cs (3)
45public abstract void Validate(X509Certificate2 certificate); 49public override void Validate(X509Certificate2 certificate) 76public override void Validate(X509Certificate2 certificate)
FrameworkFork\System.ServiceModel\System\IdentityModel\Selectors\X509SecurityTokenProvider.cs (3)
15private X509Certificate2 _certificate; 17public X509SecurityTokenProvider(X509Certificate2 certificate) 58public X509Certificate2 Certificate
FrameworkFork\System.ServiceModel\System\IdentityModel\Tokens\X509SecurityToken.cs (8)
15private X509Certificate2 _certificate; 22public X509SecurityToken(X509Certificate2 certificate) 27public X509SecurityToken(X509Certificate2 certificate, string id) 32internal X509SecurityToken(X509Certificate2 certificate, bool clone) 37internal X509SecurityToken(X509Certificate2 certificate, bool clone, bool disposable) 42internal X509SecurityToken(X509Certificate2 certificate, string id, bool clone) 47internal X509SecurityToken(X509Certificate2 certificate, string id, bool clone, bool disposable) 104public X509Certificate2 Certificate
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\ClientWebSocketTransportDuplexSessionChannel.cs (2)
81X509Certificate2 clientCertificate = null; 190private async Task<WebSocket> CreateWebSocketWithFactoryAsync(X509Certificate2 certificate, TimeoutHelper timeoutHelper)
FrameworkFork\System.ServiceModel\System\ServiceModel\Channels\HttpsChannelFactory.cs (2)
23private Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> _remoteCertificateValidationCallback; 186private bool RemoteCertificateValidationCallback(HttpRequestMessage sender, X509Certificate2 certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
FrameworkFork\System.ServiceModel\System\ServiceModel\Channels\ServiceModelHttpMessageHandler.CoreClr.cs (1)
72public Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool>
FrameworkFork\System.ServiceModel\System\ServiceModel\Channels\SslStreamSecurityUpgradeProvider.cs (5)
31private X509Certificate2 _serverCertificate; 108public X509Certificate2 ServerCertificate 312private X509Certificate2 _clientCertificate = null; 402X509Certificate2 certificate2 = new X509Certificate2(certificate.Handle); 640X509Certificate2 certificate2 = new X509Certificate2(certificate.Handle);
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)
FrameworkFork\System.ServiceModel\System\ServiceModel\Security\WSSecurityJan2004.cs (1)
485X509Certificate2 certificate;
FrameworkFork\System.ServiceModel\System\ServiceModel\Security\X509CertificateInitiatorClientCredential.cs (2)
15private X509Certificate2 _certificate; 29public X509Certificate2 Certificate
FrameworkFork\System.ServiceModel\System\ServiceModel\Security\X509CertificateRecipientClientCredential.cs (7)
19private X509Certificate2 _defaultCertificate; 20private Dictionary<Uri, X509Certificate2> _scopedCertificates; 26_scopedCertificates = new Dictionary<Uri, X509Certificate2>(); 38_scopedCertificates = new Dictionary<Uri, X509Certificate2>(); 46public X509Certificate2 DefaultCertificate 59public Dictionary<Uri, X509Certificate2> ScopedCertificates 127X509Certificate2 certificate = SecurityUtils.GetCertificateFromStore(storeName, storeLocation, findType, findValue, null);
FrameworkFork\System.ServiceModel\System\ServiceModel\X509CertificateEndpointIdentity.cs (3)
19public X509CertificateEndpointIdentity(X509Certificate2 certificate) 29public X509CertificateEndpointIdentity(X509Certificate2 primaryCertificate, X509Certificate2Collection supportingCertificates) 59X509Certificate2 certificate = new X509Certificate2(Convert.FromBase64String(reader.ReadElementString()));
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)
ServiceUtilHelper.cs (19)
33private static X509Certificate2 s_rootCertificate = null; 34private static X509Certificate2 s_clientCertificate = null; 35private static X509Certificate2 s_peerCertificate = null; 41public static X509Certificate2 RootCertificate 53public static X509Certificate2 ClientCertificate 65public static X509Certificate2 PeerCertificate 101X509Certificate2 rootCertificate = null; 149private static X509Certificate2 InstallRootCertificateFromServer() 152X509Certificate2 rootCertificate = new X509Certificate2(GetResourceFromServiceAsByteArray(RootCertificateResource)); 157public static async Task<X509Certificate2> GetServiceMacineCertFromServerAsync() 179X509Certificate2 clientCertificate = null; 253X509Certificate2 peerCertificate = null; 307X509Certificate2 peerCertificate = null; 354private static X509Certificate2 InstallClientCertificateFromServer() 367X509Certificate2 clientCertificate = new X509Certificate2(GetResourceFromServiceAsByteArray(ClientCertificateResource), "test", storageFlags); 375private static X509Certificate2 InstallOSXPeerCertificateFromServer() 378X509Certificate2 peerCertificate = new X509Certificate2(GetResourceFromServiceAsByteArray(PeerCertificateResource), "test", X509KeyStorageFlags.DefaultKeySet); 386private static X509Certificate2 InstallPeerCertificateFromServer() 389X509Certificate2 peerCertificate = new X509Certificate2(GetResourceFromServiceAsByteArray(PeerCertificateResource), "test", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.UserKeySet);
Microsoft.AspNetCore.Authentication.Certificate (13)
CertificateAuthenticationHandler.cs (4)
61var clientCertificate = await Context.Connection.GetClientCertificateAsync(); 118private async Task<AuthenticateResult> ValidateCertificateAsync(X509Certificate2 clientCertificate) 204private X509ChainPolicy BuildChainPolicy(X509Certificate2 certificate, bool isCertificateSelfSigned) 254private ClaimsPrincipal CreatePrincipal(X509Certificate2 certificate)
CertificateValidationCache.cs (3)
41public AuthenticateResult? Get(HttpContext context, X509Certificate2 certificate) 57public void Put(HttpContext context, X509Certificate2 certificate, AuthenticateResult result) 78private static string? ComputeKey(HttpContext context, X509Certificate2 certificate)
Events\CertificateValidatedContext.cs (1)
31public X509Certificate2 ClientCertificate { get; set; } = default!;
ICertificateValidationCache.cs (2)
20AuthenticateResult? Get(HttpContext context, X509Certificate2 certificate); 28void Put(HttpContext context, X509Certificate2 certificate, AuthenticateResult result);
X509CertificateExtensions.cs (3)
10/// Extension methods for <see cref="X509Certificate2"/>. 17/// <param name="certificate">The <see cref="X509Certificate2"/>.</param> 19public static bool IsSelfSigned(this X509Certificate2 certificate)
Microsoft.AspNetCore.DataProtection (27)
DataProtectionBuilderExtensions.cs (3)
215public static IDataProtectionBuilder ProtectKeysWithCertificate(this IDataProtectionBuilder builder, X509Certificate2 certificate) 274public static IDataProtectionBuilder UnprotectKeysWithAnyCertificate(this IDataProtectionBuilder builder, params X509Certificate2[] certificates) 282foreach (var certificate in certificates)
XmlEncryption\CertificateResolver.cs (4)
18/// Locates an <see cref="X509Certificate2"/> given its thumbprint. 21/// <returns>The resolved <see cref="X509Certificate2"/>, or null if the certificate cannot be found.</returns> 22public virtual X509Certificate2? ResolveCertificate(string thumbprint) 35private static X509Certificate2? GetCertificateFromStore(StoreLocation location, string thumbprint)
XmlEncryption\CertificateXmlEncryptor.cs (6)
21private readonly Func<X509Certificate2> _certFactory; 40/// Creates a <see cref="CertificateXmlEncryptor"/> given an <see cref="X509Certificate2"/> instance 43public CertificateXmlEncryptor(X509Certificate2 certificate, ILoggerFactory loggerFactory) 101private Func<X509Certificate2> CreateCertFactory(string thumbprint, ICertificateResolver resolver) 107var cert = resolver.ResolveCertificate(thumbprint); 126?? CryptoUtil.Fail<X509Certificate2>("Cert factory returned null.");
XmlEncryption\EncryptedXmlDecryptor.cs (3)
87/// Can decrypt the XML key data from an <see cref="X509Certificate2"/> that is not in stored in <see cref="X509Store"/>. 139if (!(certEnum.Current is X509Certificate2 certInfo)) 149foreach (var keyDecryptionCert in keyDecryptionCerts)
XmlEncryption\ICertificateResolver.cs (4)
9/// Provides services for locating <see cref="X509Certificate2"/> instances. 14/// Locates an <see cref="X509Certificate2"/> given its thumbprint. 17/// <returns>The resolved <see cref="X509Certificate2"/>, or null if the certificate cannot be found.</returns> 18X509Certificate2? ResolveCertificate(string thumbprint);
XmlEncryption\XmlKeyDecryptionOptions.cs (7)
16private readonly Dictionary<string, List<X509Certificate2>> _certs = new Dictionary<string, List<X509Certificate2>>(StringComparer.Ordinal); 20public bool TryGetKeyDecryptionCertificates(X509Certificate2 certInfo, [NotNullWhen(true)] out IReadOnlyList<X509Certificate2>? keyDecryptionCerts) 28public void AddKeyDecryptionCertificate(X509Certificate2 certificate) 33certificates = _certs[key] = new List<X509Certificate2>(); 38private static string GetKey(X509Certificate2 cert) => cert.Thumbprint;
Microsoft.AspNetCore.DataProtection.Extensions (10)
DataProtectionProvider.cs (10)
67/// the platform and operating system and uses the given <see cref="X509Certificate2"/> to encrypt the keys. 71/// <param name="certificate">The <see cref="X509Certificate2"/> to be used for encryption.</param> 72public static IDataProtectionProvider Create(string applicationName, X509Certificate2 certificate) 85/// and a <see cref="X509Certificate2"/> used to encrypt the keys. 89/// <param name="certificate">The <see cref="X509Certificate2"/> to be used for encryption.</param> 92X509Certificate2 certificate) 102/// optional configuration callback and a <see cref="X509Certificate2"/> used to encrypt the keys. 108/// <param name="certificate">The <see cref="X509Certificate2"/> to be used for encryption.</param> 112X509Certificate2 certificate) 124X509Certificate2? certificate)
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>())
src\aspnetcore\src\Shared\CertificateGeneration\MacOSCertificateManager.cs (27)
86protected override TrustLevel TrustCertificateCore(X509Certificate2 publicCertificate) 129internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 136internal override void CorrectCertificateState(X509Certificate2 candidate) 151public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 179protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 200private static void RemoveAdminTrustRule(X509Certificate2 certificate) 237private static void RemoveCertificateFromKeychain(string keychain, X509Certificate2 certificate) 270private static bool IsCertOnKeychain(string keychain, X509Certificate2 certificate) 301internal override bool IsExportable(X509Certificate2 c) => true; 303protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 332private static void SaveCertificateToUserKeychain(X509Certificate2 certificate) 366private static string GetCertificateFilePath(X509Certificate2 certificate) => 369protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation) 374protected override void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable) 380var certsFromStore = new List<X509Certificate2>(); 411private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2> 413public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer(); 416bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) => 420int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) => 424private static ICollection<X509Certificate2> GetCertsFromDisk() 426var certsFromDisk = new List<X509Certificate2>(); 438var certificate = new X509Certificate2(file); 452protected override void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
src\aspnetcore\src\Shared\CertificateGeneration\UnixCertificateManager.cs (15)
57public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 117using var candidate = X509CertificateLoader.LoadCertificateFromFile(certPath); 172protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 189internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 196internal override void CorrectCertificateState(X509Certificate2 candidate) 202internal override bool IsExportable(X509Certificate2 c) => true; 204protected override TrustLevel TrustCertificateCore(X509Certificate2 certificate) 220using var publicCertificate = X509CertificateLoader.LoadCertificate(certificate.Export(X509ContentType.Cert)); 251using var existingCert = X509CertificateLoader.LoadCertificateFromFile(certPath); 444protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 451if (TryFindCertificateInStore(store, certificate, out var matching)) 536protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation) 633private static string GetCertificateNickname(X509Certificate2 certificate) 667private static bool TrustCertificateInWindowsStore(X509Certificate2 certificate)
src\aspnetcore\src\Shared\CertificateGeneration\WindowsCertificateManager.cs (11)
35internal override bool IsExportable(X509Certificate2 c) 49internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 54internal override void CorrectCertificateState(X509Certificate2 candidate) 59protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 79protected override TrustLevel TrustCertificateCore(X509Certificate2 certificate) 94using var publicCertificate = X509CertificateLoader.LoadCertificate(certificate.Export(X509ContentType.Cert)); 106protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 113if (TryFindCertificateInStore(store, certificate, out var matching)) 125public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 132protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
Microsoft.AspNetCore.Grpc.JsonTranscoding (3)
Internal\JsonTranscodingServerCallContext.cs (1)
188var clientCertificate = HttpContext.Connection.ClientCertificate;
parent\Shared\AuthContextHelpers.cs (1)
27public static AuthContext CreateAuthContext(X509Certificate2 clientCertificate)
parent\Shared\X509CertificateHelpers.cs (1)
30public static string[] GetDnsFromExtensions(X509Certificate2 cert)
Microsoft.AspNetCore.Http (4)
Features\TlsConnectionFeature.cs (2)
14public X509Certificate2? ClientCertificate { get; set; } 17public Task<X509Certificate2?> GetClientCertificateAsync(CancellationToken cancellationToken)
Internal\DefaultConnectionInfo.cs (2)
80public override X509Certificate2? ClientCertificate 86public override Task<X509Certificate2?> GetClientCertificateAsync(CancellationToken cancellationToken = default)
Microsoft.AspNetCore.Http.Abstractions (4)
ConnectionInfo.cs (4)
48public abstract X509Certificate2? ClientCertificate { get; set; } 53/// <returns>Asynchronously returns an <see cref="X509Certificate2" />. Can be null.</returns> 54public abstract Task<X509Certificate2?> GetClientCertificateAsync(CancellationToken cancellationToken = new CancellationToken()); 85public X509Certificate2? ClientCertificate => _info.ClientCertificate;
Microsoft.AspNetCore.Http.Features (2)
ITlsConnectionFeature.cs (2)
17X509Certificate2? ClientCertificate { get; set; } 22Task<X509Certificate2?> GetClientCertificateAsync(CancellationToken cancellationToken);
Microsoft.AspNetCore.HttpOverrides (9)
CertificateForwardingFeature.cs (7)
16private Task<X509Certificate2?>? _certificateTask; 25public X509Certificate2? ClientCertificate 28set => _certificateTask = value is not null ? Task.FromResult<X509Certificate2?>(value) : null; 31public Task<X509Certificate2?> GetClientCertificateAsync(CancellationToken cancellationToken) 37var certificate = _options.HeaderConverter(_header.ToString()); 38_certificateTask = Task.FromResult<X509Certificate2?>(certificate); 44return Task.FromResult<X509Certificate2?>(null);
CertificateForwardingOptions.cs (2)
22/// The function used to convert the header to an instance of <see cref="X509Certificate2"/>. 27public Func<string, X509Certificate2> HeaderConverter = (headerValue) => new X509Certificate2(Convert.FromBase64String(headerValue));
Microsoft.AspNetCore.Owin (5)
OwinEnvironment.cs (1)
445{ OwinConstants.CommonKeys.ClientCertificate, new FeatureMap<ITlsConnectionFeature>(feature => feature.ClientCertificate, (feature, value) => feature.ClientCertificate = (X509Certificate2)value) },
OwinFeatureCollection.cs (4)
256X509Certificate2 ITlsConnectionFeature.ClientCertificate 258get { return Prop<X509Certificate2>(OwinConstants.CommonKeys.ClientCertificate); } 262async Task<X509Certificate2> ITlsConnectionFeature.GetClientCertificateAsync(CancellationToken cancellationToken) 269return Prop<X509Certificate2>(OwinConstants.CommonKeys.ClientCertificate);
Microsoft.AspNetCore.Server.HttpSys (14)
RequestProcessing\ClientCertLoader.cs (3)
29private X509Certificate2? _clientCert; 49internal X509Certificate2? ClientCert 201private void Complete(int certErrors, X509Certificate2? cert)
RequestProcessing\Request.cs (3)
28private X509Certificate2? _clientCert; 383public X509Certificate2? ClientCertificate 412public async Task<X509Certificate2?> GetClientCertificateAsync(CancellationToken cancellationToken = default(CancellationToken))
RequestProcessing\RequestContext.FeatureCollection.cs (6)
64private X509Certificate2? _clientCert; 65private Task<X509Certificate2?>? _clientCertTask; 331X509Certificate2? ITlsConnectionFeature.ClientCertificate 355Task<X509Certificate2?> ITlsConnectionFeature.GetClientCertificateAsync(CancellationToken cancellationToken) 363var clientCert = tlsFeature.ClientCertificate; // Lazy initialized 374async Task<X509Certificate2?> GetCertificateAsync(CancellationToken cancellation)
src\aspnetcore\src\Shared\HttpSys\RequestProcessing\NativeRequestContext.cs (2)
858internal X509Certificate2? GetClientCertificate() 875private X509Certificate2? GetClientCertificate(IntPtr baseAddress, HTTP_REQUEST_V2* nativeRequest)
Microsoft.AspNetCore.Server.IIS (5)
Core\IISHttpContext.FeatureCollection.cs (3)
48private X509Certificate2? _certificate; 381Task<X509Certificate2?> ITlsConnectionFeature.GetClientCertificateAsync(CancellationToken cancellationToken) 386unsafe X509Certificate2? ITlsConnectionFeature.ClientCertificate
src\aspnetcore\src\Shared\HttpSys\RequestProcessing\NativeRequestContext.cs (2)
858internal X509Certificate2? GetClientCertificate() 875private X509Certificate2? GetClientCertificate(IntPtr baseAddress, HTTP_REQUEST_V2* nativeRequest)
Microsoft.AspNetCore.Server.IISIntegration (3)
ForwardedTlsConnectionFeature.cs (3)
14private X509Certificate2? _certificate; 23public X509Certificate2? ClientCertificate 48public Task<X509Certificate2?> GetClientCertificateAsync(CancellationToken cancellationToken)
Microsoft.AspNetCore.Server.Kestrel.Core (164)
CertificateLoader.cs (9)
31public static X509Certificate2 LoadFromStoreCert(string subject, string storeName, StoreLocation storeLocation, bool allowInvalid) 36X509Certificate2? foundCertificate = null; 42foreach (var certificate in storeCertificates.Find(X509FindType.FindBySubjectName, subject, !allowInvalid) 43.OfType<X509Certificate2>() 72internal static bool IsCertificateAllowedForServerAuth(X509Certificate2 certificate) 106internal static bool DoesCertificateHaveAnAccessiblePrivateKey(X509Certificate2 certificate) 109internal static bool DoesCertificateHaveASubjectAlternativeName(X509Certificate2 certificate) 112private static void DisposeCertificates(X509Certificate2Collection? certificates, X509Certificate2? except) 116foreach (var certificate in certificates)
HttpsConnectionAdapterOptions.cs (3)
39public X509Certificate2? ServerCertificate { get; set; } 57public Func<ConnectionContext?, string?, X509Certificate2?>? ServerCertificateSelector { get; set; } 74public Func<X509Certificate2, X509Chain?, SslPolicyErrors, bool>? ClientCertificateValidation { get; set; }
IHttpsConfigurationService.cs (3)
92public readonly X509Certificate2 Certificate; 96public CertificateAndConfig(X509Certificate2 certificate, CertificateConfig certificateConfig) 104public CertificateAndConfig(X509Certificate2 certificate, CertificateConfig certificateConfig, X509Certificate2Collection certificateChain)
Internal\Certificates\CertificateConfigLoader.cs (9)
27public (X509Certificate2?, X509Certificate2Collection?) LoadCertificate(CertificateConfig? certInfo, string endpointName) 47var certificate = GetCertificate(certificatePath); 85private static X509Certificate2 PersistKey(X509Certificate2 fullCertificate) 93private static X509Certificate2 LoadCertificateKey(X509Certificate2 certificate, string keyPath, string? password) 263private static X509Certificate2? GetCertificate(string certificatePath) 265if (X509Certificate2.GetCertContentType(certificatePath) == X509ContentType.Cert) 324private static X509Certificate2 LoadFromStoreCert(CertificateConfig certInfo)
Internal\Certificates\ICertificateConfigLoader.cs (1)
12(X509Certificate2?, X509Certificate2Collection?) LoadCertificate(CertificateConfig? certInfo, string endpointName);
Internal\LoggerExtensions.cs (1)
18public static void LocatedDevelopmentCertificate(this ILogger<KestrelServer> logger, X509Certificate2 certificate) => LocatedDevelopmentCertificate(logger, certificate.Subject, certificate.Thumbprint);
Internal\SniOptionsSelector.cs (4)
25private readonly Func<ConnectionContext, string?, X509Certificate2?>? _fallbackServerCertificateSelector; 75sslOptions.ServerCertificateContext = SslStreamCertificateContext.Create((X509Certificate2)sslOptions.ServerCertificate, additionalCertificates: fullChain); 78if (!certifcateConfigLoader.IsTestMock && sslOptions.ServerCertificate is X509Certificate2 cert2) 159var fallbackCertificate = _fallbackServerCertificateSelector(connection, serverName);
Internal\TlsConnectionFeature.cs (7)
26private X509Certificate2? _clientCert; 27private Task<X509Certificate2?>? _clientCertTask; 94public X509Certificate2? ClientCertificate 139public Task<X509Certificate2?> GetClientCertificateAsync(CancellationToken cancellationToken) 158private async Task<X509Certificate2?> GetClientCertificateAsyncCore(CancellationToken cancellationToken) 185private static X509Certificate2? ConvertToX509Certificate2(X509Certificate? certificate) 190X509Certificate2 cert2 => cert2,
KestrelConfigurationLoader.cs (1)
78internal X509Certificate2? DefaultCertificate { get; set; }
KestrelServerOptions.cs (6)
213internal X509Certificate2? DevelopmentCertificate { get; private set; } 218internal X509Certificate2? TestOverrideDefaultCertificate { get; set; } 306if (TestOverrideDefaultCertificate is X509Certificate2 certificateFromTest) 312if (ConfigurationLoader?.DefaultCertificate is X509Certificate2 certificateFromLoader) 387private static X509Certificate2? GetDevelopmentCertificateFromStore(ILogger<KestrelServer> logger) 393var cert = certs.Count > 0 ? certs[0] : null;
ListenOptionsHttpsExtensions.cs (2)
130public static ListenOptions UseHttps(this ListenOptions listenOptions, X509Certificate2 serverCertificate) 147public static ListenOptions UseHttps(this ListenOptions listenOptions, X509Certificate2 serverCertificate,
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>())
src\aspnetcore\src\Shared\CertificateGeneration\MacOSCertificateManager.cs (27)
86protected override TrustLevel TrustCertificateCore(X509Certificate2 publicCertificate) 129internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 136internal override void CorrectCertificateState(X509Certificate2 candidate) 151public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 179protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 200private static void RemoveAdminTrustRule(X509Certificate2 certificate) 237private static void RemoveCertificateFromKeychain(string keychain, X509Certificate2 certificate) 270private static bool IsCertOnKeychain(string keychain, X509Certificate2 certificate) 301internal override bool IsExportable(X509Certificate2 c) => true; 303protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 332private static void SaveCertificateToUserKeychain(X509Certificate2 certificate) 366private static string GetCertificateFilePath(X509Certificate2 certificate) => 369protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation) 374protected override void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable) 380var certsFromStore = new List<X509Certificate2>(); 411private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2> 413public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer(); 416bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) => 420int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) => 424private static ICollection<X509Certificate2> GetCertsFromDisk() 426var certsFromDisk = new List<X509Certificate2>(); 438var certificate = new X509Certificate2(file); 452protected override void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
src\aspnetcore\src\Shared\CertificateGeneration\UnixCertificateManager.cs (15)
57public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 117using var candidate = X509CertificateLoader.LoadCertificateFromFile(certPath); 172protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 189internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 196internal override void CorrectCertificateState(X509Certificate2 candidate) 202internal override bool IsExportable(X509Certificate2 c) => true; 204protected override TrustLevel TrustCertificateCore(X509Certificate2 certificate) 220using var publicCertificate = X509CertificateLoader.LoadCertificate(certificate.Export(X509ContentType.Cert)); 251using var existingCert = X509CertificateLoader.LoadCertificateFromFile(certPath); 444protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 451if (TryFindCertificateInStore(store, certificate, out var matching)) 536protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation) 633private static string GetCertificateNickname(X509Certificate2 certificate) 667private static bool TrustCertificateInWindowsStore(X509Certificate2 certificate)
src\aspnetcore\src\Shared\CertificateGeneration\WindowsCertificateManager.cs (11)
35internal override bool IsExportable(X509Certificate2 c) 49internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 54internal override void CorrectCertificateState(X509Certificate2 candidate) 59protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 79protected override TrustLevel TrustCertificateCore(X509Certificate2 certificate) 94using var publicCertificate = X509CertificateLoader.LoadCertificate(certificate.Export(X509ContentType.Cert)); 106protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 113if (TryFindCertificateInStore(store, certificate, out var matching)) 125public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 132protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
TlsConfigurationLoader.cs (2)
161var certificate = new X509Certificate2(certificatePath, certificateConfig.Password); 181private static bool IsDevelopmentCertificate(X509Certificate2 certificate)
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic (6)
Internal\QuicConnectionContext.FeatureCollection.cs (6)
12private X509Certificate2? _clientCert; 13private Task<X509Certificate2?>? _clientCertTask; 26public X509Certificate2? ClientCertificate 36public Task<X509Certificate2?> GetClientCertificateAsync(CancellationToken cancellationToken) 47private static X509Certificate2? ConvertToX509Certificate2(X509Certificate? certificate) 52X509Certificate2 cert2 => cert2,
Microsoft.AspNetCore.Testing (7)
FakeCertificateHttpClientHandler.cs (1)
12public FakeCertificateHttpClientHandler(X509Certificate2 certificate)
FakeCertificateOptions.cs (1)
10public X509Certificate2? Certificate { get; set; }
FakeSslCertificateFactory.cs (3)
19/// Creates a self-signed <see cref="X509Certificate2"/> instance for testing. 21/// <returns>An <see cref="X509Certificate2"/> instance for testing.</returns> 22public static X509Certificate2 CreateSslCertificate()
ServiceFakesHostExtensions.cs (1)
45var certificate = host.Services.GetService<IOptions<FakeCertificateOptions>>()?.Value.Certificate;
ServiceFakesWebHostExtensions.cs (1)
46public static IWebHostBuilder ListenHttpsOnAnyPort(this IWebHostBuilder builder, X509Certificate2? sslCertificate = null)
Microsoft.AspNetCore.Testing.Tests (5)
FakeCertificateFactoryTests.cs (1)
17using var certificate = FakeSslCertificateFactory.CreateSslCertificate();
FakeCertificateHttpClientHandlerTests.cs (2)
16private readonly X509Certificate2 _certificate = FakeSslCertificateFactory.CreateSslCertificate(); 17private readonly X509Certificate2 _anotherCertificate = FakeSslCertificateFactory.CreateSslCertificate();
FakesExtensionsTests.cs (2)
56var certificate = host.Services.GetRequiredService<IOptions<FakeCertificateOptions>>().Value.Certificate; 71var certificate = FakeSslCertificateFactory.CreateSslCertificate();
Microsoft.Bcl.Cryptography (26)
System\Security\Cryptography\X509Certificates\X509CertificateKeyAccessors.cs (26)
19/// Helper methods to access keys on <see cref="X509Certificate2"/>. 41public static MLKem? GetMLKemPublicKey(this X509Certificate2 certificate) 85public static MLKem? GetMLKemPrivateKey(this X509Certificate2 certificate) 107/// A new certificate with the <see cref="X509Certificate2.HasPrivateKey" /> property set to <see langword="true"/>. 122public static X509Certificate2 CopyWithPrivateKey(this X509Certificate2 certificate, MLKem privateKey) 152public static MLDsa? GetMLDsaPublicKey(this X509Certificate2 certificate) 196public static MLDsa? GetMLDsaPrivateKey(this X509Certificate2 certificate) 230/// A new certificate with the <see cref="X509Certificate2.HasPrivateKey" /> property set to <see langword="true"/>. 245public static X509Certificate2 CopyWithPrivateKey(this X509Certificate2 certificate, MLDsa privateKey) 309public static SlhDsa? GetSlhDsaPublicKey(this X509Certificate2 certificate) 339public static SlhDsa? GetSlhDsaPrivateKey(this X509Certificate2 certificate) 361/// A new certificate with the <see cref="X509Certificate2.HasPrivateKey" /> property set to <see langword="true"/>. 380public static X509Certificate2 CopyWithPrivateKey(this X509Certificate2 certificate, SlhDsa privateKey) 411public static CompositeMLDsa? GetCompositeMLDsaPublicKey(this X509Certificate2 certificate) 456public static CompositeMLDsa? GetCompositeMLDsaPrivateKey(this X509Certificate2 certificate) 483/// A new certificate with the <see cref="X509Certificate2.HasPrivateKey" /> property set to <see langword="true"/>. 499public static X509Certificate2 CopyWithPrivateKey(this X509Certificate2 certificate, CompositeMLDsa privateKey) 560public static CompositeMLKem? GetCompositeMLKemPublicKey(this X509Certificate2 certificate) 605public static CompositeMLKem? GetCompositeMLKemPrivateKey(this X509Certificate2 certificate) 632/// A new certificate with the <see cref="X509Certificate2.HasPrivateKey" /> property set to <see langword="true"/>. 648public static X509Certificate2 CopyWithPrivateKey(this X509Certificate2 certificate, CompositeMLKem privateKey)
Microsoft.Build.Tasks.Core (13)
ManifestUtil\mansign2.cs (4)
415private static void InsertPublisherIdentity(XmlDocument manifestDom, X509Certificate2 signerCert) 1069private X509Certificate2 _certificate; 1083internal CmiManifestSigner2(AsymmetricAlgorithm strongNameKey, X509Certificate2 certificate, bool useSha256) 1121internal X509Certificate2 Certificate
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)
src\sdk\src\Dotnet.Watch\AspireService\AspireServerService.cs (1)
52private readonly X509Certificate2 _certificate;
src\sdk\src\Dotnet.Watch\AspireService\Helpers\CertGenerator.cs (2)
14public static X509Certificate2 GenerateCert() 29var cert = req.CreateSelfSigned(
netstandard (1)
netstandard.cs (1)
1955[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.Cryptography.X509Certificates.X509Certificate2))]
NuGet.Commands (8)
SignCommand\CertificateProvider.cs (6)
60var cert = await LoadCertificateFromFileAsync(options); 133Task<X509Certificate2> LoadCertificateFromFileAsync(CertificateSourceOptions options) 135X509Certificate2 cert; 208foreach (var cert in store.Certificates) 259foreach (var certificate in certificates) 270private static bool IsValid(X509Certificate2 certificate, X509Certificate2Collection extraStore, bool allowUntrustedRoot = false)
SignCommand\SignCommandRunner.cs (2)
37X509Certificate2 cert = null; 181private static async Task<X509Certificate2> GetCertificateAsync(SignArgs signArgs)
NuGet.Packaging (68)
Signing\Authoring\AuthorSignPackageRequest.cs (2)
27X509Certificate2 certificate, 49X509Certificate2 certificate,
Signing\Authoring\RepositorySignPackageRequest.cs (1)
50X509Certificate2 certificate,
Signing\Authoring\SignPackageRequest.cs (2)
31public X509Certificate2 Certificate { get; } 57X509Certificate2 certificate,
Signing\ChainBuilding\DefaultX509ChainBuildPolicy.cs (1)
15public bool Build(IX509Chain chain, X509Certificate2 certificate)
Signing\ChainBuilding\IX509ChainBuildPolicy.cs (2)
9/// Represents a wrapper around <see cref="X509Chain.Build(X509Certificate2)" /> to enable 14bool Build(IX509Chain chain, X509Certificate2 certificate);
Signing\ChainBuilding\RetriableX509ChainBuildPolicy.cs (1)
39public bool Build(IX509Chain chain, X509Certificate2 certificate)
Signing\Cms\ICms.cs (1)
18void AddCertificates(IEnumerable<X509Certificate2> certificates);
Signing\Cms\ManagedCmsWrapper.cs (2)
48public void AddCertificates(IEnumerable<X509Certificate2> certificates) 50foreach (var cert in certificates)
Signing\Cms\NativeCms.cs (3)
237internal void AddCertificates(IEnumerable<X509Certificate2> certificates) 239foreach (var cert in certificates) 279AddCertificates(cmsSigner.Certificates.OfType<X509Certificate2>());
Signing\Cms\NativeUtility.cs (1)
37var cert = cmsSigner.Certificates[i];
Signing\Signatures\EssCertIdV2.cs (1)
43public static EssCertIdV2 Create(X509Certificate2 certificate, Common.HashAlgorithmName hashAlgorithmName)
Signing\Signatures\IssuerSerial.cs (1)
40public static IssuerSerial Create(X509Certificate2 certificate)
Signing\Signatures\Signature.cs (2)
147var certificate = SignerInfo.Certificate; 358var certificate = SignerInfo.Certificate;
Signing\Signatures\SigningCertificateV2.cs (1)
34public static SigningCertificateV2 Create(X509Certificate2 certificate, HashAlgorithmName hashAlgorithmName)
Signing\Timestamp\Rfc3161TimestampProvider.cs (1)
124IReadOnlyList<X509Certificate2> chain)
Signing\Timestamp\Rfc3161TimestampTokenFactory.cs (1)
13X509Certificate2 signerCertificate,
Signing\Timestamp\Rfc3161TimestampTokenNetstandard21Wrapper.cs (1)
19X509Certificate2 signerCertificate,
Signing\Timestamp\Rfc3161TimestampVerificationUtility.cs (1)
18X509Certificate2 signerCertificate,
Signing\Timestamp\Timestamp.cs (1)
117var timestamperCertificate = SignerInfo.Certificate;
Signing\TrustStore\CertificateBundleX509ChainFactory.cs (1)
117private static string GetPemEncodedCertificate(X509Certificate2 certificate)
Signing\TrustStore\IX509Chain.cs (1)
25bool Build(X509Certificate2 certificate);
Signing\TrustStore\X509ChainWrapper.cs (1)
37public bool Build(X509Certificate2 certificate)
Signing\Utility\AttributeUtility.cs (1)
249X509Certificate2 certificate,
Signing\Utility\CertificateChainUtility.cs (5)
32X509Certificate2 certificate, 59X509Certificate2 certificate, 170X509Certificate2 certificate, 217internal static bool BuildCertificateChain(IX509Chain chain, X509Certificate2 certificate, out X509ChainStatus[] status) 232internal static bool BuildWithPolicy(IX509Chain chain, X509Certificate2 certificate)
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)
Signing\Utility\IX509CertificateChain.cs (1)
13public interface IX509CertificateChain : IReadOnlyList<X509Certificate2>, IDisposable
Signing\Utility\SignatureUtility.cs (5)
570X509Certificate2 certificate, 603private static bool IsMatch(X509Certificate2 certificate, EssCertId essCertId) 621private static bool AreGeneralNamesEqual(IssuerSerial issuerSerial, X509Certificate2 certificate) 634private static bool AreSerialNumbersEqual(IssuerSerial issuerSerial, X509Certificate2 certificate) 645X509Certificate2 certificate,
Signing\Utility\SigningUtility.cs (3)
58IReadOnlyList<X509Certificate2> chainList) 88IReadOnlyList<X509Certificate2> chainList) 142foreach (var certificate in chain)
Signing\Utility\VerificationUtility.cs (1)
57internal static SignatureVerificationStatusFlags ValidateSigningCertificate(X509Certificate2 certificate, bool treatIssuesAsErrors, string signatureFriendlyName, List<SignatureLog> issues)
Signing\Utility\X509CertificateChain.cs (2)
10public sealed class X509CertificateChain : List<X509Certificate2>, IX509CertificateChain 18foreach (var item in this)
PresentationUI (29)
MS\Internal\Documents\DigitalSignature.cs (2)
160internal X509Certificate2 Certificate 234private X509Certificate2 _x509Certificate2;
MS\Internal\Documents\DigitalSignatureProvider.cs (12)
311IList<X509Certificate2> IDigitalSignatureProvider.GetAllCertificates() 313List<X509Certificate2> certificateList = new List<X509Certificate2>(); 317X509Certificate2 certificate = signature.Certificate; 331IDictionary<X509Certificate2, CertificatePriorityStatus> IDigitalSignatureProvider.GetCertificateStatus( 332IList<X509Certificate2> certificates) 334Dictionary<X509Certificate2, CertificatePriorityStatus> certificateStatusTable = 335new Dictionary<X509Certificate2, CertificatePriorityStatus>(); 337foreach (X509Certificate2 certificate in certificates) 496X509Certificate2 x509Certificate2 = 497xpsDigitalSignature.SignerCertificate as X509Certificate2; 596private static CertificatePriorityStatus GetCertificateStatus(X509Certificate2 certificate)
MS\Internal\Documents\DocumentSignatureManager.cs (9)
213new Dictionary<X509Certificate2, CertificatePriorityStatus>(); 226IList<X509Certificate2> certificateList = 449X509Certificate2 x509Certificate2; 729X509Certificate2 certificate = null; 900private static X509Certificate2 ShowCertificatePickerDialog(IntPtr parentWindow) 902X509Certificate2 x509cert = null; 994private void StartCertificateStatusCheck(IList<X509Certificate2> certificateList) 1347private IDictionary<X509Certificate2, CertificatePriorityStatus> _certificateStatusTable; 1373internal IList<X509Certificate2> CertificateList;
MS\Internal\Documents\IDigitalSignatureProvider.cs (3)
36IList<X509Certificate2> GetAllCertificates(); 44IDictionary<X509Certificate2, CertificatePriorityStatus> GetCertificateStatus(IList<X509Certificate2> certificates);
MS\Internal\Documents\SigningDialog.cs (3)
31internal SigningDialog(X509Certificate2 x509Certificate2, DigitalSignature digitalSignatureRequest, DocumentSignatureManager docSigManager) 312internal X509Certificate2 Certificate 331private X509Certificate2 _x509Certificate2;
RepoTasks (103)
shared\CertificateGeneration\DevelopmentCertificate.cs (1)
39var certificate = manager.CreateAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1));
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>())
src\aspnetcore\src\Shared\CertificateGeneration\MacOSCertificateManager.cs (27)
86protected override TrustLevel TrustCertificateCore(X509Certificate2 publicCertificate) 129internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 136internal override void CorrectCertificateState(X509Certificate2 candidate) 151public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 179protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 200private static void RemoveAdminTrustRule(X509Certificate2 certificate) 237private static void RemoveCertificateFromKeychain(string keychain, X509Certificate2 certificate) 270private static bool IsCertOnKeychain(string keychain, X509Certificate2 certificate) 301internal override bool IsExportable(X509Certificate2 c) => true; 303protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 332private static void SaveCertificateToUserKeychain(X509Certificate2 certificate) 366private static string GetCertificateFilePath(X509Certificate2 certificate) => 369protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation) 374protected override void PopulateCertificatesFromStore(X509Store store, List<X509Certificate2> certificates, bool requireExportable) 380var certsFromStore = new List<X509Certificate2>(); 411private sealed class ThumbprintComparer : IEqualityComparer<X509Certificate2> 413public static readonly IEqualityComparer<X509Certificate2> Instance = new ThumbprintComparer(); 416bool IEqualityComparer<X509Certificate2>.Equals(X509Certificate2 x, X509Certificate2 y) => 420int IEqualityComparer<X509Certificate2>.GetHashCode([DisallowNull] X509Certificate2 obj) => 424private static ICollection<X509Certificate2> GetCertsFromDisk() 426var certsFromDisk = new List<X509Certificate2>(); 438var certificate = new X509Certificate2(file); 452protected override void RemoveCertificateFromUserStoreCore(X509Certificate2 certificate)
src\aspnetcore\src\Shared\CertificateGeneration\UnixCertificateManager.cs (15)
57public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 117using var candidate = X509CertificateLoader.LoadCertificateFromFile(certPath); 172protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 189internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 196internal override void CorrectCertificateState(X509Certificate2 candidate) 202internal override bool IsExportable(X509Certificate2 c) => true; 204protected override TrustLevel TrustCertificateCore(X509Certificate2 certificate) 220using var publicCertificate = X509CertificateLoader.LoadCertificate(certificate.Export(X509ContentType.Cert)); 251using var existingCert = X509CertificateLoader.LoadCertificateFromFile(certPath); 444protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 451if (TryFindCertificateInStore(store, certificate, out var matching)) 536protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation) 633private static string GetCertificateNickname(X509Certificate2 certificate) 667private static bool TrustCertificateInWindowsStore(X509Certificate2 certificate)
src\aspnetcore\src\Shared\CertificateGeneration\WindowsCertificateManager.cs (11)
35internal override bool IsExportable(X509Certificate2 c) 49internal override CheckCertificateStateResult CheckCertificateState(X509Certificate2 candidate) 54internal override void CorrectCertificateState(X509Certificate2 candidate) 59protected override X509Certificate2 SaveCertificateCore(X509Certificate2 certificate, StoreName storeName, StoreLocation storeLocation) 79protected override TrustLevel TrustCertificateCore(X509Certificate2 certificate) 94using var publicCertificate = X509CertificateLoader.LoadCertificate(certificate.Export(X509ContentType.Cert)); 106protected override void RemoveCertificateFromTrustedRoots(X509Certificate2 certificate) 113if (TryFindCertificateInStore(store, certificate, out var matching)) 125public override TrustLevel GetTrustLevel(X509Certificate2 certificate) 132protected override IList<X509Certificate2> GetCertificatesToRemove(StoreName storeName, StoreLocation storeLocation)
ScenarioTests.Common.Tests (1)
ScenarioTestTypes.cs (1)
1270public override void Validate(X509Certificate2 certificate)
Security.TransportSecurity.IntegrationTests (7)
Https\HttpsTests.4.1.0.cs (1)
275X509Certificate2 serviceCertificate = null;
Tcp\ClientCredentialTypeTests.OSX.cs (6)
93public override void Validate(X509Certificate2 certificate) 103static bool StoreContainsCertificate(X509Store store, X509Certificate2 certificate) 117internal bool TryValidate(X509Certificate2 certificate, out Exception exception) 179internal static void ResetCertificate(X509Certificate2 certificate) 184internal static string GetCertificateId(X509Certificate2 certificate) 191internal static void AppendCertificateIdentityName(StringBuilder str, X509Certificate2 certificate)
System (1)
parent\ref\System.cs (1)
864[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.Cryptography.X509Certificates.X509Certificate2))]
System.DirectoryServices.AccountManagement (7)
System\DirectoryServices\AccountManagement\AD\ADStoreCtx_Query.cs (2)
559System.Security.Cryptography.X509Certificates.X509Certificate2 certificate = 560(System.Security.Cryptography.X509Certificates.X509Certificate2)filter.Value;
System\DirectoryServices\AccountManagement\AuthenticablePrincipal.cs (3)
554X509Certificate2 cert = X509CertificateLoader.LoadCertificate(rawCert); 574foreach (X509Certificate2 certificate in _certificates) 600foreach (X509Certificate2 certificate in _certificates)
System\DirectoryServices\AccountManagement\StoreCtx.cs (2)
390foreach (X509Certificate2 cert in certCollection) 393((FilterBase)filter).Value = (X509Certificate2)cert;
System.Net.Http (12)
src\runtime\src\libraries\Common\src\System\Net\Security\CertificateHelper.cs (4)
16internal static X509Certificate2? GetEligibleClientCertificate(X509CertificateCollection? candidateCerts) 29internal static X509Certificate2? GetEligibleClientCertificate(X509Certificate2Collection? candidateCerts) 36foreach (X509Certificate2 cert in candidateCerts) 64private static bool IsValidClientCertificate(X509Certificate2 cert)
src\runtime\src\libraries\Common\src\System\Net\Security\CertificateHelper.Unix.cs (1)
10internal static X509Certificate2? GetEligibleClientCertificate()
System\Net\Http\HttpClientHandler.cs (2)
309public Func<HttpRequestMessage, X509Certificate2?, X509Chain?, SslPolicyErrors, bool>? ServerCertificateCustomValidationCallback 372public 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 (13)
src\runtime\src\libraries\Common\src\Interop\Windows\SChannel\UnmanagedCertificateContext.IntPtr.cs (1)
38var cert = new X509Certificate2(new IntPtr(next));
src\runtime\src\libraries\Common\src\System\Net\Security\CertificateHelper.cs (4)
16internal static X509Certificate2? GetEligibleClientCertificate(X509CertificateCollection? candidateCerts) 29internal static X509Certificate2? GetEligibleClientCertificate(X509Certificate2Collection? candidateCerts) 36foreach (X509Certificate2 cert in candidateCerts) 64private static bool IsValidClientCertificate(X509Certificate2 cert)
src\runtime\src\libraries\Common\src\System\Net\Security\CertificateHelper.Windows.cs (1)
10internal static X509Certificate2? GetEligibleClientCertificate()
src\runtime\src\libraries\Common\src\System\Net\Security\CertificateValidation.Windows.cs (2)
17internal static SslPolicyErrors BuildChainAndVerifyProperties(X509Chain chain, X509Certificate2 remoteCertificate, bool checkCertName, bool isServer, string? hostName, Span<byte> certificateBuffer) 21internal static SslPolicyErrors BuildChainAndVerifyProperties(X509Chain chain, X509Certificate2 remoteCertificate, bool checkCertName, bool isServer, string? hostName)
System\Net\Http\WinHttpHandler.cs (3)
69X509Certificate2, 241X509Certificate2, 1413X509Certificate2? clientCertificate;
System\Net\Http\WinHttpRequestCallback.cs (1)
311var serverCertificate = new X509Certificate2(certHandle);
System\Net\Http\WinHttpRequestState.cs (1)
128public Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool>? ServerCertificateValidationCallback { get; set; }
System.Net.HttpListener (9)
System\Net\HttpListenerRequest.cs (3)
230public X509Certificate2? GetClientCertificate() 254public Task<X509Certificate2?> GetClientCertificateAsync() 263internal X509Certificate2? ClientCertificate { get; set; }
System\Net\Managed\HttpConnection.cs (3)
68private X509Certificate2? _clientCert; 99_clientCert = c as X509Certificate2 ?? X509CertificateLoader.LoadCertificate(c.GetRawCertData()); 122internal X509Certificate2? ClientCertificate
System\Net\Managed\HttpListenerRequest.Managed.cs (3)
282private X509Certificate2? GetClientCertificateCore() => ClientCertificate = _context.Connection.ClientCertificate; 350public X509Certificate2? EndGetClientCertificate(IAsyncResult asyncResult) 365return (X509Certificate2?)clientCertAsyncResult.Result;
System.Net.Quic (17)
src\runtime\src\libraries\Common\src\System\Net\Security\CertificateValidation.Unix.cs (2)
16internal static SslPolicyErrors BuildChainAndVerifyProperties(X509Chain chain, X509Certificate2 remoteCertificate, bool checkCertName, bool isServer, string? hostName, Span<byte> certificateBuffer) 20internal static SslPolicyErrors BuildChainAndVerifyProperties(X509Chain chain, X509Certificate2 remoteCertificate, bool checkCertName, bool _ /*isServer*/, string? hostName)
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\Quic\QuicConnection.cs (1)
213private X509Certificate2? _remoteCertificate;
System\Net\Quic\QuicConnection.SslConnectionOptions.cs (3)
76X509Certificate2? certificate = null; 176private QUIC_TLS_ALERT_CODES ValidateCertificate(X509Certificate2? certificate, Span<byte> certData, Span<byte> chainData) 208Debug.Assert(X509Certificate2.GetCertContentType(chainData) is X509ContentType.Pkcs7);
System.Net.Security (77)
src\runtime\src\libraries\Common\src\Interop\Unix\System.Security.Cryptography.Native\Interop.OpenSsl.cs (5)
74foreach (X509Certificate2 intermediate in certContext.IntermediateCertificates) 1077(X509Certificate2 certificate, X509Chain chain) = GetPeerCertChainFromStoreCtx(sslHandle, storeCtx, options); 1165static (X509Certificate2 certificate, X509Chain chain) GetPeerCertChainFromStoreCtx(SafeSslHandle sslHandle, IntPtr storeCtx, SslAuthenticationOptions options) 1167X509Certificate2? certificate = null; 1189X509Certificate2 chainCert = new X509Certificate2(certPtr);
src\runtime\src\libraries\Common\src\Interop\Unix\System.Security.Cryptography.Native\Interop.Ssl.cs (1)
411internal static bool AddExtraChainCertificates(SafeSslHandle ssl, ReadOnlyCollection<X509Certificate2> chain)
src\runtime\src\libraries\Common\src\Interop\Unix\System.Security.Cryptography.Native\Interop.SslCtx.cs (1)
48internal static bool AddExtraChainCertificates(SafeSslContextHandle ctx, ReadOnlyCollection<X509Certificate2> chain)
src\runtime\src\libraries\Common\src\System\Net\Security\CertificateValidation.Unix.cs (2)
16internal static SslPolicyErrors BuildChainAndVerifyProperties(X509Chain chain, X509Certificate2 remoteCertificate, bool checkCertName, bool isServer, string? hostName, Span<byte> certificateBuffer) 20internal static SslPolicyErrors BuildChainAndVerifyProperties(X509Chain chain, X509Certificate2 remoteCertificate, bool checkCertName, bool _ /*isServer*/, string? hostName)
System\Net\CertificateValidationPal.cs (2)
21internal static X509Certificate2? GetRemoteCertificate(SafeDeleteContext? securityContext) => 24internal static X509Certificate2? GetRemoteCertificate(SafeDeleteContext? securityContext, ref X509Chain? chain, X509ChainPolicy? chainPolicy) =>
System\Net\CertificateValidationPal.Unix.cs (4)
16X509Certificate2 remoteCertificate, 27private static X509Certificate2? GetRemoteCertificate( 38X509Certificate2? result = null; 71X509Certificate2 chainCert = new X509Certificate2(certPtr);
System\Net\Security\Pal.Managed\EndpointChannelBindingToken.cs (2)
14using (X509Certificate2? cert = CertificateValidationPal.GetRemoteCertificate(securityContext)) 28private static byte[] GetHashForChannelBinding(X509Certificate2 cert)
System\Net\Security\SslAuthenticationOptions.cs (4)
21X509Certificate2? certificate, 166X509Certificate2? certificateWithKey = sslServerAuthenticationOptions.ServerCertificate as X509Certificate2; 212internal void SetCertificateContextFromCert(X509Certificate2 certificate, bool? noOcspFetch = null)
System\Net\Security\SslStream.Protocol.cs (23)
36private X509Certificate2? _remoteCertificate; 163internal static unsafe X509Certificate2? FindCertificateWithPrivateKey(object instance, bool isServer, X509Certificate certificate) 176X509Certificate2? certEx = MakeEx(certificate); 202X509Certificate2? found = 210X509Certificate2? FindCertWithPrivateKey(bool isServer, ReadOnlySpan<byte> certHash) 216X509Certificate2? cert = null; 237X509Certificate2 toDispose = certs[i]; 258private static X509Certificate2? MakeEx(X509Certificate certificate) 262if (certificate.GetType() == typeof(X509Certificate2)) 264return (X509Certificate2)certificate; 267X509Certificate2? certificateEx = null; 296internal X509Certificate2? SelectClientCertificate() 299X509Certificate2? selectedCert = null; // final selected cert (ensured that it does have private key with it). 322X509Certificate2? remoteCert = null; 395X509Certificate2? certificateEx = null; 559X509Certificate2? selectedCert = SelectClientCertificate(); 647void UpdateCertificateContext(X509Certificate2? cert) 666X509Certificate2? selectedCert = null; 793foreach (X509Certificate2 cert in certificateContext.IntermediateCertificates) 1155X509Certificate2? certificate = CertificateValidationPal.GetRemoteCertificate(_securityContext, ref chain, _sslAuthenticationOptions.CertificateChainPolicy); 1209X509Certificate2? certificate, 1243ref X509Certificate2? remoteCertificateSlot, 1245X509Certificate2? certificate,
System\Net\Security\SslStreamCertificateContext.cs (13)
17public X509Certificate2 TargetCertificate { get; } 22public ReadOnlyCollection<X509Certificate2> IntermediateCertificates { get; } 25public static SslStreamCertificateContext Create(X509Certificate2 target, X509Certificate2Collection? additionalCertificates, bool offline) 30public static SslStreamCertificateContext Create(X509Certificate2 target, X509Certificate2Collection? additionalCertificates, bool offline = false, SslCertificateTrust? trust = null) 36X509Certificate2 target, 47X509Certificate2[] intermediates = Array.Empty<X509Certificate2>(); 48X509Certificate2? root = null; 127intermediates = new X509Certificate2[count]; 150SslStreamCertificateContext ctx = new SslStreamCertificateContext(target, new ReadOnlyCollection<X509Certificate2>(intermediates), trust); 167partial void AddRootCertificate(X509Certificate2? rootCertificate, ref bool transferredOwnership); 175foreach (X509Certificate2 cert in IntermediateCertificates) 187foreach (X509Certificate2 cert in IntermediateCertificates)
System\Net\Security\SslStreamCertificateContext.Linux.cs (10)
39private X509Certificate2[] _privateIntermediateCertificates; 40private X509Certificate2? _rootCertificate; 44private SslStreamCertificateContext(X509Certificate2 target, ReadOnlyCollection<X509Certificate2> intermediates, SslCertificateTrust? trust) 49_privateIntermediateCertificates = new X509Certificate2[intermediates.Count]; 58_privateIntermediateCertificates = Array.Empty<X509Certificate2>(); 115internal static SslStreamCertificateContext Create(X509Certificate2 target) => 125partial void AddRootCertificate(X509Certificate2? rootCertificate, ref bool transferredOwnership) 272X509Certificate2? caCert = _privateIntermediateCertificates.Length > 0 ? _privateIntermediateCertificates[0] : _rootCertificate; 428foreach (X509Certificate2 cert in _privateIntermediateCertificates)
System\Net\Security\TlsContext.cs (1)
24/// when the caller supplied a raw <see cref="System.Security.Cryptography.X509Certificates.X509Certificate2"/>
System\Net\Security\TlsSession.cs (9)
100private X509Certificate2? _externalPendingCert; 129private X509Certificate2? _remoteCertificate; 300public X509Certificate2? GetRemoteCertificate() 790foreach (X509Certificate2 c in certs) 804public X509Certificate2? LocalCertificate 1732X509Certificate2? withKey = SslStream.FindCertificateWithPrivateKey(this, isServer: true, selected); 1879X509Certificate2 certificate = extraStore[preexistingExtraCertsCount]; 1909foreach (X509Certificate2 certificate in intermediates) 1920X509Certificate2 certificate = extraStore[preexistingExtraCertsCount];
System.Security.Cryptography (138)
src\runtime\src\libraries\Common\src\System\Security\Cryptography\Pkcs\Pkcs12CertBag.cs (2)
57internal Pkcs12CertBag(X509Certificate2 cert) 80public X509Certificate2 GetCertificate()
src\runtime\src\libraries\Common\src\System\Security\Cryptography\Pkcs\Pkcs12SafeContents.cs (1)
86public Pkcs12CertBag AddCertificate(X509Certificate2 certificate)
src\runtime\src\libraries\Common\src\System\Security\Cryptography\X509Certificates\Pkcs12LoaderLimits.cs (1)
298/// <seealso cref="X509Certificate2.FriendlyName"/>
src\runtime\src\libraries\Common\src\System\Security\Cryptography\X509Certificates\X509CertificateLoader.cs (17)
36/// <see cref="X509ContentType.Cert" /> by <see cref="X509Certificate2.GetCertContentType(byte[])"/>. 38/// <seealso cref="X509Certificate2.GetCertContentType(string)"/> 39public static partial X509Certificate2 LoadCertificate(ReadOnlySpan<byte> data); 57/// <see cref="X509ContentType.Cert" /> by <see cref="X509Certificate2.GetCertContentType(byte[])"/>. 59/// <seealso cref="X509Certificate2.GetCertContentType(string)"/> 60public static partial X509Certificate2 LoadCertificate(byte[] data); 81/// <see cref="X509ContentType.Cert" /> by <see cref="X509Certificate2.GetCertContentType(string)"/>. 83/// <seealso cref="X509Certificate2.GetCertContentType(string)"/> 84public static partial X509Certificate2 LoadCertificateFromFile(string path); 122/// certificate where <see cref="X509Certificate2.HasPrivateKey" /> is 129public static X509Certificate2 LoadPkcs12( 181/// certificate where <see cref="X509Certificate2.HasPrivateKey" /> is 188public static X509Certificate2 LoadPkcs12( 252/// certificate where <see cref="X509Certificate2.HasPrivateKey" /> is 259public static X509Certificate2 LoadPkcs12FromFile( 314/// certificate where <see cref="X509Certificate2.HasPrivateKey" /> is 321public static X509Certificate2 LoadPkcs12FromFile(
src\runtime\src\libraries\Common\src\System\Security\Cryptography\X509Certificates\X509CertificateLoader.Pkcs12.cs (1)
883internal partial X509Certificate2 ToCertificate();
System\Security\Cryptography\X509Certificates\CertificateExtensionsCommon.cs (4)
11this X509Certificate2 certificate, 12Predicate<X509Certificate2>? matchesConstraints = null) 47this X509Certificate2 certificate, 48Predicate<X509Certificate2>? matchesConstraints = null)
System\Security\Cryptography\X509Certificates\CertificateRequest.cs (23)
127/// The RSA signature padding to apply if self-signing or being signed with an <see cref="X509Certificate2" />. 160/// The RSA signature padding to apply if self-signing or being signed with an <see cref="X509Certificate2" />. 667/// An <see cref="X509Certificate2"/> with the specified values. The returned object will 668/// assert <see cref="X509Certificate2.HasPrivateKey" />. 679public unsafe X509Certificate2 CreateSelfSigned(DateTimeOffset notBefore, DateTimeOffset notAfter) 691using (X509Certificate2 certificate = Create( 734/// An <see cref="X509Certificate2"/> with the specified values. The returned object will 735/// not assert <see cref="X509Certificate2.HasPrivateKey" />. 739/// The <see cref="X509Certificate2.HasPrivateKey"/> value for <paramref name="issuerCertificate"/> is false. 762public X509Certificate2 Create( 763X509Certificate2 issuerCertificate, 792/// An <see cref="X509Certificate2"/> with the specified values. The returned object will 793/// not assert <see cref="X509Certificate2.HasPrivateKey" />. 797/// The <see cref="X509Certificate2.HasPrivateKey"/> value for <paramref name="issuerCertificate"/> is false. 820public X509Certificate2 Create( 821X509Certificate2 issuerCertificate, 947/// An <see cref="X509Certificate2"/> with the specified values. The returned object will 948/// not assert <see cref="X509Certificate2.HasPrivateKey" />. 961public X509Certificate2 Create( 992/// An <see cref="X509Certificate2"/> with the specified values. The returned object will 993/// not assert <see cref="X509Certificate2.HasPrivateKey" />. 1006public X509Certificate2 Create( 1102X509Certificate2 ret = writer.Encode(X509CertificateLoader.LoadCertificate);
System\Security\Cryptography\X509Certificates\CertificateRequest.Load.cs (1)
260X509Certificate2.CreateCustomExtensionIfAny(extAsn.ExtnId);
System\Security\Cryptography\X509Certificates\CertificateRevocationListBuilder.Build.cs (2)
110X509Certificate2 issuerCertificate, 127X509Certificate2 issuerCertificate,
System\Security\Cryptography\X509Certificates\CertificateRevocationListBuilder.cs (1)
64X509Certificate2 certificate,
System\Security\Cryptography\X509Certificates\ChainPal.Windows.cs (1)
77X509Certificate2 certificate = new X509Certificate2((IntPtr)(pChainElement->pCertContext));
System\Security\Cryptography\X509Certificates\DSACertificateExtensions.cs (5)
11/// public and private keys of a <see cref="X509Certificate2" />. 20public static DSA? GetDSAPublicKey(this X509Certificate2 certificate) 28public static DSA? GetDSAPrivateKey(this X509Certificate2 certificate) 33public static X509Certificate2 CopyWithPrivateKey(this X509Certificate2 certificate, DSA privateKey)
System\Security\Cryptography\X509Certificates\ECDsaCertificateExtensions.cs (6)
10/// public and private keys of a <see cref="X509Certificate2" />. 17public static ECDsa? GetECDsaPublicKey(this X509Certificate2 certificate) 25public static ECDsa? GetECDsaPrivateKey(this X509Certificate2 certificate) 30public static X509Certificate2 CopyWithPrivateKey(this X509Certificate2 certificate, ECDsa privateKey) 53private static bool HasECDsaKeyUsage(X509Certificate2 certificate)
System\Security\Cryptography\X509Certificates\RSACertificateExtensions.cs (5)
10/// public and private keys of a <see cref="X509Certificate2" />. 17public static RSA? GetRSAPublicKey(this X509Certificate2 certificate) 25public static RSA? GetRSAPrivateKey(this X509Certificate2 certificate) 30public static X509Certificate2 CopyWithPrivateKey(this X509Certificate2 certificate, RSA privateKey)
System\Security\Cryptography\X509Certificates\StorePal.cs (1)
49foreach (X509Certificate2 cert in coll)
System\Security\Cryptography\X509Certificates\StorePal.Windows.cs (1)
45X509Certificate2 cert = new X509Certificate2(pCertContext.DangerousGetHandle());
System\Security\Cryptography\X509Certificates\X509AuthorityKeyIdentifierExtension.cs (3)
105/// Gets the <see cref="X509Certificate2.IssuerName"/> value from this certificate's 109/// The <see cref="X509Certificate2.IssuerName"/> value from this certificate's 461X509Certificate2 certificate,
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\X509Certificates\X509Certificate2Collection.cs (14)
15public class X509Certificate2Collection : X509CertificateCollection, IEnumerable<X509Certificate2> 21public X509Certificate2Collection(X509Certificate2 certificate) 26public X509Certificate2Collection(X509Certificate2[] certificates) 36public new X509Certificate2 this[int index] 40return (X509Certificate2)(base[index]); 48public int Add(X509Certificate2 certificate) 55public void AddRange(X509Certificate2[] certificates) 99public bool Contains(X509Certificate2 certificate) 202IEnumerator<X509Certificate2> IEnumerable<X509Certificate2>.GetEnumerator() => GetEnumerator(); 328public void Insert(int index, X509Certificate2 certificate) 335public void Remove(X509Certificate2 certificate) 342public void RemoveRange(X509Certificate2[] certificates) 787foreach (X509Certificate2 cert in this)
System\Security\Cryptography\X509Certificates\X509Certificate2Enumerator.cs (3)
10public sealed class X509Certificate2Enumerator : IEnumerator, IEnumerator<X509Certificate2> 21public X509Certificate2 Current 23get { return (X509Certificate2)_enumerator.Current!; }
System\Security\Cryptography\X509Certificates\X509CertificateLoader.netcore.cs (4)
11public static partial X509Certificate2 LoadCertificate(byte[] data) 18public static partial X509Certificate2 LoadCertificate(ReadOnlySpan<byte> data) 30public static partial X509Certificate2 LoadCertificateFromFile(string path) 138internal partial X509Certificate2 ToCertificate()
System\Security\Cryptography\X509Certificates\X509Chain.cs (3)
89public bool Build(X509Certificate2 certificate) 94internal bool Build(X509Certificate2 certificate, bool throwOnException) 108foreach (X509Certificate2 customCertificate in _chainPolicy.CustomTrustStore)
System\Security\Cryptography\X509Certificates\X509ChainElement.cs (2)
16internal X509ChainElement(X509Certificate2 certificate, X509ChainStatus[] chainElementStatus, string information) 23public X509Certificate2 Certificate { get; }
System\Security\Cryptography\X509Certificates\X509Store.cs (4)
126public void Add(X509Certificate2 certificate) 146foreach (X509Certificate2 certificate in certificates) 164public void Remove(X509Certificate2 certificate) 184foreach (X509Certificate2 certificate in certificates)
System.Security.Cryptography.Pkcs (98)
Internal\Cryptography\DecryptorPal.cs (1)
35X509Certificate2? cert,
Internal\Cryptography\Pal\AnyOS\ManagedPal.cs (4)
33public override byte[] GetSubjectKeyIdentifier(X509Certificate2 certificate) 67public override T? GetPrivateKeyForSigning<T>(X509Certificate2 certificate, bool silent) where T : class 72public override T? GetPrivateKeyForDecryption<T>(X509Certificate2 certificate, bool silent) where T : class 77private static T? GetPrivateKey<T>(X509Certificate2 certificate) where T : class, IDisposable
Internal\Cryptography\Pal\AnyOS\ManagedPal.Decrypt.cs (1)
34X509Certificate2? cert,
Internal\Cryptography\Pal\AnyOS\ManagedPal.Kem.cs (1)
164internal byte[]? DecryptCek(X509Certificate2 cert, out Exception? exception)
Internal\Cryptography\Pal\AnyOS\ManagedPal.KeyTrans.cs (2)
36internal byte[]? DecryptCek(X509Certificate2? cert, RSA? privateKey, out Exception? exception) 65X509Certificate2? cert,
Internal\Cryptography\Pal\Windows\DecryptorPalWindows.Decrypt.cs (3)
21X509Certificate2? cert, 126private static CryptographicException? TryGetKeySpecForCertificate(X509Certificate2 cert, out CryptKeySpec keySpec) 229X509Certificate2? originatorCert = candidateCerts.TryFindMatchingCertificate(originatorId);
Internal\Cryptography\Pal\Windows\HelpersWindows.cs (2)
134X509Certificate2 cert = X509CertificateLoader.LoadCertificate(encodedCertificate); 149public static SafeCertContextHandle CreateCertContextHandle(this X509Certificate2 cert)
Internal\Cryptography\Pal\Windows\PkcsPalWindows.cs (5)
83public sealed override byte[] GetSubjectKeyIdentifier(X509Certificate2 certificate) 92public override T? GetPrivateKeyForSigning<T>(X509Certificate2 certificate, bool silent) where T : class 97public override T? GetPrivateKeyForDecryption<T>(X509Certificate2 certificate, bool silent) where T : class 102private static T? GetPrivateKey<T>(X509Certificate2 certificate, bool silent, bool preferNCrypt) where T : class, IDisposable 191X509Certificate2 cert,
Internal\Cryptography\PkcsHelpers.cs (5)
135X509Certificate2 originalCert = recipient.Certificate; 136X509Certificate2 certCopy = new X509Certificate2(originalCert.Handle); 235public static X509Certificate2? TryFindMatchingCertificate(this X509Certificate2Collection certs, SubjectIdentifier recipientIdentifier) 250foreach (X509Certificate2 candidate in certs) 263foreach (X509Certificate2 cert in certs)
Internal\Cryptography\PkcsPal.cs (3)
74public abstract byte[] GetSubjectKeyIdentifier(X509Certificate2 certificate); 79public abstract T? GetPrivateKeyForSigning<T>(X509Certificate2 certificate, bool silent) where T : class, IDisposable; 84public abstract T? GetPrivateKeyForDecryption<T>(X509Certificate2 certificate, bool silent) where T : class, IDisposable;
src\runtime\src\libraries\Common\src\System\Security\Cryptography\Pkcs\Pkcs12CertBag.cs (2)
57internal Pkcs12CertBag(X509Certificate2 cert) 80public X509Certificate2 GetCertificate()
src\runtime\src\libraries\Common\src\System\Security\Cryptography\Pkcs\Pkcs12SafeContents.cs (1)
86public Pkcs12CertBag AddCertificate(X509Certificate2 certificate)
System\Security\Cryptography\Pkcs\CmsRecipient.cs (11)
14public CmsRecipient(X509Certificate2 certificate) 24CmsRecipient(X509Certificate2 certificate, RSAEncryptionPadding rsaEncryptionPadding) 38CmsRecipient(SubjectIdentifierType recipientIdentifierType, X509Certificate2 certificate, RSAEncryptionPadding rsaEncryptionPadding) 47public CmsRecipient(SubjectIdentifierType recipientIdentifierType, X509Certificate2 certificate) 75public X509Certificate2 Certificate { get; } 89/// absent user keying material. To omit the field, use <see cref="CmsRecipient(X509Certificate2)"/>. 92X509Certificate2 certificate, 109/// <see cref="CmsRecipient(SubjectIdentifierType, X509Certificate2)"/>. 113X509Certificate2 certificate, 119X509Certificate2 certificate, 134private static void ValidateRSACertificate(X509Certificate2 certificate)
System\Security\Cryptography\Pkcs\CmsSignature.cs (5)
48X509Certificate2 certificate); 57X509Certificate2 certificate, 126X509Certificate2 certificate, 150X509Certificate2 certificate, 152Func<X509Certificate2, T?> getCertPublicKey,
System\Security\Cryptography\Pkcs\CmsSignature.DSA.cs (2)
52X509Certificate2 certificate) 111X509Certificate2 certificate,
System\Security\Cryptography\Pkcs\CmsSignature.ECDsa.cs (2)
54X509Certificate2 certificate) 116X509Certificate2 certificate,
System\Security\Cryptography\Pkcs\CmsSignature.MLDsa.cs (2)
45X509Certificate2 certificate) 83X509Certificate2 certificate,
System\Security\Cryptography\Pkcs\CmsSignature.RSA.cs (4)
55X509Certificate2 certificate) 108X509Certificate2 certificate, 216X509Certificate2 certificate, 339X509Certificate2 certificate,
System\Security\Cryptography\Pkcs\CmsSignature.SlhDsa.cs (2)
56X509Certificate2 certificate) 97X509Certificate2 certificate,
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\Pkcs\EnvelopedCms.cs (1)
254X509Certificate2? cert = certs.TryFindMatchingCertificate(recipientInfo.RecipientIdentifier);
System\Security\Cryptography\Pkcs\Rfc3161TimestampToken.cs (13)
42private X509Certificate2? GetSignerCertificate(X509Certificate2Collection? extraCandidates) 45X509Certificate2? signerCert = _signerInfo.Certificate; 63foreach (X509Certificate2 candidate in extraCandidates) 76[NotNullWhen(true)] out X509Certificate2? signerCertificate, 81X509Certificate2? cert = GetSignerCertificate(extraCandidates); 100[NotNullWhen(true)] out X509Certificate2? signerCertificate, 105X509Certificate2? cert = GetSignerCertificate(extraCandidates); 124[NotNullWhen(true)] out X509Certificate2? signerCertificate, 131X509Certificate2? cert = GetSignerCertificate(extraCandidates); 153[NotNullWhen(true)] out X509Certificate2? signerCertificate, 198X509Certificate2 tsaCertificate, 361X509Certificate2? signerCert = signer.Certificate; 478private static bool CertMatchesIds(X509Certificate2 signerCert, in EssCertId? certId, in EssCertIdV2? certId2)
System\Security\Cryptography\Pkcs\SignedCms.cs (5)
551var certs = new HashSet<X509Certificate2>(Certificates.OfType<X509Certificate2>()); 555X509Certificate2 candidate = newCerts[i]; 658void AddCertificate(X509Certificate2 certificate) 697void RemoveCertificate(X509Certificate2 certificate)
System\Security\Cryptography\Pkcs\SignerInfo.cs (10)
33private X509Certificate2? _signerCertificate; 74public X509Certificate2? Certificate => 456X509Certificate2? certificate = Certificate; 502private X509Certificate2? FindSignerCertificate() 507private static X509Certificate2? FindSignerCertificate( 517X509Certificate2? match = null; 526foreach (X509Certificate2 cert in filtered) 552foreach (X509Certificate2 cert in filtered) 839X509Certificate2 certificate, 913X509Certificate2 certificate,
System\Security\Cryptography\Pkcs\SubjectIdentifier.cs (1)
106bool MatchesCertificate(X509Certificate2 certificate)
System.Security.Cryptography.X509Certificates (1)
System.Security.Cryptography.X509Certificates.cs (1)
18[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.Cryptography.X509Certificates.X509Certificate2))]
System.Security.Cryptography.Xml (13)
System\Security\Cryptography\Xml\EncryptedXml.cs (2)
458foreach (X509Certificate2 certificate in collection) 553public EncryptedData Encrypt(XmlElement inputElement, X509Certificate2 certificate)
System\Security\Cryptography\Xml\KeyInfoX509Data.cs (3)
37X509Certificate2 certificate = rgbCert is null ? 54X509Certificate2 certificate = new X509Certificate2(cert); 116X509Certificate2 x509 = new X509Certificate2(certificate);
System\Security\Cryptography\Xml\SignedXml.cs (3)
327public bool CheckSignature(X509Certificate2 certificate, bool verifySignatureOnly) 532X509Certificate2? certificate = (X509Certificate2?)_x509Enum.Current;
System\Security\Cryptography\Xml\SignedXmlDebugLog.cs (2)
216X509Certificate2? certificate2 = key as X509Certificate2;
System\Security\Cryptography\Xml\Utils.cs (3)
633foreach (X509Certificate2 certificate in keyInfoX509Data.Certificates) 745X509Certificate2 certificate = elements[0].Certificate; 751internal static AsymmetricAlgorithm? GetAnyPublicKey(X509Certificate2 certificate)
System.ServiceModel.Http (11)
System\ServiceModel\Channels\HttpsChannelFactory.cs (4)
23private Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> _remoteCertificateValidationCallback; 212private bool RemoteCertificateValidationCallback(HttpRequestMessage sender, X509Certificate2 certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) 242if (certificate is not X509Certificate2 certificate2) 294private static void ValidateClientCertificate(X509Certificate2 certificate)
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)
ServiceModel\BasicHttpsBindingTest.cs (1)
75var certificate = new X509Certificate2(certificateBytes);
System.ServiceModel.NetFramingBase (2)
System\ServiceModel\Channels\SslStreamSecurityUpgradeProvider.cs (2)
74public X509Certificate2 ServerCertificate { get; private set; } 406X509Certificate2 certificate2 = new X509Certificate2(certificate);
System.ServiceModel.Primitives (64)
System\IdentityModel\Claims\X509CertificateClaimSet.cs (8)
17private X509Certificate2 _certificate; 26public X509CertificateClaimSet(X509Certificate2 certificate) 31internal X509CertificateClaimSet(X509Certificate2 certificate, bool clone) 136public X509Certificate2 X509Certificate 319private static string[] GetDnsFromExtensions(X509Certificate2 cert) 526private X509Certificate2 _certificate; 531public X509Identity(X509Certificate2 certificate) 542internal X509Identity(X509Certificate2 certificate, bool clone, bool disposable)
System\IdentityModel\SecurityUtils.cs (4)
211internal static string GetCertificateId(X509Certificate2 certificate) 218internal static void AppendCertificateIdentityName(StringBuilder str, X509Certificate2 certificate) 243internal static bool TryCreateX509CertificateFromRawData(byte[] rawData, out X509Certificate2 certificate) 308internal static void ResetCertificate(X509Certificate2 certificate)
System\IdentityModel\Selectors\X509CertificateValidator.cs (7)
93public abstract void Validate(X509Certificate2 certificate); 97public override void Validate(X509Certificate2 certificate) 108public override void Validate(X509Certificate2 certificate) 122private static bool StoreContainsCertificate(StoreName storeName, X509Certificate2 certificate) 139internal bool TryValidate(X509Certificate2 certificate, out Exception exception) 199public override void Validate(X509Certificate2 certificate) 257public override void Validate(X509Certificate2 certificate)
System\IdentityModel\Selectors\X509SecurityTokenProvider.cs (3)
15private X509Certificate2 _certificate; 18public X509SecurityTokenProvider(X509Certificate2 certificate) : this(certificate, true) { } 20internal X509SecurityTokenProvider(X509Certificate2 certificate, bool clone)
System\IdentityModel\Tokens\X509AsymmetricSecurityKey.cs (2)
15private X509Certificate2 _certificate; 21public X509AsymmetricSecurityKey(X509Certificate2 certificate)
System\IdentityModel\Tokens\X509IssuerSerialKeyIdentifierClause.cs (2)
33public X509IssuerSerialKeyIdentifierClause(X509Certificate2 certificate) 58public bool Matches(X509Certificate2 certificate)
System\IdentityModel\Tokens\X509RawDataKeyIdentifierClause.cs (3)
13private X509Certificate2 _certificate; 16public X509RawDataKeyIdentifierClause(X509Certificate2 certificate) 67public bool Matches(X509Certificate2 certificate)
System\IdentityModel\Tokens\X509SecurityToken.cs (8)
16private X509Certificate2 _certificate; 23public X509SecurityToken(X509Certificate2 certificate) 28public X509SecurityToken(X509Certificate2 certificate, string id) 33internal X509SecurityToken(X509Certificate2 certificate, bool clone) 38internal X509SecurityToken(X509Certificate2 certificate, bool clone, bool disposable) 43internal X509SecurityToken(X509Certificate2 certificate, string id, bool clone) 48internal X509SecurityToken(X509Certificate2 certificate, string id, bool clone, bool disposable) 111public X509Certificate2 Certificate
System\IdentityModel\Tokens\X509SubjectKeyIdentifierClause.cs (4)
26private static byte[] GetSkiRawData(X509Certificate2 certificate) 50public bool Matches(X509Certificate2 certificate) 63public static bool TryCreateFrom(X509Certificate2 certificate, out X509SubjectKeyIdentifierClause keyIdentifierClause) 75public static bool CanCreateFrom(X509Certificate2 certificate)
System\IdentityModel\Tokens\X509ThumbprintKeyIdentifierClause.cs (3)
13public X509ThumbprintKeyIdentifierClause(X509Certificate2 certificate) 28private static byte[] GetHash(X509Certificate2 certificate) 43public bool Matches(X509Certificate2 certificate)
System\IdentityModel\Tokens\XmlDsigSep2000.cs (1)
137X509Certificate2 certificate = null;
System\ServiceModel\RsaEndpointIdentity.cs (1)
21public RsaEndpointIdentity(X509Certificate2 certificate)
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\Security\WSSecurityJan2004.cs (1)
543X509Certificate2 certificate;
System\ServiceModel\Security\X509CertificateInitiatorClientCredential.cs (2)
16private X509Certificate2 _certificate; 41public X509Certificate2 Certificate
System\ServiceModel\Security\X509CertificateRecipientClientCredential.cs (6)
19private X509Certificate2 _defaultCertificate; 25ScopedCertificates = new Dictionary<Uri, X509Certificate2>(); 37ScopedCertificates = new Dictionary<Uri, X509Certificate2>(); 45public X509Certificate2 DefaultCertificate 58public Dictionary<Uri, X509Certificate2> ScopedCertificates { get; } 114X509Certificate2 certificate = SecurityUtils.GetCertificateFromStore(storeName, storeLocation, findType, findValue, null);
System\ServiceModel\X509CertificateEndpointIdentity.cs (3)
14public X509CertificateEndpointIdentity(X509Certificate2 certificate) 26public X509CertificateEndpointIdentity(X509Certificate2 primaryCertificate, X509Certificate2Collection supportingCertificates) 65X509Certificate2 certificate = new X509Certificate2(Convert.FromBase64String(reader.ReadElementString()));
System.ServiceModel.Primitives.Tests (5)
ServiceModel\X509CertificateEndpointIdentityTest.cs (5)
21X509Certificate2 certificate = CreateTestCertificate(); 47X509Certificate2 deserializedCert = Assert.Single(deserializedIdentity.Certificates); 57X509Certificate2 primaryCert = CreateTestCertificate(); 58X509Certificate2 supportingCert = CreateTestCertificate(); 91private static X509Certificate2 CreateTestCertificate()
System.Windows.Extensions (6)
System\Security\Cryptography\X509Certificates\X509Certificate2UI.cs (3)
21public static void DisplayCertificate(X509Certificate2 certificate) 28public static void DisplayCertificate(X509Certificate2 certificate, IntPtr hwndParent) 45private static unsafe void DisplayX509Certificate(X509Certificate2 certificate, IntPtr hwndParent)
System\Security\Cryptography\X509Certificates\X509Utils.cs (3)
14internal static SafeCertContextHandle DuplicateCertificateContext(X509Certificate2 certificate) 43foreach (X509Certificate2 x509 in collection) 67X509Certificate2 certificate = new X509Certificate2(pEnumContext);