Saya mendapat solusi untuk ini dan berpikir untuk mempostingnya di sini yang dapat membantu orang lain yang menghadapi masalah serupa.
Itu tidak bekerja dengan file .pem. Saya telah mengonversinya menjadi file .pfx menggunakan perintah di bawah ini dan itu mulai berfungsi dengan baik.
openssl pkcs12 -inkey C:\Certs\client-key.pem -in C:\Certs\client-cert.pem -export -out C:\Certs\client-cert.pfx
Referensi:Dukungan Otentikasi Sertifikat
EDIT
Alih-alih membuat file pfx fisik, saya dapat menggabungkan dua file pem dan membuatnya berfungsi. Cuplikan kode diberikan di bawah ini untuk seseorang sebagai referensi di masa mendatang.
public X509Certificate2 GetCombinedCertificateAndKey(string certificatePath, string privateKeyPath)
{
using var publicKey = new X509Certificate2(certificatePath);
var privateKeyText = System.IO.File.ReadAllText(privateKeyPath);
var privateKeyBlocks = privateKeyText.Split("-", StringSplitOptions.RemoveEmptyEntries);
var privateKeyBytes = Convert.FromBase64String(privateKeyBlocks[1]);
using var rsa = RSA.Create();
if (privateKeyBlocks[0] == "BEGIN PRIVATE KEY")
{
rsa.ImportPkcs8PrivateKey(privateKeyBytes, out _);
}
else if (privateKeyBlocks[0] == "BEGIN RSA PRIVATE KEY")
{
rsa.ImportRSAPrivateKey(privateKeyBytes, out _);
}
var keyPair = publicKey.CopyWithPrivateKey(rsa);
var Certificate = new X509Certificate2(keyPair.Export(X509ContentType.Pfx));
return Certificate;
}