Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ IsValidClientCertificate()

static bool System.Net.Security.CertificateHelper.IsValidClientCertificate ( X509Certificate2 cert)
inlinestaticprivate

Definition at line 50 of file CertificateHelper.cs.

51 {
52 foreach (X509Extension extension in cert.Extensions)
53 {
54 if (extension is X509EnhancedKeyUsageExtension x509EnhancedKeyUsageExtension && !IsValidForClientAuthenticationEKU(x509EnhancedKeyUsageExtension))
55 {
56 if (System.Net.NetEventSource.Log.IsEnabled())
57 {
58 System.Net.NetEventSource.Info(cert, $"For Certificate {cert.GetHashCode()} - current X509EnhancedKeyUsageExtension {x509EnhancedKeyUsageExtension.GetHashCode()} is not valid for Client Authentication.", "IsValidClientCertificate");
59 }
60 return false;
61 }
62 if (extension is X509KeyUsageExtension x509KeyUsageExtension && !IsValidForDigitalSignatureUsage(x509KeyUsageExtension))
63 {
64 if (System.Net.NetEventSource.Log.IsEnabled())
65 {
66 System.Net.NetEventSource.Info(cert, $"For Certificate {cert.GetHashCode()} - current X509KeyUsageExtension {x509KeyUsageExtension.GetHashCode()} is not valid for Digital Signature.", "IsValidClientCertificate");
67 }
68 return false;
69 }
70 }
71 return true;
72 }
static readonly System.Net.NetEventSource Log
static void Info(object thisOrContextObject, FormattableString formattableString=null, [CallerMemberName] string memberName=null)
static bool IsValidForClientAuthenticationEKU(X509EnhancedKeyUsageExtension eku)
static bool IsValidForDigitalSignatureUsage(X509KeyUsageExtension ku)

References System.Net.NetEventSource.Info(), System.Net.Security.CertificateHelper.IsValidForClientAuthenticationEKU(), System.Net.Security.CertificateHelper.IsValidForDigitalSignatureUsage(), and System.Net.NetEventSource.Log.

Referenced by System.Net.Security.CertificateHelper.GetEligibleClientCertificate().