10 if (candidateCerts.
Count == 0)
15 x509Certificate2Collection.
AddRange(candidateCerts);
21 if (candidateCerts.
Count == 0)
31 System.
Net.
NetEventSource.
Info(candidateCerts, $
"Skipping current X509Certificate2 {candidateCert.GetHashCode()} since it doesn't have private key. Certificate Subject: {candidateCert.Subject}, Thumbprint: {candidateCert.Thumbprint}.",
"GetEligibleClientCertificate");
38 System.
Net.
NetEventSource.
Info(candidateCerts, $
"Choosing X509Certificate2 {candidateCert.GetHashCode()} as the Client Certificate. Certificate Subject: {candidateCert.Subject}, Thumbprint: {candidateCert.Thumbprint}.",
"GetEligibleClientCertificate");
58 System.
Net.
NetEventSource.
Info(cert, $
"For Certificate {cert.GetHashCode()} - current X509EnhancedKeyUsageExtension {x509EnhancedKeyUsageExtension.GetHashCode()} is not valid for Client Authentication.",
"IsValidClientCertificate");
66 System.
Net.
NetEventSource.
Info(cert, $
"For Certificate {cert.GetHashCode()} - current X509KeyUsageExtension {x509KeyUsageExtension.GetHashCode()} is not valid for Digital Signature.",
"IsValidClientCertificate");
80 if (current.
Value ==
"1.3.6.1.5.5.7.3.2")
static readonly System.Net.NetEventSource Log
static void Info(object thisOrContextObject, FormattableString formattableString=null, [CallerMemberName] string memberName=null)
static X509Certificate2 GetEligibleClientCertificate()
static X509Certificate2 GetEligibleClientCertificate(X509Certificate2Collection candidateCerts)
static X509Certificate2 GetEligibleClientCertificate(X509CertificateCollection candidateCerts)
static bool IsValidClientCertificate(X509Certificate2 cert)
static bool IsValidForClientAuthenticationEKU(X509EnhancedKeyUsageExtension eku)
static bool IsValidForDigitalSignatureUsage(X509KeyUsageExtension ku)
OidEnumerator GetEnumerator()
void AddRange(X509Certificate2[] certificates)
OidCollection EnhancedKeyUsages
X509KeyUsageFlags KeyUsages
X509Certificate2Collection Certificates
void Open(OpenFlags flags)