Skip to content

Commit e3b5b88

Browse files
committed
feat: update certificate loading logic for .NET 9 compatibility
1 parent fc1eb5b commit e3b5b88

File tree

3 files changed

+33
-0
lines changed

3 files changed

+33
-0
lines changed

tests/KubernetesClient.Tests/AuthTests.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,10 +188,18 @@ public void Cert()
188188
}
189189
else
190190
{
191+
#if NET9_0_OR_GREATER
192+
serverCertificate = X509CertificateLoader.LoadPkcs12(Convert.FromBase64String(serverCertificateData), "");
193+
#else
191194
serverCertificate = new X509Certificate2(Convert.FromBase64String(serverCertificateData), "");
195+
#endif
192196
}
193197

198+
#if NET9_0_OR_GREATER
199+
var clientCertificate = X509CertificateLoader.LoadPkcs12(Convert.FromBase64String(clientCertificateData), "");
200+
#else
194201
var clientCertificate = new X509Certificate2(Convert.FromBase64String(clientCertificateData), "");
202+
#endif
195203

196204
var clientCertificateValidationCalled = false;
197205

@@ -294,10 +302,18 @@ public void ExternalCertificate()
294302
}
295303
else
296304
{
305+
#if NET9_0_OR_GREATER
306+
serverCertificate = X509CertificateLoader.LoadPkcs12(serverCertificateData, "");
307+
#else
297308
serverCertificate = new X509Certificate2(serverCertificateData, "");
309+
#endif
298310
}
299311

312+
#if NET9_0_OR_GREATER
313+
var clientCertificate = X509CertificateLoader.LoadPkcs12(clientCertificateData, "");
314+
#else
300315
var clientCertificate = new X509Certificate2(clientCertificateData, "");
316+
#endif
301317

302318
var clientCertificateValidationCalled = false;
303319

tests/KubernetesClient.Tests/CertUtilsTests.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,13 @@ public void LoadPemWithMultiCert()
8585
{
8686
var certCollection = CertUtils.LoadPemFileCert("assets/ca-bundle.crt");
8787

88+
#if NET9_0_OR_GREATER
89+
using var intermediateCert = X509CertificateLoader.LoadCertificateFromFile("assets/ca-bundle-intermediate.crt");
90+
using var rootCert = X509CertificateLoader.LoadCertificateFromFile("assets/ca-bundle-root.crt");
91+
#else
8892
using var intermediateCert = new X509Certificate2("assets/ca-bundle-intermediate.crt");
8993
using var rootCert = new X509Certificate2("assets/ca-bundle-root.crt");
94+
#endif
9095

9196
Assert.Equal(2, certCollection.Count);
9297

tests/KubernetesClient.Tests/CertificateValidationTests.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,11 @@ private static X509Certificate2 CreateServerCert(X509Certificate2 issuerCA, stri
6868
public void ValidCert()
6969
{
7070
var caCert = CertUtils.LoadPemFileCert("assets/ca.crt");
71+
#if NET9_0_OR_GREATER
72+
var testCert = X509CertificateLoader.LoadCertificateFromFile("assets/ca.crt");
73+
#else
7174
var testCert = new X509Certificate2("assets/ca.crt");
75+
#endif
7276
var chain = new X509Chain();
7377
var errors = SslPolicyErrors.RemoteCertificateChainErrors;
7478

@@ -81,7 +85,11 @@ public void ValidCert()
8185
public void InvalidCert()
8286
{
8387
var caCert = CertUtils.LoadPemFileCert("assets/ca.crt");
88+
#if NET9_0_OR_GREATER
89+
var testCert = X509CertificateLoader.LoadCertificateFromFile("assets/ca2.crt");
90+
#else
8491
var testCert = new X509Certificate2("assets/ca2.crt");
92+
#endif
8593
var chain = new X509Chain();
8694
var errors = SslPolicyErrors.RemoteCertificateChainErrors;
8795

@@ -110,7 +118,11 @@ public void ValidBundleCert()
110118
public void InvalidBundleCert()
111119
{
112120
var caCert = CertUtils.LoadPemFileCert("assets/ca-bundle.crt");
121+
#if NET9_0_OR_GREATER
122+
var testCert = X509CertificateLoader.LoadCertificateFromFile("assets/ca2.crt");
123+
#else
113124
var testCert = new X509Certificate2("assets/ca2.crt");
125+
#endif
114126
var chain = new X509Chain();
115127
var errors = SslPolicyErrors.RemoteCertificateChainErrors;
116128

0 commit comments

Comments
 (0)